aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main.c14
-rw-r--r--nsxiv.12
2 files changed, 10 insertions, 6 deletions
diff --git a/main.c b/main.c
index a4af92b..5bab026 100644
--- a/main.c
+++ b/main.c
@@ -105,6 +105,14 @@ void cleanup(void)
win_close(&win);
}
+static bool xgetline(char **lineptr, size_t *n)
+{
+ ssize_t len = getdelim(lineptr, n, options->using_null ? '\0' : '\n', stdin);
+ if (!options->using_null && len > 0 && (*lineptr)[len-1] == '\n')
+ (*lineptr)[len-1] = '\0';
+ return len > 0;
+}
+
void check_add_file(char *filename, bool given)
{
char *path;
@@ -853,7 +861,6 @@ int main(int argc, char *argv[])
{
int i, start;
size_t n;
- ssize_t len;
char *filename;
const char *homedir, *dsuffix = "";
struct stat fstats;
@@ -889,11 +896,8 @@ int main(int argc, char *argv[])
if (options->from_stdin) {
n = 0;
filename = NULL;
- while ((len = getline(&filename, &n, stdin)) > 0) {
- if (filename[len-1] == '\n')
- filename[len-1] = '\0';
+ while (xgetline(&filename, &n))
check_add_file(filename, true);
- }
free(filename);
}
diff --git a/nsxiv.1 b/nsxiv.1
index 280ba23..f968f3b 100644
--- a/nsxiv.1
+++ b/nsxiv.1
@@ -128,7 +128,7 @@ Set zoom level to ZOOM percent.
.TP
.B \-0
Use NULL-separator. With this option output of \-o and file-list sent to the
-key-handler will be seperated by a NULL character.
+key-handler and the input of \-i will be seperated by a NULL character.
.SH KEYBOARD COMMANDS
.SS General
The following keyboard commands are available in both image and thumbnail mode: