commit 426e6d37c5314482a7ebb32935f23f4b7176eb3e
parent 4dd9aadf8a5a94346ba19f479fdb38dbe7e41370
Author: Benno Schulenberg <bensberg@telfort.nl>
Date: Fri, 23 Jun 2017 08:27:06 +0200
startup: don't try placing the cursor when reading standard input failed
And rename the function while there anyway.
Diffstat:
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/nano.c b/src/nano.c
@@ -1113,8 +1113,8 @@ RETSIGTYPE cancel_stdin_pager(int signal)
pager_input_aborted = TRUE;
}
-/* Let nano read stdin for the first file at least. */
-void stdin_pager(void)
+/* Read whatever comes from standard input into a new buffer. */
+bool scoop_stdin(void)
{
FILE *stream;
int thetty;
@@ -1151,7 +1151,7 @@ void stdin_pager(void)
terminal_init();
doupdate();
statusline(ALERT, _("Failed to open stdin: %s"), strerror(errnumber));
- return;
+ return FALSE;
}
/* Read the input into a new buffer. */
@@ -1174,6 +1174,7 @@ void stdin_pager(void)
terminal_init();
doupdate();
set_modified();
+ return TRUE;
}
/* Register half a dozen signal handlers. */
@@ -2534,10 +2535,11 @@ int main(int argc, char **argv)
statusline(ALERT, _("Invalid line or column number"));
}
- /* If the filename is a dash, read from standard input. Otherwise,
- * open the file, but skip positioning the cursor if it failed. */
+ /* If the filename is a dash, read from standard input; otherwise,
+ * open the file; skip positioning the cursor if either failed. */
if (strcmp(argv[optind], "-") == 0) {
- stdin_pager();
+ if (!scoop_stdin())
+ continue;
optind++;
} else if (!open_buffer(argv[optind++], FALSE))
continue;