• Home
  • Raw
  • Download

Lines Matching refs:db

196 OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, OPENSSL_STRING *value)  in TXT_DB_get_by_index()  argument
201 if (idx >= db->num_fields) in TXT_DB_get_by_index()
203 db->error=DB_ERROR_INDEX_OUT_OF_RANGE; in TXT_DB_get_by_index()
206 lh=db->index[idx]; in TXT_DB_get_by_index()
209 db->error=DB_ERROR_NO_INDEX; in TXT_DB_get_by_index()
213 db->error=DB_ERROR_OK; in TXT_DB_get_by_index()
217 int TXT_DB_create_index(TXT_DB *db, int field, int (*qual)(OPENSSL_STRING *), in TXT_DB_create_index() argument
224 if (field >= db->num_fields) in TXT_DB_create_index()
226 db->error=DB_ERROR_INDEX_OUT_OF_RANGE; in TXT_DB_create_index()
232 db->error=DB_ERROR_MALLOC; in TXT_DB_create_index()
235 n=sk_OPENSSL_PSTRING_num(db->data); in TXT_DB_create_index()
238 r=sk_OPENSSL_PSTRING_value(db->data,i); in TXT_DB_create_index()
242 db->error=DB_ERROR_INDEX_CLASH; in TXT_DB_create_index()
243 db->arg1=sk_OPENSSL_PSTRING_find(db->data,r); in TXT_DB_create_index()
244 db->arg2=i; in TXT_DB_create_index()
249 if (db->index[field] != NULL) lh_OPENSSL_STRING_free(db->index[field]); in TXT_DB_create_index()
250 db->index[field]=idx; in TXT_DB_create_index()
251 db->qual[field]=qual; in TXT_DB_create_index()
255 long TXT_DB_write(BIO *out, TXT_DB *db) in TXT_DB_write() argument
264 n=sk_OPENSSL_PSTRING_num(db->data); in TXT_DB_write()
265 nn=db->num_fields; in TXT_DB_write()
268 pp=sk_OPENSSL_PSTRING_value(db->data,i); in TXT_DB_write()
303 int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *row) in TXT_DB_insert() argument
308 for (i=0; i<db->num_fields; i++) in TXT_DB_insert()
310 if (db->index[i] != NULL) in TXT_DB_insert()
312 if ((db->qual[i] != NULL) && in TXT_DB_insert()
313 (db->qual[i](row) == 0)) continue; in TXT_DB_insert()
314 r=lh_OPENSSL_STRING_retrieve(db->index[i],row); in TXT_DB_insert()
317 db->error=DB_ERROR_INDEX_CLASH; in TXT_DB_insert()
318 db->arg1=i; in TXT_DB_insert()
319 db->arg_row=r; in TXT_DB_insert()
325 if (!sk_OPENSSL_PSTRING_push(db->data,row)) in TXT_DB_insert()
327 db->error=DB_ERROR_MALLOC; in TXT_DB_insert()
331 for (i=0; i<db->num_fields; i++) in TXT_DB_insert()
333 if (db->index[i] != NULL) in TXT_DB_insert()
335 if ((db->qual[i] != NULL) && in TXT_DB_insert()
336 (db->qual[i](row) == 0)) continue; in TXT_DB_insert()
337 (void)lh_OPENSSL_STRING_insert(db->index[i],row); in TXT_DB_insert()
345 void TXT_DB_free(TXT_DB *db) in TXT_DB_free() argument
350 if(db == NULL) in TXT_DB_free()
353 if (db->index != NULL) in TXT_DB_free()
355 for (i=db->num_fields-1; i>=0; i--) in TXT_DB_free()
356 if (db->index[i] != NULL) lh_OPENSSL_STRING_free(db->index[i]); in TXT_DB_free()
357 OPENSSL_free(db->index); in TXT_DB_free()
359 if (db->qual != NULL) in TXT_DB_free()
360 OPENSSL_free(db->qual); in TXT_DB_free()
361 if (db->data != NULL) in TXT_DB_free()
363 for (i=sk_OPENSSL_PSTRING_num(db->data)-1; i>=0; i--) in TXT_DB_free()
367 p=sk_OPENSSL_PSTRING_value(db->data,i); in TXT_DB_free()
368 max=p[db->num_fields]; /* last address */ in TXT_DB_free()
371 for (n=0; n<db->num_fields; n++) in TXT_DB_free()
376 for (n=0; n<db->num_fields; n++) in TXT_DB_free()
383 OPENSSL_free(sk_OPENSSL_PSTRING_value(db->data,i)); in TXT_DB_free()
385 sk_OPENSSL_PSTRING_free(db->data); in TXT_DB_free()
387 OPENSSL_free(db); in TXT_DB_free()