Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: $(<nofile) doesn't set $? to non-zero



2018-03-15 11:10:14 +0000, Stephane Chazelas:
> 2018-03-15 09:23:05 +0000, Peter Stephenson:
> [...]
> > That should be more consistent, thanks.  I've committed it (minor
> > tweaks).
> [...]
> 
> Sorry, my bad, I've left an unused variable in the patch.
[...]

And worse, didn't even test the obvious $(<existing-file).

I promiss I'll do a "make test" in the future before submitting
any patch! Sorry again.


diff --git a/Src/Modules/mapfile.c b/Src/Modules/mapfile.c
index 771e5b5..7a90341 100644
--- a/Src/Modules/mapfile.c
+++ b/Src/Modules/mapfile.c
@@ -197,9 +197,8 @@ get_contents(char *fname)
     val = NULL;
     if ((fd = open(fname, O_RDONLY | O_NOCTTY)) >= 0) {
 	LinkList ll;
-	int readerror;
 
-	if ((ll = readoutput(fd, 1, &readerror)))
+	if ((ll = readoutput(fd, 1, 0)))
 	    val = peekfirst(ll);
     }
 #endif /* USE_MMAP */
diff --git a/Src/exec.c b/Src/exec.c
index ce8cf8c..35b0bb1 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -4599,8 +4599,8 @@ readoutput(int in, int qt, int *readerror)
 	}
 	*ptr++ = c;
     }
-    if (readerror && ferror(fin))
-	*readerror = errno;
+    if (readerror)
+	*readerror = ferror(fin) ? errno : 0;
     fclose(fin);
     while (cnt && ptr[-1] == '\n')
 	ptr--, cnt--;



Messages sorted by: Reverse Date, Date, Thread, Author