diff options
Diffstat (limited to '')
-rw-r--r-- | lcd4linux.c | 2 | ||||
-rw-r--r-- | plugin_file.c | 7 | ||||
-rw-r--r-- | plugin_imon.c | 2 |
3 files changed, 4 insertions, 7 deletions
diff --git a/lcd4linux.c b/lcd4linux.c index 33a41e7..eee332b 100644 --- a/lcd4linux.c +++ b/lcd4linux.c @@ -82,7 +82,7 @@ static void interactive_mode(void) RESULT result = { 0, 0, 0, NULL }; printf("\neval> "); - for (fgets(line, 1024, stdin); !feof(stdin); fgets(line, 1024, stdin)) { + for (fgets(line, sizeof(line), stdin); !feof(stdin); fgets(line, sizeof(line), stdin)) { if (line[strlen(line) - 1] == '\n') line[strlen(line) - 1] = '\0'; if (strlen(line) > 0) { diff --git a/plugin_file.c b/plugin_file.c index 3492ea5..a246870 100644 --- a/plugin_file.c +++ b/plugin_file.c @@ -55,7 +55,6 @@ static void my_readline(RESULT * result, RESULT * arg1, RESULT * arg2) { char value[80], val2[80]; - char *pos; FILE *fp; int reqline, i, size; @@ -68,14 +67,12 @@ static void my_readline(RESULT * result, RESULT * arg1, RESULT * arg2) i = 0; while (!feof(fp) && i++ < reqline) { fgets(val2, sizeof(val2), fp); - size = strcspn(val2, "\n"); + size = strcspn(val2, "\r\n"); strncpy(value, val2, size); value[size] = '\0'; - pos = strchr(val2, '\n'); /* more than 80 chars, chew up rest of line */ - while (!pos) { + while (!feof(fp) && strchr(val2, '\n') == NULL) { fgets(val2, sizeof(val2), fp); - pos = strchr(val2, '\n'); } } fclose(fp); diff --git a/plugin_imon.c b/plugin_imon.c index 943712d..67217a5 100644 --- a/plugin_imon.c +++ b/plugin_imon.c @@ -185,7 +185,7 @@ static void phonebook(char *number) if (!fp) return; - while (fgets(line, 128, fp)) { + while (fgets(line, sizeof(line), fp)) { if (*line == '#') continue; if (!strncmp(line, number, strlen(number))) { |