Lines Matching refs:db
55 struct db_names *db; in db_names_alloc() local
57 db = calloc(1, sizeof(*db)); in db_names_alloc()
58 if (!db) in db_names_alloc()
61 db->size = MAX_ENTRIES; in db_names_alloc()
62 db->hash = calloc(db->size, sizeof(struct db_entry *)); in db_names_alloc()
64 return db; in db_names_alloc()
67 int db_names_load(struct db_names *db, const char *path) in db_names_load() argument
101 entry->next = db->hash[id & (db->size - 1)]; in db_names_load()
102 db->hash[id & (db->size - 1)] = entry; in db_names_load()
111 void db_names_free(struct db_names *db) in db_names_free() argument
115 if (!db) in db_names_free()
118 for (i = 0; i < db->size; i++) { in db_names_free()
119 struct db_entry *entry = db->hash[i]; in db_names_free()
130 free(db->hash); in db_names_free()
131 free(db); in db_names_free()
134 char *id_to_name(struct db_names *db, int id, char *name) in id_to_name() argument
138 if (!db) in id_to_name()
141 entry = db->hash[id & (db->size - 1)]; in id_to_name()
154 int name_to_id(struct db_names *db, int *id, const char *name) in name_to_id() argument
159 if (!db) in name_to_id()
162 if (db->cached && strcmp(db->cached->name, name) == 0) { in name_to_id()
163 *id = db->cached->id; in name_to_id()
167 for (i = 0; i < db->size; i++) { in name_to_id()
168 entry = db->hash[i]; in name_to_id()
173 db->cached = entry; in name_to_id()