diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2013-09-13 15:38:03 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2013-09-13 15:38:03 +0300 |
commit | 81fc175db21bc0e18b69db37bb3c27bb59f2ae82 (patch) | |
tree | a06fb78236546bd1eee85b7679ecbff1597a41a2 /field.c | |
parent | 4661f6cb95c365c434b753cdf6d4c1251f321230 (diff) | |
parent | 2fcffaeee37416708fab505209a55ddd32846463 (diff) | |
download | egawk-81fc175db21bc0e18b69db37bb3c27bb59f2ae82.tar.gz egawk-81fc175db21bc0e18b69db37bb3c27bb59f2ae82.tar.bz2 egawk-81fc175db21bc0e18b69db37bb3c27bb59f2ae82.zip |
Merge branch 'gawk-4.1-stable'
Diffstat (limited to 'field.c')
-rw-r--r-- | field.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -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]); |