From 0d1a4f152fa45eda08b5877e4989c3250beb280e Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Wed, 10 Aug 2011 22:11:43 +0300 Subject: Fix problem with FIELDWIDTHS. --- field.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'field.c') diff --git a/field.c b/field.c index 0b9c1008..148f8f0b 100644 --- a/field.c +++ b/field.c @@ -1126,10 +1126,12 @@ set_FIELDWIDTHS() FIELDWIDTHS[0] = 0; for (i = 1; ; i++) { unsigned long int tmp; - if (i + 1 >= fw_alloc) { + if (i + 2 >= fw_alloc) { fw_alloc *= 2; erealloc(FIELDWIDTHS, int *, fw_alloc * sizeof(int), "set_FIELDWIDTHS"); } + /* Initialize value to be end of list */ + FIELDWIDTHS[i] = -1; /* Ensure that there is no leading `-' sign. Otherwise, strtoul would accept it and return a bogus result. */ while (is_blank(*scan)) { @@ -1163,8 +1165,6 @@ set_FIELDWIDTHS() if (*scan == '\0') break; } - if (i == 1) /* empty string! */ - i--; FIELDWIDTHS[i+1] = -1; update_PROCINFO_str("FS", "FIELDWIDTHS"); -- cgit v1.2.3