From a4a6f234fd2cbf445d7880129dee8fd324abbadb Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Tue, 15 Apr 2008 10:57:01 +0000 Subject: [PATCH] strndup() is not portable --- src/cpp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cpp.c b/src/cpp.c index c688ef3..0c14f02 100644 --- a/src/cpp.c +++ b/src/cpp.c @@ -533,12 +533,13 @@ static int _directive_define(Cpp * cpp, Token * token, char const * str) for(j = i; (tmp = str[j]) != '\0' && isspace(tmp); j++); val = (str[j] != '\0') ? &str[j] : NULL; /* FIXME inject an error token instead */ - if((var = strndup(str, i)) == NULL) + if((var = strdup(str)) == NULL) { token_set_code(token, CPP_CODE_META_ERROR); token_set_string(token, strerror(errno)); return 0; } + var[i] = '\0'; if(cpp_define_add(cpp, var, val) != 0) { token_set_code(token, CPP_CODE_META_ERROR);