From: Kristian Høgsberg Date: Sat, 4 Aug 2012 01:56:41 +0000 (-0400) Subject: config-parser: Handle lines that don't end in \n X-Git-Tag: submit/trunk/20120814.155504~69 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3d89049546d98a33da41dc43d7b360dffe2c2fb0;p=profile%2Fivi%2Fweston.git config-parser: Handle lines that don't end in \n If the last line in a config file doesn't have a newline we end up chopping off the last character from that line. --- diff --git a/shared/config-parser.c b/shared/config-parser.c index 5ffa466..10ff86a 100644 --- a/shared/config-parser.c +++ b/shared/config-parser.c @@ -24,6 +24,7 @@ #include #include #include +#include #include "config-parser.h" @@ -55,11 +56,13 @@ handle_key(const struct config_key *key, const char *value) case CONFIG_KEY_STRING: len = strlen(value); - s = malloc(len); + while (len > 0 && isspace(value[len - 1])) + len--; + s = malloc(len + 1); if (s == NULL) return -1; - memcpy(s, value, len - 1); - s[len - 1] = '\0'; + memcpy(s, value, len); + s[len] = '\0'; *(char **)key->data = s; return 0;