version 1.20, 2020/06/10 21:00:31 |
version 1.21, 2020/06/10 21:01:32 |
|
|
Cell *nrloc; /* NR */ |
Cell *nrloc; /* NR */ |
Cell *nfloc; /* NF */ |
Cell *nfloc; /* NF */ |
Cell *fnrloc; /* FNR */ |
Cell *fnrloc; /* FNR */ |
|
Cell *ofsloc; /* OFS */ |
|
Cell *orsloc; /* ORS */ |
|
Cell *rsloc; /* RS */ |
Array *ARGVtab; /* symbol table containing ARGV[...] */ |
Array *ARGVtab; /* symbol table containing ARGV[...] */ |
Array *ENVtab; /* symbol table containing ENVIRON[...] */ |
Array *ENVtab; /* symbol table containing ENVIRON[...] */ |
Cell *rstartloc; /* RSTART */ |
Cell *rstartloc; /* RSTART */ |
Cell *rlengthloc; /* RLENGTH */ |
Cell *rlengthloc; /* RLENGTH */ |
|
Cell *subseploc; /* SUBSEP */ |
Cell *symtabloc; /* SYMTAB */ |
Cell *symtabloc; /* SYMTAB */ |
|
|
Cell *nullloc; /* a guaranteed empty cell */ |
Cell *nullloc; /* a guaranteed empty cell */ |
|
|
|
|
fsloc = setsymtab("FS", " ", 0.0, STR|DONTFREE, symtab); |
fsloc = setsymtab("FS", " ", 0.0, STR|DONTFREE, symtab); |
FS = &fsloc->sval; |
FS = &fsloc->sval; |
RS = &setsymtab("RS", "\n", 0.0, STR|DONTFREE, symtab)->sval; |
rsloc = setsymtab("RS", "\n", 0.0, STR|DONTFREE, symtab); |
OFS = &setsymtab("OFS", " ", 0.0, STR|DONTFREE, symtab)->sval; |
RS = &rsloc->sval; |
ORS = &setsymtab("ORS", "\n", 0.0, STR|DONTFREE, symtab)->sval; |
ofsloc = setsymtab("OFS", " ", 0.0, STR|DONTFREE, symtab); |
|
OFS = &ofsloc->sval; |
|
orsloc = setsymtab("ORS", "\n", 0.0, STR|DONTFREE, symtab); |
|
ORS = &orsloc->sval; |
OFMT = &setsymtab("OFMT", "%.6g", 0.0, STR|DONTFREE, symtab)->sval; |
OFMT = &setsymtab("OFMT", "%.6g", 0.0, STR|DONTFREE, symtab)->sval; |
CONVFMT = &setsymtab("CONVFMT", "%.6g", 0.0, STR|DONTFREE, symtab)->sval; |
CONVFMT = &setsymtab("CONVFMT", "%.6g", 0.0, STR|DONTFREE, symtab)->sval; |
FILENAME = &setsymtab("FILENAME", "", 0.0, STR|DONTFREE, symtab)->sval; |
FILENAME = &setsymtab("FILENAME", "", 0.0, STR|DONTFREE, symtab)->sval; |
|
|
NR = &nrloc->fval; |
NR = &nrloc->fval; |
fnrloc = setsymtab("FNR", "", 0.0, NUM, symtab); |
fnrloc = setsymtab("FNR", "", 0.0, NUM, symtab); |
FNR = &fnrloc->fval; |
FNR = &fnrloc->fval; |
SUBSEP = &setsymtab("SUBSEP", "\034", 0.0, STR|DONTFREE, symtab)->sval; |
subseploc = setsymtab("SUBSEP", "\034", 0.0, STR|DONTFREE, symtab); |
|
SUBSEP = &subseploc->sval; |
rstartloc = setsymtab("RSTART", "", 0.0, NUM, symtab); |
rstartloc = setsymtab("RSTART", "", 0.0, NUM, symtab); |
RSTART = &rstartloc->fval; |
RSTART = &rstartloc->fval; |
rlengthloc = setsymtab("RLENGTH", "", 0.0, NUM, symtab); |
rlengthloc = setsymtab("RLENGTH", "", 0.0, NUM, symtab); |
|
|
} else if (isrec(vp)) { |
} else if (isrec(vp)) { |
donefld = 0; /* mark $1... invalid */ |
donefld = 0; /* mark $1... invalid */ |
donerec = 1; |
donerec = 1; |
|
} else if (vp == ofsloc) { |
|
if (donerec == 0) |
|
recbld(); |
} |
} |
if (freeable(vp)) |
if (freeable(vp)) |
xfree(vp->sval); /* free any previous string */ |
xfree(vp->sval); /* free any previous string */ |
|
|
} else if (isrec(vp)) { |
} else if (isrec(vp)) { |
donefld = 0; /* mark $1... invalid */ |
donefld = 0; /* mark $1... invalid */ |
donerec = 1; |
donerec = 1; |
} else if (&vp->sval == OFS) { |
} else if (vp == ofsloc) { |
if (donerec == 0) |
if (donerec == 0) |
recbld(); |
recbld(); |
} |
} |