From be1f4fe7ac5010e953f33f27fe1dfbd4947cdbe7 Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Tue, 20 Dec 2005 07:34:41 +0000 Subject: [PATCH] Fixed wrong comparison SVN revision: 1579 --- src/elogd.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/elogd.c b/src/elogd.c index ee53c004..b15cb2d4 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -103,6 +103,7 @@ typedef int BOOL; #include #include #include +#include #define closesocket(s) close(s) @@ -1049,10 +1050,16 @@ int subst_shell(char *cmd, char *result, int size) i = read(pipe, buffer, sizeof(buffer)); if (i <= 0) break; + buffer[i] = 0; strlcat(result, buffer, size); } } while (1); + + /* strip trailing CR/LF */ + while (strlen(result) > 0 && (result[strlen(result)-1] == '\r' || result[strlen(result)-1] == '\n')) + result[strlen(result)-1] = 0; + } else { /* child process */ @@ -1106,7 +1113,7 @@ void strsubst_list(char *string, int size, char name[][NAME_LENGTH], char value[ ps = strchr(ps, ')')+1; } - if (str[6] = '"') { + if (str[6] == '"') { strcpy(str, p+7); if (strrchr(str, '\"')) *strrchr(str, '\"') = 0;