Skip to content
Snippets Groups Projects
Commit 01296a6d authored by Geoff Thorpe's avatar Geoff Thorpe
Browse files

All the little functions created by the IMPLEMENT_STACK_OF() macro will

cast their type-specific STACK into a real STACK and call the underlying
sk_*** function. The problem is that if the STACK_OF(..) parameter being
passed in has a "const *" qualifier, it is discarded by the cast.

I'm currently implementing a fix for this but in the mean-time, this is
one case I noticed (a few type-specific sk_**_num() functions pass in
const type-specific stacks). If there are other errors in the code where
consts are being discarded, we will similarly not notice them. yuck.
parent 2ace287d
No related branches found
No related tags found
No related merge requests found
......@@ -279,7 +279,7 @@ void sk_free(STACK *st)
Free(st);
}
int sk_num(STACK *st)
int sk_num(const STACK *st)
{
if(st == NULL) return -1;
return st->num;
......
......@@ -79,7 +79,7 @@ typedef struct stack_st
#define M_sk_num(sk) ((sk) ? (sk)->num:-1)
#define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL)
int sk_num(STACK *);
int sk_num(const STACK *);
char *sk_value(STACK *, int);
char *sk_set(STACK *, int, char *);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment