#define MAXFLD 100
int donefld; /* 1 = implies rec broken into fields */
int donerec; /* 1 = record is valid (no flds have changed) */
int mustfld; /* 1 = NF seen, so always break*/
#define MAXFLD 100
int donefld; /* 1 = implies rec broken into fields */
int donerec; /* 1 = record is valid (no flds have changed) */
int mustfld; /* 1 = NF seen, so always break*/
-#define FINIT {0, NULL, 0.0, FLD|STR}
+#define FINIT {EMPTY, EMPTY, 0.0, FLD|STR}
cell fldtab[MAXFLD] = { /*room for fields */
{ "$record", record, 0.0, STR|FLD},
FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
cell fldtab[MAXFLD] = { /*room for fields */
{ "$record", record, 0.0, STR|FLD},
FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
if (i >= MAXFLD)
error(FATAL, "record `%.20s...' has too many fields", record);
if (!(fldtab[i].tval&FLD))
if (i >= MAXFLD)
error(FATAL, "record `%.20s...' has too many fields", record);
if (!(fldtab[i].tval&FLD))
if (i >= MAXFLD)
error(FATAL, "record `%.20s...' has too many fields", record);
if (!(fldtab[i].tval&FLD))
if (i >= MAXFLD)
error(FATAL, "record `%.20s...' has too many fields", record);
if (!(fldtab[i].tval&FLD))
fldtab[i].sval = fr;
fldtab[i].tval = FLD | STR;
while (*r != sep && *r != '\n' && *r != '\0') /* \n always a separator */
fldtab[i].sval = fr;
fldtab[i].tval = FLD | STR;
while (*r != sep && *r != '\n' && *r != '\0') /* \n always a separator */