* This adds some checking to the 'dlfcn' DSO_METHOD that at least lets
[openssl.git] / crypto / stack / stack.c
index d2c6400..2eb531f 100644 (file)
@@ -109,6 +109,11 @@ err:
        return(NULL);
        }
 
+STACK *sk_new_null(void)
+       {
+       return sk_new((int (*)(const char * const *, const char * const *))NULL);
+       }
+
 STACK *sk_new(int (*c)(const char * const *, const char * const *))
        {
        STACK *ret;
@@ -310,18 +315,18 @@ char *sk_set(STACK *st, int i, char *value)
 }
 
 void sk_sort(STACK *st)
-    {
-    if (!st->sorted)
        {
-       int (*comp_func)(const void *,const void *);
-
-       /* same comment as in sk_find ... previously st->comp was declared
-        * as a (void*,void*) callback type, but this made the population
-        * of the callback pointer illogical - our callbacks compare
-        * type** with type**, so we leave the casting until absolutely
-        * necessary (ie. "now"). */
-       comp_func=(int (*)(const void *,const void *))(st->comp);
-       qsort(st->data,st->num,sizeof(char *), comp_func);
-       st->sorted=1;
+       if (!st->sorted)
+               {
+               int (*comp_func)(const void *,const void *);
+
+               /* same comment as in sk_find ... previously st->comp was declared
+                * as a (void*,void*) callback type, but this made the population
+                * of the callback pointer illogical - our callbacks compare
+                * type** with type**, so we leave the casting until absolutely
+                * necessary (ie. "now"). */
+               comp_func=(int (*)(const void *,const void *))(st->comp);
+               qsort(st->data,st->num,sizeof(char *), comp_func);
+               st->sorted=1;
+               }
        }
-    }