aboutsummaryrefslogtreecommitdiff
path: root/crypto/openssl/crypto/stack/stack.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssl/crypto/stack/stack.c')
-rw-r--r--crypto/openssl/crypto/stack/stack.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/crypto/openssl/crypto/stack/stack.c b/crypto/openssl/crypto/stack/stack.c
index 2496f28a8c01..c7173eb6ab21 100644
--- a/crypto/openssl/crypto/stack/stack.c
+++ b/crypto/openssl/crypto/stack/stack.c
@@ -191,8 +191,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)
@@ -306,13 +305,13 @@ int sk_num(const STACK *st)
char *sk_value(const STACK *st, int i)
{
- if(st == NULL) return NULL;
+ if(!st || (i < 0) || (i >= st->num)) return NULL;
return st->data[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);
}
@@ -332,3 +331,10 @@ void sk_sort(STACK *st)
st->sorted=1;
}
}
+
+int sk_is_sorted(const STACK *st)
+ {
+ if (!st)
+ return 1;
+ return st->sorted;
+ }