From 41d245f9e30f5ffe9ca7492f853f75db259b01fc Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 21 Mar 2007 05:01:11 +0000 Subject: plugin_file patch from Mark Richards git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@782 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- lcd4linux.c | 2 +- plugin_file.c | 7 ++----- 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))) { -- cgit v1.2.3