projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LHASH revamp. make depend.
[openssl.git]
/
crypto
/
txt_db
/
txt_db.c
diff --git
a/crypto/txt_db/txt_db.c
b/crypto/txt_db/txt_db.c
index 3ed5f72ee94b70c825b442a4632e5ce8a5419ecc..f6df74cc26d82dab9964a4fcfd79de4686467916 100644
(file)
--- a/
crypto/txt_db/txt_db.c
+++ b/
crypto/txt_db/txt_db.c
@@
-90,9
+90,9
@@
TXT_DB *TXT_DB_read(BIO *in, int num)
ret->qual=NULL;
if ((ret->data=sk_new_null()) == NULL)
goto err;
ret->qual=NULL;
if ((ret->data=sk_new_null()) == NULL)
goto err;
- if ((ret->index=
(LHASH **)OPENSSL_malloc(sizeof(LHASH *
)*num)) == NULL)
+ if ((ret->index=
OPENSSL_malloc(sizeof(*ret->index
)*num)) == NULL)
goto err;
goto err;
- if ((ret->qual=
(int (**)(char **))OPENSSL_malloc(sizeof(int (**)(char **
))*num)) == NULL)
+ if ((ret->qual=
OPENSSL_malloc(sizeof(*(ret->qual
))*num)) == NULL)
goto err;
for (i=0; i<num; i++)
{
goto err;
for (i=0; i<num; i++)
{
@@
-192,10
+192,10
@@
err:
return(ret);
}
return(ret);
}
-
char **TXT_DB_get_by_index(TXT_DB *db, int idx, char *
*value)
+
STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, STRING
*value)
{
{
-
char *
*ret;
- LHASH *lh;
+
STRING
*ret;
+ LHASH
_OF(STRING)
*lh;
if (idx >= db->num_fields)
{
if (idx >= db->num_fields)
{
@@
-208,16
+208,16
@@
char **TXT_DB_get_by_index(TXT_DB *db, int idx, char **value)
db->error=DB_ERROR_NO_INDEX;
return(NULL);
}
db->error=DB_ERROR_NO_INDEX;
return(NULL);
}
- ret=
(char **)lh
_retrieve(lh,value);
+ ret=
lh_STRING
_retrieve(lh,value);
db->error=DB_ERROR_OK;
return(ret);
}
db->error=DB_ERROR_OK;
return(ret);
}
-int TXT_DB_create_index(TXT_DB *db, int field, int (*qual)(
char *
*),
- LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp)
+int TXT_DB_create_index(TXT_DB *db, int field, int (*qual)(
STRING
*),
+
LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp)
{
{
- LHASH *idx;
-
char *
*r;
+ LHASH
_OF(STRING)
*idx;
+
STRING
*r;
int i,n;
if (field >= db->num_fields)
int i,n;
if (field >= db->num_fields)
@@
-225,7
+225,8
@@
int TXT_DB_create_index(TXT_DB *db, int field, int (*qual)(char **),
db->error=DB_ERROR_INDEX_OUT_OF_RANGE;
return(0);
}
db->error=DB_ERROR_INDEX_OUT_OF_RANGE;
return(0);
}
- if ((idx=lh_new(hash,cmp)) == NULL)
+ /* FIXME: we lose type checking at this point */
+ if ((idx=(LHASH_OF(STRING) *)lh_new(hash,cmp)) == NULL)
{
db->error=DB_ERROR_MALLOC;
return(0);
{
db->error=DB_ERROR_MALLOC;
return(0);
@@
-233,18
+234,18
@@
int TXT_DB_create_index(TXT_DB *db, int field, int (*qual)(char **),
n=sk_num(db->data);
for (i=0; i<n; i++)
{
n=sk_num(db->data);
for (i=0; i<n; i++)
{
- r=(
char *
*)sk_value(db->data,i);
+ r=(
STRING
*)sk_value(db->data,i);
if ((qual != NULL) && (qual(r) == 0)) continue;
if ((qual != NULL) && (qual(r) == 0)) continue;
- if ((r=lh_insert(idx,r)) != NULL)
+ if ((r=lh_
STRING_
insert(idx,r)) != NULL)
{
db->error=DB_ERROR_INDEX_CLASH;
db->arg1=sk_find(db->data,(char *)r);
db->arg2=i;
{
db->error=DB_ERROR_INDEX_CLASH;
db->arg1=sk_find(db->data,(char *)r);
db->arg2=i;
- lh_free(idx);
+ lh_
STRING_
free(idx);
return(0);
}
}
return(0);
}
}
- if (db->index[field] != NULL) lh_free(db->index[field]);
+ if (db->index[field] != NULL) lh_
STRING_
free(db->index[field]);
db->index[field]=idx;
db->qual[field]=qual;
return(1);
db->index[field]=idx;
db->qual[field]=qual;
return(1);
@@
-298,10
+299,10
@@
err:
return(ret);
}
return(ret);
}
-int TXT_DB_insert(TXT_DB *db,
char *
*row)
+int TXT_DB_insert(TXT_DB *db,
STRING
*row)
{
int i;
{
int i;
-
char *
*r;
+
STRING
*r;
for (i=0; i<db->num_fields; i++)
{
for (i=0; i<db->num_fields; i++)
{
@@
-309,7
+310,7
@@
int TXT_DB_insert(TXT_DB *db, char **row)
{
if ((db->qual[i] != NULL) &&
(db->qual[i](row) == 0)) continue;
{
if ((db->qual[i] != NULL) &&
(db->qual[i](row) == 0)) continue;
- r=
(char **)lh
_retrieve(db->index[i],row);
+ r=
lh_STRING
_retrieve(db->index[i],row);
if (r != NULL)
{
db->error=DB_ERROR_INDEX_CLASH;
if (r != NULL)
{
db->error=DB_ERROR_INDEX_CLASH;
@@
-332,7
+333,7
@@
int TXT_DB_insert(TXT_DB *db, char **row)
{
if ((db->qual[i] != NULL) &&
(db->qual[i](row) == 0)) continue;
{
if ((db->qual[i] != NULL) &&
(db->qual[i](row) == 0)) continue;
- lh_insert(db->index[i],row);
+ lh_
STRING_
insert(db->index[i],row);
}
}
return(1);
}
}
return(1);
@@
-351,7
+352,7
@@
void TXT_DB_free(TXT_DB *db)
if (db->index != NULL)
{
for (i=db->num_fields-1; i>=0; i--)
if (db->index != NULL)
{
for (i=db->num_fields-1; i>=0; i--)
- if (db->index[i] != NULL) lh_free(db->index[i]);
+ if (db->index[i] != NULL) lh_
STRING_
free(db->index[i]);
OPENSSL_free(db->index);
}
if (db->qual != NULL)
OPENSSL_free(db->index);
}
if (db->qual != NULL)