Changeset 3470
- Timestamp:
- 08/09/07 18:04:11 (1 year ago)
- Files:
-
- branches/common-nfo/tools/nfotiser/nfotiser.h (modified) (1 diff)
- branches/common-nfo/tools/nfotiser/parser.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/common-nfo/tools/nfotiser/nfotiser.h
r3468 r3470 45 45 CIRCLEQ_ENTRY(parser_res) e; 46 46 parser_kwords keyword; 47 enum parser_kwtype itype; 47 48 char *kw_multi; 48 49 unsigned kw_iter; branches/common-nfo/tools/nfotiser/parser.c
r3465 r3470 105 105 char *entry_multi; 106 106 unsigned entry_iter; 107 enum parser_kwtype entry_type; 107 108 108 109 res = xmalloc(sizeof (struct parser_result)); … … 218 219 219 220 /* exact match? */ 220 if (!strcasecmp(cp, kwp->kwprefix)) 221 /* yepp */ break; 221 if (!strcasecmp(cp, kwp->kwprefix)) { 222 /* yep */ 223 entry_type = KWT_NORMAL; 224 break; 225 } 222 226 /* prefix match allowed? */ 223 227 if (kwp->kwtype == KWT_NORMAL) … … 230 234 /* okay, we got a prefix match, get args */ 231 235 np = cp + n + 1; 236 entry_type = kwp->kwtype; 232 237 if (kwp->kwtype == KWT_ITERATED || 233 238 (kwp->kwtype == KWT_MULTITOP && … … 250 255 entry_iter = (unsigned)strtoul(np, NULL, 0); 251 256 np = zp; 257 if (kwp->kwtype == KWT_MULTITOP) 258 entry_type = KWT_MULTITER; 252 259 } 260 if (kwp->kwtype == KWT_MULTITOP) 261 entry_type = KWT_MULTI; 253 262 if (kwp->kwtype == KWT_MULTI || 254 263 kwp->kwtype == KWT_MULTITOP || … … 263 272 bzero(entry, sizeof (struct parser_res)); 264 273 entry->keyword = kwp->kwnum; 274 entry->itype = entry_type; 265 275 entry->kw_multi = entry_multi; 266 276 entry->kw_iter = entry_iter;


