aboutsummaryrefslogtreecommitdiffstats
path: root/io.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2011-05-14 22:37:30 +0300
committerArnold D. Robbins <arnold@skeeve.com>2011-05-14 22:37:30 +0300
commit08e3f49c0a98bcbc327a8e7e260386b0b22d3988 (patch)
tree151331f69c9b5bbc1800da969fb935cc94e3877c /io.c
parent3750f26244a32a1b077f1a796f26ffd10b2a7b6b (diff)
downloadegawk-08e3f49c0a98bcbc327a8e7e260386b0b22d3988.tar.gz
egawk-08e3f49c0a98bcbc327a8e7e260386b0b22d3988.tar.bz2
egawk-08e3f49c0a98bcbc327a8e7e260386b0b22d3988.zip
Day one bug fix, z/OS fix, new test.
Diffstat (limited to 'io.c')
-rw-r--r--io.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/io.c b/io.c
index 401b4def..7d15e292 100644
--- a/io.c
+++ b/io.c
@@ -327,10 +327,12 @@ nextfile(IOBUF **curfile, int skipping)
for (; i < (long) (ARGC_node->lnode->numbr); i++) {
tmp = make_number((AWKNUM) i);
- arg = *assoc_lookup(ARGV_node, tmp, FALSE);
+ (void) force_string(tmp);
+ arg = in_array(ARGV_node, tmp);
unref(tmp);
- if (arg->stlen == 0)
+ if (arg == NULL || arg->stlen == 0)
continue;
+ arg = force_string(arg);
arg->stptr[arg->stlen] = '\0';
if (! do_traditional) {
unref(ARGIND_node->var_value);