diff options
author | Richard Levitte <levitte@openssl.org> | 2000-12-13 17:15:03 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2000-12-13 17:15:03 +0000 |
commit | 8d28d5f81b81f68a69db1c67e24bcfc092614346 (patch) | |
tree | 3391f9ea36d1b9655ffd8e9065de14a5284c5556 /crypto/objects | |
parent | 53b407da84909dffb54c44dc8a1106723a23a546 (diff) | |
download | openssl-8d28d5f81b81f68a69db1c67e24bcfc092614346.tar.gz |
Constification of the data of a hash table. This means the callback
functions need to be constified, and therefore meant a number of easy
changes a little everywhere.
Now, if someone could explain to me why OBJ_dup() cheats...
Diffstat (limited to 'crypto/objects')
-rw-r--r-- | crypto/objects/o_names.c | 8 | ||||
-rw-r--r-- | crypto/objects/obj_dat.c | 23 | ||||
-rw-r--r-- | crypto/objects/obj_lib.c | 7 | ||||
-rw-r--r-- | crypto/objects/objects.h | 17 |
4 files changed, 29 insertions, 26 deletions
diff --git a/crypto/objects/o_names.c b/crypto/objects/o_names.c index a5b1aacd66..367ee2bdef 100644 --- a/crypto/objects/o_names.c +++ b/crypto/objects/o_names.c @@ -29,9 +29,9 @@ static STACK_OF(NAME_FUNCS) *name_funcs_stack; * need for macro-generated wrapper functions. */ /* static unsigned long obj_name_hash(OBJ_NAME *a); */ -static unsigned long obj_name_hash(void *a_void); +static unsigned long obj_name_hash(const void *a_void); /* static int obj_name_cmp(OBJ_NAME *a,OBJ_NAME *b); */ -static int obj_name_cmp(void *a_void,void *b_void); +static int obj_name_cmp(const void *a_void,const void *b_void); int OBJ_NAME_init(void) { @@ -88,7 +88,7 @@ int OBJ_NAME_new_index(unsigned long (*hash_func)(const char *), } /* static int obj_name_cmp(OBJ_NAME *a, OBJ_NAME *b) */ -static int obj_name_cmp(void *a_void, void *b_void) +static int obj_name_cmp(const void *a_void, const void *b_void) { int ret; OBJ_NAME *a = (OBJ_NAME *)a_void; @@ -110,7 +110,7 @@ static int obj_name_cmp(void *a_void, void *b_void) } /* static unsigned long obj_name_hash(OBJ_NAME *a) */ -static unsigned long obj_name_hash(void *a_void) +static unsigned long obj_name_hash(const void *a_void) { unsigned long ret; OBJ_NAME *a = (OBJ_NAME *)a_void; diff --git a/crypto/objects/obj_dat.c b/crypto/objects/obj_dat.c index 0057da29bd..9d47c8fb8d 100644 --- a/crypto/objects/obj_dat.c +++ b/crypto/objects/obj_dat.c @@ -109,9 +109,9 @@ static int ln_cmp(const void *a, const void *b) } /* static unsigned long add_hash(ADDED_OBJ *ca) */ -static unsigned long add_hash(void *ca_void) +static unsigned long add_hash(const void *ca_void) { - ASN1_OBJECT *a; + const ASN1_OBJECT *a; int i; unsigned long ret=0; unsigned char *p; @@ -145,7 +145,7 @@ static unsigned long add_hash(void *ca_void) } /* static int add_cmp(ADDED_OBJ *ca, ADDED_OBJ *cb) */ -static int add_cmp(void *ca_void, void *cb_void) +static int add_cmp(const void *ca_void, const void *cb_void) { ASN1_OBJECT *a,*b; int i; @@ -224,7 +224,7 @@ int OBJ_new_nid(int num) return(i); } -int OBJ_add_object(ASN1_OBJECT *obj) +int OBJ_add_object(const ASN1_OBJECT *obj) { ASN1_OBJECT *o; ADDED_OBJ *ao[4]={NULL,NULL,NULL,NULL},*aop; @@ -360,7 +360,7 @@ const char *OBJ_nid2ln(int n) } } -int OBJ_obj2nid(ASN1_OBJECT *a) +int OBJ_obj2nid(const ASN1_OBJECT *a) { ASN1_OBJECT **op; ADDED_OBJ ad,*adp; @@ -373,7 +373,7 @@ int OBJ_obj2nid(ASN1_OBJECT *a) if (added != NULL) { ad.type=ADDED_DATA; - ad.obj=a; + ad.obj=(ASN1_OBJECT *)a; /* XXX: ugly but harmless */ adp=(ADDED_OBJ *)lh_retrieve(added,&ad); if (adp != NULL) return (adp->obj->nid); } @@ -427,7 +427,7 @@ ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name) return op; } -int OBJ_obj2txt(char *buf, int buf_len, ASN1_OBJECT *a, int no_name) +int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) { int i,idx=0,n=0,len,nid; unsigned long l; @@ -493,7 +493,7 @@ int OBJ_obj2txt(char *buf, int buf_len, ASN1_OBJECT *a, int no_name) return(n); } -int OBJ_txt2nid(char *s) +int OBJ_txt2nid(const char *s) { ASN1_OBJECT *obj; int nid; @@ -552,10 +552,11 @@ static int obj_cmp(const void *ap, const void *bp) return(memcmp(a->data,b->data,a->length)); } -char *OBJ_bsearch(char *key, char *base, int num, int size, int (*cmp)(const void *, const void *)) +const char *OBJ_bsearch(const char *key, const char *base, int num, int size, + int (*cmp)(const void *, const void *)) { int l,h,i,c; - char *p; + const char *p; if (num == 0) return(NULL); l=0; @@ -634,7 +635,7 @@ int OBJ_create_objects(BIO *in) /* return(num); */ } -int OBJ_create(char *oid, char *sn, char *ln) +int OBJ_create(const char *oid, const char *sn, const char *ln) { int ok=0; ASN1_OBJECT *op=NULL; diff --git a/crypto/objects/obj_lib.c b/crypto/objects/obj_lib.c index 0c71639eba..b0b0f2ff24 100644 --- a/crypto/objects/obj_lib.c +++ b/crypto/objects/obj_lib.c @@ -62,7 +62,7 @@ #include <openssl/objects.h> #include <openssl/buffer.h> -ASN1_OBJECT *OBJ_dup(ASN1_OBJECT *o) +ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o) { ASN1_OBJECT *r; int i; @@ -70,7 +70,8 @@ ASN1_OBJECT *OBJ_dup(ASN1_OBJECT *o) if (o == NULL) return(NULL); if (!(o->flags & ASN1_OBJECT_FLAG_DYNAMIC)) - return(o); + return((ASN1_OBJECT *)o); /* XXX: ugh! Why? What kind of + duplication is this??? */ r=ASN1_OBJECT_new(); if (r == NULL) @@ -116,7 +117,7 @@ err: return(NULL); } -int OBJ_cmp(ASN1_OBJECT *a, ASN1_OBJECT *b) +int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b) { int ret; diff --git a/crypto/objects/objects.h b/crypto/objects/objects.h index 8918683aab..e98e92e993 100644 --- a/crypto/objects/objects.h +++ b/crypto/objects/objects.h @@ -997,24 +997,25 @@ void OBJ_NAME_do_all(int type,void (*fn)(const OBJ_NAME *,void *arg), void OBJ_NAME_do_all_sorted(int type,void (*fn)(const OBJ_NAME *,void *arg), void *arg); -ASN1_OBJECT * OBJ_dup(ASN1_OBJECT *o); +ASN1_OBJECT * OBJ_dup(const ASN1_OBJECT *o); ASN1_OBJECT * OBJ_nid2obj(int n); const char * OBJ_nid2ln(int n); const char * OBJ_nid2sn(int n); -int OBJ_obj2nid(ASN1_OBJECT *o); +int OBJ_obj2nid(const ASN1_OBJECT *o); ASN1_OBJECT * OBJ_txt2obj(const char *s, int no_name); -int OBJ_obj2txt(char *buf, int buf_len, ASN1_OBJECT *a, int no_name); -int OBJ_txt2nid(char *s); +int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); +int OBJ_txt2nid(const char *s); int OBJ_ln2nid(const char *s); int OBJ_sn2nid(const char *s); -int OBJ_cmp(ASN1_OBJECT *a,ASN1_OBJECT *b); -char * OBJ_bsearch(char *key,char *base,int num,int size,int (*cmp)(const void *, const void *)); +int OBJ_cmp(const ASN1_OBJECT *a,const ASN1_OBJECT *b); +const char * OBJ_bsearch(const char *key,const char *base,int num,int size, + int (*cmp)(const void *, const void *)); void ERR_load_OBJ_strings(void ); int OBJ_new_nid(int num); -int OBJ_add_object(ASN1_OBJECT *obj); -int OBJ_create(char *oid,char *sn,char *ln); +int OBJ_add_object(const ASN1_OBJECT *obj); +int OBJ_create(const char *oid,const char *sn,const char *ln); void OBJ_cleanup(void ); int OBJ_create_objects(BIO *in); |