Make xundump oops on virtual selectors
Commit da8a1dae
(v4.3.12) introduced virtual selectors, but neglected
to update xundump. Xundump can't work for them, because they don't
provide a setter method.
This didn't actually break anything, because all virtual selectors
have flag NSC_EXTRA set, or are in table EF_VERSION, which xundump
refuses to touch.
Make deffld() oops on virtual selector, just to be safe.
This commit is contained in:
parent
3b4de2feb1
commit
a38625d9a4
2 changed files with 5 additions and 2 deletions
|
@ -213,8 +213,10 @@ enum {
|
|||
* NP points to the country to use for coordinate translation and
|
||||
* access control (null for none), and CTXO is the context object.
|
||||
* See struct valstr for details.
|
||||
* Because virtual selectors don't have a setter method, xundump must
|
||||
* be made to ignore them, e.g. by setting NSC_EXTRA.
|
||||
* If flag NSC_DEITY is set, only to deities can use this selector.
|
||||
* If flag NSC_EXTRA is set, xdump ignores this selector.
|
||||
* If flag NSC_EXTRA is set, xdump and xundump ignore this selector.
|
||||
* If flag NSC_CONST is set, the datum can't be changed from its
|
||||
* initial value (xundump obeys that).
|
||||
* If ca_table is not EF_BAD, the datum refers to that Empire table;
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
* - Check each partial table supplies the same rows
|
||||
* - Check EFF_CFG tables are dense
|
||||
* - Symbolic array indexes
|
||||
* - Option to treat missing and unknown fields as warning, not error
|
||||
* TODO, but hardly worth the effort:
|
||||
* - Permit reordering of array elements
|
||||
*/
|
||||
|
@ -352,7 +353,7 @@ deffld(int fldno, char *name, int idx)
|
|||
if (res < 0)
|
||||
return gripe("Header %s of field %d is %s", name, fldno + 1,
|
||||
res == M_NOTUNIQUE ? "ambiguous" : "unknown");
|
||||
if (ca[res].ca_flags == NSC_EXTRA)
|
||||
if (ca[res].ca_flags == NSC_EXTRA || CANT_HAPPEN(ca[res].ca_get))
|
||||
return gripe("Extraneous header %s in field %d", name, fldno + 1);
|
||||
if (ca[res].ca_type != NSC_STRINGY && ca[res].ca_len != 0) {
|
||||
if (idx < 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue