Fixed empty lines in readline()

This commit is contained in:
Bert 2011-02-15 15:30:37 +01:00
parent cfed65d36f
commit e8ed491ba9
3 changed files with 5 additions and 5 deletions

View File

@ -1,6 +1,6 @@
all: sxiv all: sxiv
VERSION=git-20110214 VERSION=git-20110215
CC?=gcc CC?=gcc
PREFIX?=/usr/local PREFIX?=/usr/local

2
main.c
View File

@ -91,7 +91,7 @@ int main(int argc, char **argv) {
if (options->from_stdin) { if (options->from_stdin) {
while ((filename = readline(stdin))) { while ((filename = readline(stdin))) {
if (!check_append(filename)) if (!*filename || !check_append(filename))
free((void*) filename); free((void*) filename);
} }
} else { } else {

6
util.c
View File

@ -102,11 +102,11 @@ char* readline(FILE *stream) {
} }
} while (!end && !feof(stream) && !ferror(stream)); } while (!end && !feof(stream) && !ferror(stream));
if (!ferror(stream) && *buf) { if (ferror(stream)) {
s = NULL;
} else {
s = (char*) s_malloc((strlen(buf) + 1) * sizeof(char)); s = (char*) s_malloc((strlen(buf) + 1) * sizeof(char));
strcpy(s, buf); strcpy(s, buf);
} else {
s = NULL;
} }
free(buf); free(buf);