(need_uid, is_partial): Rename.

(xuheader1, chkflds): Collect all code dealing with index field of
vertically split tables in chkflds().
This commit is contained in:
Markus Armbruster 2006-02-19 15:15:40 +00:00
parent c596577d32
commit c12cc62875

View file

@ -53,7 +53,7 @@
static char *fname;
static int lineno;
static int human;
static int ellipsis, need_uid;
static int ellipsis, is_partial;
static int cur_type, cur_id;
static void *cur_obj;
static int nflds;
@ -325,7 +325,7 @@ defellipsis(int fldno)
if (ca[0].ca_table != cur_type)
return gripe("Table %s doesn't support ...", ef_nameof(cur_type));
ellipsis = fldno;
need_uid = 1;
is_partial = 1;
return 0;
}
@ -335,9 +335,12 @@ chkflds(void)
struct castr *ca = ef_cadef(cur_type);
int i, len, res = 0;
if (need_uid) {
if (is_partial) {
/* Require index field */
if (!caflds[0])
return gripe("Header field %s required with ...", ca[0].ca_name);
/* Want the index field again in continued table: */
caflds[0] = 0;
return 0;
}
@ -659,8 +662,6 @@ xuheader1(FILE *fp, int type, struct castr ca[])
int ch, i, j, n;
if (human) {
/* Allow repetition of the index field in continued table: */
caflds[0] = 0;
while ((ch = skipfs(fp)) == '\n')
lineno++;
ungetc(ch, fp);
@ -760,7 +761,7 @@ xundump(FILE *fp, char *file, int expected_table)
static int
xundump2(FILE *fp, int type, struct castr *ca)
{
need_uid = 0;
is_partial = 0;
for (;;) {
if (xuheader1(fp, type, ca) < 0)