]> git.pond.sub.org Git - empserver/blobdiff - src/lib/common/xundump.c
(need_uid, is_partial): Rename.
[empserver] / src / lib / common / xundump.c
index e34dcb3a567e7deb688211b4dd52fd03675eadbd..68d894abf4a8ef2337d260c2a21ed472e9b3bd77 100644 (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)