aboutsummaryrefslogtreecommitdiffstats
path: root/io.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-07-24 18:08:29 -0400
committerArnold D. Robbins <arnold@skeeve.com>2014-07-24 18:08:29 -0400
commit37e5d574d1d2d48fcee475791e9b549a02e04eee (patch)
treefffc2b62a64b8a4771ed2f0ccb7b0fb11d9132a3 /io.c
parent0eb7c07d8527a73cf2ab3896853da7a386d85545 (diff)
parent91f979adfcc3c19bec24fc5272c23c065ba3040b (diff)
downloadegawk-37e5d574d1d2d48fcee475791e9b549a02e04eee.tar.gz
egawk-37e5d574d1d2d48fcee475791e9b549a02e04eee.tar.bz2
egawk-37e5d574d1d2d48fcee475791e9b549a02e04eee.zip
Merge branch 'gawk-4.1-stable'
Diffstat (limited to 'io.c')
-rw-r--r--io.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/io.c b/io.c
index 57d4af22..45b5015f 100644
--- a/io.c
+++ b/io.c
@@ -574,12 +574,12 @@ set_NR()
/* inrec --- This reads in a record from the input file */
-int
+bool
inrec(IOBUF *iop, int *errcode)
{
char *begin;
int cnt;
- int retval = 0;
+ bool retval = true;
if (at_eof(iop) && no_data_left(iop))
cnt = EOF;
@@ -589,13 +589,17 @@ inrec(IOBUF *iop, int *errcode)
cnt = get_a_record(& begin, iop, errcode);
if (cnt == EOF) {
- retval = 1;
+ retval = false;
if (*errcode > 0)
update_ERRNO_int(*errcode);
} else {
INCREMENT_REC(NR);
INCREMENT_REC(FNR);
set_record(begin, cnt);
+ if (*errcode > 0) {
+ update_ERRNO_int(*errcode);
+ retval = false;
+ }
}
return retval;