From 426e6d37c5314482a7ebb32935f23f4b7176eb3e Mon Sep 17 00:00:00 2001 From: Benno Schulenberg <bensberg@telfort.nl> Date: Fri, 23 Jun 2017 08:27:06 +0200 Subject: [PATCH] startup: don't try placing the cursor when reading standard input failed And rename the function while there anyway. --- src/nano.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/nano.c b/src/nano.c index 0acd8479..1d8991e2 100644 --- 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; -- GitLab