Lines Matching refs:db

110 	struct db_info *db;  in load_db()  local
133 if ((db = libc_realloc(db_info, in load_db()
138 db_info = db; in load_db()
142 db = &db_info[i]; in load_db()
143 db->flag = 0; in load_db()
144 (void) strcpy(db->db_name, catname); in load_db()
145 db->saved_locale = libc_strdup(curloc); in load_db()
146 if (db->saved_locale == NULL) { in load_db()
150 db->flag = DB_OPEN; in load_db()
153 db->saved_locale, db->db_name) >= sizeof (pathname)) { in load_db()
165 db->flag |= DB_EXIST; in load_db()
166 db->addr = (uintptr_t)addr; in load_db()
167 db->length = (size_t)sb.st_size; in load_db()
171 return (db); in load_db()
178 unload_db(struct db_info *db) in unload_db() argument
180 if ((db->flag & (DB_OPEN|DB_EXIST)) == in unload_db()
182 (void) munmap((caddr_t)db->addr, db->length); in unload_db()
184 db->flag = 0; in unload_db()
185 if (db->saved_locale) in unload_db()
186 libc_free(db->saved_locale); in unload_db()
187 db->saved_locale = NULL; in unload_db()
199 lookup_cache(struct db_info *db, const char *curloc, const char *catname) in lookup_cache() argument
204 if (db == NULL) in lookup_cache()
205 db = db_info; in lookup_cache()
207 db++; in lookup_cache()
209 for (; db < &db_info[db_count]; db++) { in lookup_cache()
210 if (db->flag == 0) in lookup_cache()
212 if (strcmp(db->db_name, catname) == 0) { in lookup_cache()
214 (db->saved_locale != NULL && in lookup_cache()
215 strcmp(db->saved_locale, curloc) == 0)) { in lookup_cache()
216 return (db); in lookup_cache()
224 valid_msg(struct db_info *db, int id) in valid_msg() argument
226 if (db == NULL || (db->flag & DB_EXIST) == 0) in valid_msg()
230 if (id != 0 && id <= *(int *)(db->addr)) in valid_msg()
238 msg(struct db_info *db, int id) in msg() argument
240 return ((char *)(db->addr + *(int *)(db->addr + in msg()
259 struct db_info *db; in __gtxt() local
287 db = lookup_cache(NULL, curloc, catname); in __gtxt()
288 if (db != NULL) { in __gtxt()
293 if (valid_msg(db, id)) in __gtxt()
294 return (msg(db, id)); in __gtxt()
301 db = lookup_cache(NULL, def_locale, catname); in __gtxt()
302 if (db == NULL) { in __gtxt()
307 db = load_db(def_locale, catname, &err); in __gtxt()
311 if (valid_msg(db, id)) in __gtxt()
312 return (msg(db, id)); in __gtxt()
322 db = NULL; in __gtxt()
323 while ((db = lookup_cache(db, NULL, catname)) != NULL) in __gtxt()
324 unload_db(db); in __gtxt()
329 db = load_db(curloc, catname, &err); in __gtxt()
332 if (valid_msg(db, id)) in __gtxt()
333 return (msg(db, id)); in __gtxt()
339 db = load_db(def_locale, catname, &err); in __gtxt()
343 if (valid_msg(db, id)) in __gtxt()
344 return (msg(db, id)); in __gtxt()