• Home
  • Raw
  • Download

Lines Matching refs:db

60 static void rnn_err(struct rnndb *db, const char *format, ...) _util_printf_format(2, 3);
62 static void rnn_err(struct rnndb *db, const char *format, ...) in rnn_err() argument
68 db->estatus = 1; in rnn_err()
77 struct rnndb *db = calloc(sizeof *db, 1); in rnn_newdb() local
78 return db; in rnn_newdb()
111 static char *getattrib (struct rnndb *db, char *file, int line, xmlAttr *attr) { in getattrib() argument
115 …rnn_err(db, "%s:%d: unknown attribute child \"%s\" in attribute \"%s\"\n", file, line, chain->name… in getattrib()
124 static int getboolattrib (struct rnndb *db, char *file, int line, xmlAttr *attr) { in getboolattrib() argument
125 char *c = getattrib(db, file, line, attr); in getboolattrib()
130 …rnn_err(db, "%s:%d: invalid boolean value \"%s\" in attribute \"%s\"\n", file, line, c, attr->name… in getboolattrib()
134 static uint64_t getnum(struct rnndb *db, char *file, int line, xmlAttr *attr, char *c) in getnum() argument
143 …rnn_err(db, "%s:%d: invalid numeric value \"%s\" in attribute \"%s\"\n", file, line, c, attr->name… in getnum()
148 static uint64_t getnumattrib (struct rnndb *db, char *file, int line, xmlAttr *attr) { in getnumattrib() argument
149 char *c = getattrib(db, file, line, attr); in getnumattrib()
150 return getnum(db, file, line, attr, c); in getnumattrib()
153 static int trytop (struct rnndb *db, char *file, xmlNode *node);
155 static int trydoc (struct rnndb *db, char *file, xmlNode *node) { in trydoc() argument
164 static struct rnnvalue *parsevalue(struct rnndb *db, char *file, xmlNode *node);
165 static struct rnnbitfield *parsebitfield(struct rnndb *db, char *file, xmlNode *node);
167 static int trytypetag (struct rnndb *db, char *file, xmlNode *node, struct rnntypeinfo *ti) { in trytypetag() argument
169 struct rnnvalue *val = parsevalue(db, file, node); in trytypetag()
174 struct rnnbitfield *bf = parsebitfield(db, file, node); in trytypetag()
181 static int trytypeattr (struct rnndb *db, char *file, xmlNode *node, xmlAttr *attr, struct rnntypei… in trytypeattr() argument
183 ti->shr = getnumattrib(db, file, node->line, attr); in trytypeattr()
186 ti->min = getnumattrib(db, file, node->line, attr); in trytypeattr()
190 ti->max = getnumattrib(db, file, node->line, attr); in trytypeattr()
194 ti->align = getnumattrib(db, file, node->line, attr); in trytypeattr()
198 ti->name = strdup(getattrib(db, file, node->line, attr));; in trytypeattr()
201 ti->radix = getnumattrib(db, file, node->line, attr); in trytypeattr()
205 ti->high = ti->low = getnumattrib(db, file, node->line, attr); in trytypeattr()
208 ti->low = getnumattrib(db, file, node->line, attr); in trytypeattr()
211 ti->high = getnumattrib(db, file, node->line, attr); in trytypeattr()
214 ti->addvariant = getboolattrib(db, file, node->line, attr); in trytypeattr()
220 static struct rnnvalue *parsevalue(struct rnndb *db, char *file, xmlNode *node) { in parsevalue() argument
226 val->name = strdup(getattrib(db, file, node->line, attr)); in parsevalue()
228 val->value = getnumattrib(db, file, node->line, attr); in parsevalue()
231 val->varinfo.varsetstr = strdup(getattrib(db, file, node->line, attr)); in parsevalue()
233 val->varinfo.variantsstr = strdup(getattrib(db, file, node->line, attr)); in parsevalue()
235 rnn_err(db, "%s:%d: wrong attribute \"%s\" for value\n", file, node->line, attr->name); in parsevalue()
242 } else if (!trytop(db, file, chain) && !trydoc(db, file, chain)) { in parsevalue()
243 rnn_err(db, "%s:%d: wrong tag in %s: <%s>\n", file, chain->line, node->name, chain->name); in parsevalue()
248 rnn_err(db, "%s:%d: nameless value\n", file, node->line); in parsevalue()
255 static void parsespectype(struct rnndb *db, char *file, xmlNode *node) { in parsespectype() argument
262 res->name = strdup(getattrib(db, file, node->line, attr)); in parsespectype()
263 } else if (!trytypeattr(db, file, node, attr, &res->typeinfo)) { in parsespectype()
264 rnn_err(db, "%s:%d: wrong attribute \"%s\" for spectype\n", file, node->line, attr->name); in parsespectype()
269 rnn_err(db, "%s:%d: nameless spectype\n", file, node->line); in parsespectype()
272 for (i = 0; i < db->spectypesnum; i++) in parsespectype()
273 if (!strcmp(db->spectypes[i]->name, res->name)) { in parsespectype()
274 rnn_err(db, "%s:%d: duplicated spectype name %s\n", file, node->line, res->name); in parsespectype()
277 ADDARRAY(db->spectypes, res); in parsespectype()
281 …} else if (!trytypetag(db, file, chain, &res->typeinfo) && !trytop(db, file, chain) && !trydoc(db,… in parsespectype()
282 rnn_err(db, "%s:%d: wrong tag in spectype: <%s>\n", file, chain->line, chain->name); in parsespectype()
288 static void parseenum(struct rnndb *db, char *file, xmlNode *node) { in parseenum() argument
299 name = getattrib(db, file, node->line, attr); in parseenum()
301 bare = getboolattrib(db, file, node->line, attr); in parseenum()
303 isinline = getboolattrib(db, file, node->line, attr); in parseenum()
305 prefixstr = strdup(getattrib(db, file, node->line, attr)); in parseenum()
307 varsetstr = strdup(getattrib(db, file, node->line, attr)); in parseenum()
309 variantsstr = strdup(getattrib(db, file, node->line, attr)); in parseenum()
311 rnn_err(db, "%s:%d: wrong attribute \"%s\" for enum\n", file, node->line, attr->name); in parseenum()
316 rnn_err(db, "%s:%d: nameless enum\n", file, node->line); in parseenum()
320 for (i = 0; i < db->enumsnum; i++) in parseenum()
321 if (!strcmp(db->enums[i]->name, name)) { in parseenum()
322 cur = db->enums[i]; in parseenum()
330 rnn_err(db, "%s:%d: merge fail for enum %s\n", file, node->line, node->name); in parseenum()
341 ADDARRAY(db->enums, cur); in parseenum()
347 struct rnnvalue *val = parsevalue(db, file, chain); in parseenum()
350 } else if (!trytop(db, file, chain) && !trydoc(db, file, chain)) { in parseenum()
351 rnn_err(db, "%s:%d: wrong tag in enum: <%s>\n", file, chain->line, chain->name); in parseenum()
357 static struct rnnbitfield *parsebitfield(struct rnndb *db, char *file, xmlNode *node) { in parsebitfield() argument
364 bf->name = strdup(getattrib(db, file, node->line, attr)); in parsebitfield()
366 bf->varinfo.varsetstr = strdup(getattrib(db, file, node->line, attr)); in parsebitfield()
368 bf->varinfo.variantsstr = strdup(getattrib(db, file, node->line, attr)); in parsebitfield()
369 } else if (!trytypeattr(db, file, node, attr, &bf->typeinfo)) { in parsebitfield()
370 rnn_err(db, "%s:%d: wrong attribute \"%s\" for bitfield\n", file, node->line, attr->name); in parsebitfield()
377 …} else if (!trytypetag(db, file, chain, &bf->typeinfo) && !trytop(db, file, chain) && !trydoc(db, … in parsebitfield()
378 rnn_err(db, "%s:%d: wrong tag in %s: <%s>\n", file, chain->line, node->name, chain->name); in parsebitfield()
383 rnn_err(db, "%s:%d: nameless bitfield\n", file, node->line); in parsebitfield()
386 rnn_err(db, "%s:%d: bitfield has wrong placement\n", file, node->line); in parsebitfield()
393 static void parsebitset(struct rnndb *db, char *file, xmlNode *node) { in parsebitset() argument
404 name = getattrib(db, file, node->line, attr); in parsebitset()
406 bare = getboolattrib(db, file, node->line, attr); in parsebitset()
408 isinline = getboolattrib(db, file, node->line, attr); in parsebitset()
410 prefixstr = strdup(getattrib(db, file, node->line, attr)); in parsebitset()
412 varsetstr = strdup(getattrib(db, file, node->line, attr)); in parsebitset()
414 variantsstr = strdup(getattrib(db, file, node->line, attr)); in parsebitset()
416 rnn_err(db, "%s:%d: wrong attribute \"%s\" for bitset\n", file, node->line, attr->name); in parsebitset()
421 rnn_err(db, "%s:%d: nameless bitset\n", file, node->line); in parsebitset()
425 for (i = 0; i < db->bitsetsnum; i++) in parsebitset()
426 if (!strcmp(db->bitsets[i]->name, name)) { in parsebitset()
427 cur = db->bitsets[i]; in parsebitset()
435 rnn_err(db, "%s:%d: merge fail for bitset %s\n", file, node->line, node->name); in parsebitset()
446 ADDARRAY(db->bitsets, cur); in parsebitset()
452 struct rnnbitfield *bf = parsebitfield(db, file, chain); in parsebitset()
455 } else if (!trytop(db, file, chain) && !trydoc(db, file, chain)) { in parsebitset()
456 rnn_err(db, "%s:%d: wrong tag in bitset: <%s>\n", file, chain->line, chain->name); in parsebitset()
462 static struct rnndelem *trydelem(struct rnndb *db, char *file, xmlNode *node) { in trydelem() argument
470 res->name = strdup(getattrib(db, file, node->line, attr)); in trydelem()
472 rnn_err(db, "%s:%d: wrong attribute \"%s\" for %s\n", file, node->line, attr->name, node->name); in trydelem()
477 rnn_err(db, "%s:%d: nameless use-group\n", file, node->line); in trydelem()
491 res->name = strdup(getattrib(db, file, node->line, attr)); in trydelem()
493 res->offset = getnumattrib(db, file, node->line, attr); in trydelem()
495 char *str = strdup(getattrib(db, file, node->line, attr)); in trydelem()
498 uint64_t offset = getnum(db, file, node->line, attr, tok); in trydelem()
507 res->doffset = strdup(getattrib(db, file, node->line, attr)); in trydelem()
510 char *str = strdup(getattrib(db, file, node->line, attr)); in trydelem()
521 res->length = getnumattrib(db, file, node->line, attr); in trydelem()
523 res->stride = getnumattrib(db, file, node->line, attr); in trydelem()
525 res->varinfo.prefixstr = strdup(getattrib(db, file, node->line, attr)); in trydelem()
527 res->varinfo.varsetstr = strdup(getattrib(db, file, node->line, attr)); in trydelem()
529 res->varinfo.variantsstr = strdup(getattrib(db, file, node->line, attr)); in trydelem()
531 const char *enumname = getattrib(db, file, node->line, attr); in trydelem()
532 res->index = rnn_findenum(db, enumname); in trydelem()
534 rnn_err(db, "%s:%d: invalid enum name \"%s\"\n", file, node->line, enumname); in trydelem()
537 rnn_err(db, "%s:%d: wrong attribute \"%s\" for %s\n", file, node->line, attr->name, node->name); in trydelem()
545 } else if ((delem = trydelem(db, file, chain))) { in trydelem()
547 } else if (!trytop(db, file, chain) && !trydoc(db, file, chain)) { in trydelem()
548 rnn_err(db, "%s:%d: wrong tag in %s: <%s>\n", file, chain->line, node->name, chain->name); in trydelem()
583 res->name = strdup(getattrib(db, file, node->line, attr)); in trydelem()
585 res->offset = getnumattrib(db, file, node->line, attr); in trydelem()
587 res->length = getnumattrib(db, file, node->line, attr); in trydelem()
589 res->stride = getnumattrib(db, file, node->line, attr); in trydelem()
591 res->varinfo.varsetstr = strdup(getattrib(db, file, node->line, attr)); in trydelem()
593 res->varinfo.variantsstr = strdup(getattrib(db, file, node->line, attr)); in trydelem()
595 char *str = getattrib(db, file, node->line, attr); in trydelem()
604 } else if (!trytypeattr(db, file, node, attr, &res->typeinfo)) { in trydelem()
605 rnn_err(db, "%s:%d: wrong attribute \"%s\" for register\n", file, node->line, attr->name); in trydelem()
612 …} else if (!trytypetag(db, file, chain, &res->typeinfo) && !trytop(db, file, chain) && !trydoc(db,… in trydelem()
613 rnn_err(db, "%s:%d: wrong tag in %s: <%s>\n", file, chain->line, node->name, chain->name); in trydelem()
618 rnn_err(db, "%s:%d: nameless register\n", file, node->line); in trydelem()
625 static void parsegroup(struct rnndb *db, char *file, xmlNode *node) { in parsegroup() argument
631 name = getattrib(db, file, node->line, attr); in parsegroup()
633 rnn_err(db, "%s:%d: wrong attribute \"%s\" for group\n", file, node->line, attr->name); in parsegroup()
638 rnn_err(db, "%s:%d: nameless group\n", file, node->line); in parsegroup()
642 for (i = 0; i < db->groupsnum; i++) in parsegroup()
643 if (!strcmp(db->groups[i]->name, name)) { in parsegroup()
644 cur = db->groups[i]; in parsegroup()
650 ADDARRAY(db->groups, cur); in parsegroup()
656 } else if ((delem = trydelem(db, file, chain))) { in parsegroup()
658 } else if (!trytop(db, file, chain) && !trydoc(db, file, chain)) { in parsegroup()
659 rnn_err(db, "%s:%d: wrong tag in group: <%s>\n", file, chain->line, chain->name); in parsegroup()
665 static void parsedomain(struct rnndb *db, char *file, xmlNode *node) { in parsedomain() argument
676 name = getattrib(db, file, node->line, attr); in parsedomain()
678 bare = getboolattrib(db, file, node->line, attr); in parsedomain()
680 size = getnumattrib(db, file, node->line, attr); in parsedomain()
682 width = getnumattrib(db, file, node->line, attr); in parsedomain()
684 prefixstr = strdup(getattrib(db, file, node->line, attr)); in parsedomain()
686 varsetstr = strdup(getattrib(db, file, node->line, attr)); in parsedomain()
688 variantsstr = strdup(getattrib(db, file, node->line, attr)); in parsedomain()
690 rnn_err(db, "%s:%d: wrong attribute \"%s\" for domain\n", file, node->line, attr->name); in parsedomain()
695 rnn_err(db, "%s:%d: nameless domain\n", file, node->line); in parsedomain()
699 for (i = 0; i < db->domainsnum; i++) in parsedomain()
700 if (!strcmp(db->domains[i]->name, name)) { in parsedomain()
701 cur = db->domains[i]; in parsedomain()
711 rnn_err(db, "%s:%d: merge fail for domain %s\n", file, node->line, node->name); in parsedomain()
726 ADDARRAY(db->domains, cur); in parsedomain()
732 } else if ((delem = trydelem(db, file, chain))) { in parsedomain()
734 } else if (!trytop(db, file, chain) && !trydoc(db, file, chain)) { in parsedomain()
735 rnn_err(db, "%s:%d: wrong tag in domain: <%s>\n", file, chain->line, chain->name); in parsedomain()
741 static void parsecopyright(struct rnndb *db, char *file, xmlNode *node) { in parsecopyright() argument
742 struct rnncopyright* copyright = &db->copyright; in parsecopyright()
746 unsigned firstyear = getnumattrib(db, file, node->line, attr); in parsecopyright()
750 rnn_err(db, "%s:%d: wrong attribute \"%s\" for copyright\n", file, node->line, attr->name); in parsecopyright()
772 author->name = strdup(getattrib(db, file, chain->line, authorattr)); in parsecopyright()
774 author->email = strdup(getattrib(db, file, chain->line, authorattr)); in parsecopyright()
776 rnn_err(db, "%s:%d: wrong attribute \"%s\" for author\n", file, chain->line, authorattr->name); in parsecopyright()
787 nickname = strdup(getattrib(db, file, authorchild->line, nickattr)); in parsecopyright()
789 … rnn_err(db, "%s:%d: wrong attribute \"%s\" for nick\n", file, authorchild->line, nickattr->name); in parsecopyright()
794 rnn_err(db, "%s:%d: missing \"name\" attribute for nick\n", file, authorchild->line); in parsecopyright()
798 rnn_err(db, "%s:%d: wrong tag in author: <%s>\n", file, authorchild->line, authorchild->name); in parsecopyright()
804 rnn_err(db, "%s:%d: wrong tag in copyright: <%s>\n", file, chain->line, chain->name); in parsecopyright()
810 static int trytop (struct rnndb *db, char *file, xmlNode *node) { in trytop() argument
812 parseenum(db, file, node); in trytop()
815 parsebitset(db, file, node); in trytop()
818 parsegroup(db, file, node); in trytop()
821 parsedomain(db, file, node); in trytop()
824 parsespectype(db, file, node); in trytop()
831 subfile = getattrib(db, file, node->line, attr); in trytop()
833 rnn_err(db, "%s:%d: wrong attribute \"%s\" for import\n", file, node->line, attr->name); in trytop()
838 rnn_err(db, "%s:%d: missing \"file\" attribute for import\n", file, node->line); in trytop()
840 rnn_parsefile(db, subfile); in trytop()
844 parsecopyright(db, file, node); in trytop()
868 static int validate_doc(struct rnndb *db, xmlDocPtr doc, xmlNodePtr database) in validate_doc() argument
892 rnn_err(db, "could not find schema. Missing schemaLocation?"); in validate_doc()
898 rnn_err(db, "%s: couldn't find database file. Please set the env var RNN_PATH.\n", schema_name); in validate_doc()
916 void rnn_parsefile (struct rnndb *db, char *file_orig) { in rnn_parsefile() argument
922 db->estatus = 1; in rnn_parsefile()
926 for (i = 0; i < db->filesnum; i++) in rnn_parsefile()
927 if (!strcmp(db->files[i], fname)) in rnn_parsefile()
930 ADDARRAY(db->files, fname); in rnn_parsefile()
933 rnn_err(db, "%s: couldn't open database file. Please set the env var RNN_PATH.\n", fname); in rnn_parsefile()
940 rnn_err(db, "%s:%d: wrong top-level tag <%s>\n", fname, root->line, root->name); in rnn_parsefile()
943 if (validate_doc(db, doc, root)) { in rnn_parsefile()
944 rnn_err(db, "%s: database file has errors\n", fname); in rnn_parsefile()
949 } else if (!trytop(db, fname, chain) && !trydoc(db, fname, chain)) { in rnn_parsefile()
950 rnn_err(db, "%s:%d: wrong tag in database: <%s>\n", fname, chain->line, chain->name); in rnn_parsefile()
1028 static void prepenum(struct rnndb *db, struct rnnenum *en);
1030 static int findvidx (struct rnndb *db, struct rnnenum *en, char *name) { in findvidx() argument
1035 rnn_err(db, "Cannot find variant %s in enum %s!\n", name, en->name); in findvidx()
1039 static void prepvarinfo (struct rnndb *db, char *what, struct rnnvarinfo *vi, struct rnnvarinfo *pa… in prepvarinfo() argument
1046 vi->prefenum = rnn_findenum(db, vi->prefixstr); // XXX in prepvarinfo()
1056 varset = rnn_findenum(db, vi->varsetstr); in prepvarinfo()
1060 rnn_err(db, "%s: tried to use variants without active varset!\n", what); in prepvarinfo()
1089 int idx = findvidx(db, varset, first); in prepvarinfo()
1102 idx1 = findvidx(db, varset, first); in prepvarinfo()
1105 idx2 = findvidx(db, varset, second); in prepvarinfo()
1145 static void prepvalue(struct rnndb *db, struct rnnvalue *val, char *prefix, struct rnnvarinfo *parv… in prepvalue() argument
1147 prepvarinfo (db, val->fullname, &val->varinfo, parvi); in prepvalue()
1154 static void prepbitfield(struct rnndb *db, struct rnnbitfield *bf, char *prefix, struct rnnvarinfo …
1156 static void preptypeinfo(struct rnndb *db, struct rnntypeinfo *ti, char *prefix, struct rnnvarinfo … in preptypeinfo() argument
1159 struct rnnenum *en = rnn_findenum (db, ti->name); in preptypeinfo()
1160 struct rnnbitset *bs = rnn_findbitset (db, ti->name); in preptypeinfo()
1161 struct rnnspectype *st = rnn_findspectype (db, ti->name); in preptypeinfo()
1209 rnn_err(db, "%s: unknown type %s\n", prefix, ti->name); in preptypeinfo()
1225 rnn_err(db, "%s: addvariant specified on non-enum type %s\n", prefix, ti->name); in preptypeinfo()
1228 prepbitfield(db, ti->bitfields[i], prefix, vi); in preptypeinfo()
1230 prepvalue(db, ti->vals[i], prefix, vi); in preptypeinfo()
1233 static void prepbitfield(struct rnndb *db, struct rnnbitfield *bf, char *prefix, struct rnnvarinfo … in prepbitfield() argument
1235 prepvarinfo (db, bf->fullname, &bf->varinfo, parvi); in prepbitfield()
1238 preptypeinfo(db, &bf->typeinfo, bf->fullname, &bf->varinfo, bf->file); in prepbitfield()
1243 static void prepdelem(struct rnndb *db, struct rnndelem *elem, char *prefix, struct rnnvarinfo *par… in prepdelem() argument
1247 for (i = 0; i < db->groupsnum; i++) in prepdelem()
1248 if (!strcmp(db->groups[i]->name, elem->name)) { in prepdelem()
1249 gr = db->groups[i]; in prepdelem()
1256 rnn_err(db, "group %s not found!\n", elem->name); in prepdelem()
1264 prepvarinfo (db, elem->fullname?elem->fullname:prefix, &elem->varinfo, parvi); in prepdelem()
1269 rnn_err(db, "%s has non-1 length, but no stride!\n", elem->fullname); in prepdelem()
1274 preptypeinfo(db, &elem->typeinfo, elem->name?elem->fullname:prefix, &elem->varinfo, elem->file); in prepdelem()
1278 prepdelem(db, elem->subelems[i], elem->name?elem->fullname:prefix, &elem->varinfo, width); in prepdelem()
1283 static void prepdomain(struct rnndb *db, struct rnndomain *dom) { in prepdomain() argument
1284 prepvarinfo (db, dom->name, &dom->varinfo, 0); in prepdomain()
1287 prepdelem(db, dom->subelems[i], dom->bare?0:dom->name, &dom->varinfo, dom->width); in prepdomain()
1291 static void prepenum(struct rnndb *db, struct rnnenum *en) { in prepenum() argument
1294 prepvarinfo (db, en->name, &en->varinfo, 0); in prepenum()
1299 prepvalue(db, en->vals[i], en->bare?0:en->name, &en->varinfo); in prepenum()
1304 static void prepbitset(struct rnndb *db, struct rnnbitset *bs) { in prepbitset() argument
1305 prepvarinfo (db, bs->name, &bs->varinfo, 0); in prepbitset()
1310 prepbitfield(db, bs->bitfields[i], bs->bare?0:bs->name, &bs->varinfo); in prepbitset()
1314 static void prepspectype(struct rnndb *db, struct rnnspectype *st) { in prepspectype() argument
1315 preptypeinfo(db, &st->typeinfo, st->name, 0, st->file); // XXX doesn't exactly make sense... in prepspectype()
1318 void rnn_prepdb (struct rnndb *db) { in rnn_prepdb() argument
1320 for (i = 0; i < db->enumsnum; i++) in rnn_prepdb()
1321 prepenum(db, db->enums[i]); in rnn_prepdb()
1322 for (i = 0; i < db->bitsetsnum; i++) in rnn_prepdb()
1323 prepbitset(db, db->bitsets[i]); in rnn_prepdb()
1324 for (i = 0; i < db->domainsnum; i++) in rnn_prepdb()
1325 prepdomain(db, db->domains[i]); in rnn_prepdb()
1326 for (i = 0; i < db->spectypesnum; i++) in rnn_prepdb()
1327 prepspectype(db, db->spectypes[i]); in rnn_prepdb()
1330 struct rnnenum *rnn_findenum (struct rnndb *db, const char *name) { in rnn_findenum() argument
1332 for (i = 0; i < db->enumsnum; i++) in rnn_findenum()
1333 if (!strcmp(db->enums[i]->name, name)) in rnn_findenum()
1334 return db->enums[i]; in rnn_findenum()
1338 struct rnnbitset *rnn_findbitset (struct rnndb *db, const char *name) { in rnn_findbitset() argument
1340 for (i = 0; i < db->bitsetsnum; i++) in rnn_findbitset()
1341 if (!strcmp(db->bitsets[i]->name, name)) in rnn_findbitset()
1342 return db->bitsets[i]; in rnn_findbitset()
1346 struct rnndomain *rnn_finddomain (struct rnndb *db, const char *name) { in rnn_finddomain() argument
1348 for (i = 0; i < db->domainsnum; i++) in rnn_finddomain()
1349 if (!strcmp(db->domains[i]->name, name)) in rnn_finddomain()
1350 return db->domains[i]; in rnn_finddomain()
1354 struct rnnspectype *rnn_findspectype (struct rnndb *db, const char *name) { in rnn_findspectype() argument
1356 for (i = 0; i < db->spectypesnum; i++) in rnn_findspectype()
1357 if (!strcmp(db->spectypes[i]->name, name)) in rnn_findspectype()
1358 return db->spectypes[i]; in rnn_findspectype()