aboutsummaryrefslogtreecommitdiffstats
path: root/field.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2013-09-22 16:57:11 +0300
committerArnold D. Robbins <arnold@skeeve.com>2013-09-22 16:57:11 +0300
commitda83b6857bf0a67b15fc75d31a0b6802ac9baffe (patch)
tree399e9f1ec800b5405f9b494060481a8420480caf /field.c
parente149eb882355f427d43928324145c971a0562c5e (diff)
parent8aa14c5f3cf78f90b589785a9ffe5f7f02050b37 (diff)
downloadegawk-da83b6857bf0a67b15fc75d31a0b6802ac9baffe.tar.gz
egawk-da83b6857bf0a67b15fc75d31a0b6802ac9baffe.tar.bz2
egawk-da83b6857bf0a67b15fc75d31a0b6802ac9baffe.zip
Merge branch 'master' into comment
Diffstat (limited to 'field.c')
-rw-r--r--field.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/field.c b/field.c
index 3cd66067..0a7cee8f 100644
--- a/field.c
+++ b/field.c
@@ -85,13 +85,19 @@ void
init_fields()
{
emalloc(fields_arr, NODE **, sizeof(NODE *), "init_fields");
- fields_arr[0] = dupnode(Nnull_string);
+
+ getnode(fields_arr[0]);
+ *fields_arr[0] = *Nnull_string;
+ fields_arr[0]->flags |= NULL_FIELD;
+
parse_extent = fields_arr[0]->stptr;
save_FS = dupnode(FS_node->var_value);
+
getnode(Null_field);
*Null_field = *Nnull_string;
Null_field->valref = 1;
- Null_field->flags = (FIELD|STRCUR|STRING);
+ Null_field->flags = (FIELD|STRCUR|STRING|NULL_FIELD);
+
field0_valid = true;
}
@@ -348,6 +354,7 @@ set_NF()
*n = *Null_field;
fields_arr[i] = n;
}
+ parse_high_water = NF;
} else if (parse_high_water > 0) {
for (i = NF + 1; i >= 0 && i <= parse_high_water; i++) {
unref(fields_arr[i]);