From 2abedd3118b6fdb514516bde8a67cb400888faa5 Mon Sep 17 00:00:00 2001 From: Dirk Zimoch <dirk.zimoch@psi.ch> Date: Tue, 5 Jan 2016 14:52:35 +0100 Subject: [PATCH] remove last char in line only if it is '\n' --- runScript.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runScript.c b/runScript.c index b9f164f6..dc1077b2 100644 --- a/runScript.c +++ b/runScript.c @@ -194,7 +194,7 @@ int runScript(const char* filename, const char* args) if ((line_raw = realloc(line_raw, line_raw_size *= 2)) == NULL) goto error; if (fgets(line_raw + len, line_raw_size - len, file) == NULL) break; } - line_raw[--len] = 0; /* get rid of '\n' */ + if (line_raw[len-1] == '\n') line_raw[--len] = 0; /* get rid of '\n' */ if (runScriptDebug) printf("runScript raw line (%ld chars): '%s'\n", len, line_raw); /* expand and check the buffer size (different epics versions write different may number of bytes)*/ @@ -221,7 +221,7 @@ int runScript(const char* filename, const char* args) /* find local variable assignments */ { unsigned int vlen = 0; - while (isalnum(p[vlen]) || p[vlen] == '_') vlen++; + while (isalnum((unsigned char)p[vlen]) || p[vlen] == '_') vlen++; if (p[vlen] == '=') { const char* r; -- GitLab