Back out safestack.h change for now: seems to break some things.
[openssl.git] / crypto / stack / stack.c
index 821b6caca5227ff249b8dc4859e9d4baaa0a3af8..378bd7c7968c432dd609f207d0cb646b293dca1d 100644 (file)
@@ -73,7 +73,7 @@
 #undef MIN_NODES
 #define MIN_NODES      4
 
-const char *STACK_version="Stack" OPENSSL_VERSION_PTEXT;
+const char STACK_version[]="Stack" OPENSSL_VERSION_PTEXT;
 
 #include <errno.h>
 
@@ -192,8 +192,7 @@ char *sk_delete(STACK *st, int loc)
        char *ret;
        int i,j;
 
-       if ((st == NULL) || (st->num == 0) || (loc < 0)
-                                        || (loc >= st->num)) return(NULL);
+       if(!st || (loc < 0) || (loc >= st->num)) return NULL;
 
        ret=st->data[loc];
        if (loc != st->num-1)
@@ -313,7 +312,7 @@ char *sk_value(const STACK *st, int i)
 
 char *sk_set(STACK *st, int i, char *value)
 {
-       if(st == NULL) return NULL;
+       if(!st || (i < 0) || (i >= st->num)) return NULL;
        return (st->data[i] = value);
 }
 
@@ -333,3 +332,10 @@ void sk_sort(STACK *st)
                st->sorted=1;
                }
        }
+
+int sk_is_sorted(const STACK *st)
+       {
+       if (!st)
+               return 1;
+       return st->sorted;
+       }