mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-07-22 19:24:27 +00:00
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.
This commit is contained in:
parent
248aaecda2
commit
3d89049546
|
@ -24,6 +24,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue