summaryrefslogtreecommitdiffstats
path: root/crypto/stack
diff options
context:
space:
mode:
authorRich Salz <rsalz@openssl.org>2016-08-04 16:50:19 -0400
committerRich Salz <rsalz@openssl.org>2016-08-10 09:53:58 -0400
commit3663990760f9e414c50f3a73fa7276b4b528ef41 (patch)
treefe08f11df02fd339d5041c82ac16c4789ee2ac98 /crypto/stack
parent446dffa7f6abf5400adac9c7814440b5af3b7edd (diff)
Add some const casts
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1397)
Diffstat (limited to 'crypto/stack')
-rw-r--r--crypto/stack/stack.c46
1 files changed, 20 insertions, 26 deletions
diff --git a/crypto/stack/stack.c b/crypto/stack/stack.c
index 02be8af738..acd350a220 100644
--- a/crypto/stack/stack.c
+++ b/crypto/stack/stack.c
@@ -14,7 +14,7 @@
struct stack_st {
int num;
- char **data;
+ const char **data;
int sorted;
int num_alloc;
OPENSSL_sk_compfunc comp;
@@ -81,7 +81,7 @@ OPENSSL_STACK *OPENSSL_sk_deep_copy(const OPENSSL_STACK *sk,
if ((ret->data[i] = copy_func(sk->data[i])) == NULL) {
while (--i >= 0)
if (ret->data[i] != NULL)
- free_func(ret->data[i]);
+ free_func((void *)ret->data[i]);
OPENSSL_sk_free(ret);
return NULL;
}
@@ -111,9 +111,9 @@ OPENSSL_STACK *OPENSSL_sk_new(OPENSSL_sk_compfunc c)
return (NULL);
}
-int OPENSSL_sk_insert(OPENSSL_STACK *st, void *data, int loc)
+int OPENSSL_sk_insert(OPENSSL_STACK *st, const void *data, int loc)
{
- char **s;
+ const char **s;
if (st == NULL)
return 0;
@@ -128,8 +128,8 @@ int OPENSSL_sk_insert(OPENSSL_STACK *st, void *data, int loc)
if ((loc >= (int)st->num) || (loc < 0))
st->data[st->num] = data;
else {
- memmove(&(st->data[loc + 1]),
- &(st->data[loc]), sizeof(char *) * (st->num - loc));
+ memmove(&st->data[loc + 1], &st->data[loc],
+ sizeof(st->data[0]) * (st->num - loc));
st->data[loc] = data;
}
st->num++;
@@ -149,30 +149,23 @@ void *OPENSSL_sk_delete_ptr(OPENSSL_STACK *st, const void *p)
void *OPENSSL_sk_delete(OPENSSL_STACK *st, int loc)
{
- char *ret;
- int i, j;
+ const char *ret;
if (st == NULL || loc < 0 || loc >= st->num)
return NULL;
ret = st->data[loc];
- if (loc != st->num - 1) {
- j = st->num - 1;
- for (i = loc; i < j; i++)
- st->data[i] = st->data[i + 1];
- /*
- * In theory memcpy is not safe for this memcpy( &(st->data[loc]),
- * &(st->data[loc+1]), sizeof(char *)*(st->num-loc-1));
- */
- }
+ if (loc != st->num - 1)
+ memmove(&st->data[loc], &st->data[loc + 1],
+ sizeof(st->data[0]) * (st->num - loc - 1));
st->num--;
- return (ret);
+ return (void *)ret;
}
static int internal_find(OPENSSL_STACK *st, const void *data,
int ret_val_options)
{
- const void *const *r;
+ const void *r;
int i;
if (st == NULL)
@@ -191,7 +184,7 @@ static int internal_find(OPENSSL_STACK *st, const void *data,
ret_val_options);
if (r == NULL)
return (-1);
- return (int)((char **)r - st->data);
+ return (int)((const char **)r - st->data);
}
int OPENSSL_sk_find(OPENSSL_STACK *st, const void *data)
@@ -204,12 +197,12 @@ int OPENSSL_sk_find_ex(OPENSSL_STACK *st, const void *data)
return internal_find(st, data, OBJ_BSEARCH_VALUE_ON_NOMATCH);
}
-int OPENSSL_sk_push(OPENSSL_STACK *st, void *data)
+int OPENSSL_sk_push(OPENSSL_STACK *st, const void *data)
{
return (OPENSSL_sk_insert(st, data, st->num));
}
-int OPENSSL_sk_unshift(OPENSSL_STACK *st, void *data)
+int OPENSSL_sk_unshift(OPENSSL_STACK *st, const void *data)
{
return (OPENSSL_sk_insert(st, data, 0));
}
@@ -250,7 +243,7 @@ void OPENSSL_sk_pop_free(OPENSSL_STACK *st, OPENSSL_sk_freefunc func)
return;
for (i = 0; i < st->num; i++)
if (st->data[i] != NULL)
- func(st->data[i]);
+ func((char *)st->data[i]);
OPENSSL_sk_free(st);
}
@@ -273,14 +266,15 @@ void *OPENSSL_sk_value(const OPENSSL_STACK *st, int i)
{
if (st == NULL || i < 0 || i >= st->num)
return NULL;
- return st->data[i];
+ return (void *)st->data[i];
}
-void *OPENSSL_sk_set(OPENSSL_STACK *st, int i, void *value)
+void *OPENSSL_sk_set(OPENSSL_STACK *st, int i, const void *data)
{
if (st == NULL || i < 0 || i >= st->num)
return NULL;
- return (st->data[i] = value);
+ st->data[i] = data;
+ return (void *)st->data[i];
}
void OPENSSL_sk_sort(OPENSSL_STACK *st)