Symbolic names for table entries in conditionals, closes #928376:

(ef_elt_byname): New.
(nstr_match_val): Use it to generalize to arbitrary table with
uniquely named elements.  Use ca_type to find table, remove parameter
type.  Callers changed.
(nstr_mkselval): Adapt sanity check accordingly.
(NSC_TYPEID): No longer needed, remove, users changed to use
appropriate integer type instead.  This fixes signedness of sector
selectors des and newdes.
(meta_type): Remove entry for NSC_TYPEID.
(nstr_coerce_val): Can't detect typeid - integer mismatch anymore.
Was nice to have; perhaps revive it later.
This commit is contained in:
Markus Armbruster 2006-06-01 18:48:42 +00:00
parent 15635c25ae
commit c432e3107d
9 changed files with 72 additions and 42 deletions

View file

@ -97,7 +97,7 @@ verify_row(int type, int row)
val.val_as.sym.len = ca[i].ca_len;
val.val_as.sym.idx = j;
nstr_exec_val(&val, 0, row_ref, NSC_NOTYPE);
if (val.val_type != NSC_LONG && val.val_type != NSC_TYPEID)
if (val.val_type != NSC_LONG)
continue;
ca_sym = ef_cadef(ca[i].ca_table);
if (ca[i].ca_flags & NSC_BITS) {