aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/pre-process.c
diff options
authorLinus Torvalds <torvalds@ppc970.osdl.org>2004-09-13 13:51:33 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-07 21:03:12 -0700
commit44f9f07e8346f31ec70884b8ecbc120cf4f6d3a5 (patch)
tree6c9ccac503688aec58d5bed9560efb3bc0cd4616 /pre-process.c
parent6a9a969e71981ba02e805c552f6b540c6cd0eb8e (diff)
downloadsparse-dev-44f9f07e8346f31ec70884b8ecbc120cf4f6d3a5.tar.gz
Morten made us almost -Wwrite-strings clean. Go the extra mile.
The only remaining place was the magic constant "0" "1" number token generated by "defined(xxx)". And since we never actually modify number tokens (which would have broken that code anyway), let's just make that const'ness explicit.
Diffstat (limited to 'pre-process.c')
-rw-r--r--pre-process.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/pre-process.c b/pre-process.c
index 2481ffc1..e2045ff7 100644
--- a/pre-process.c
+++ b/pre-process.c
@@ -95,7 +95,7 @@ static void replace_with_integer(struct token *token, unsigned int val)
static void replace_with_defined(struct token *token)
{
- static char *string[] = { "0", "1" };
+ static const char *string[] = { "0", "1" };
int defined = 0;
if (token_type(token) != TOKEN_IDENT)
warning(token->pos, "operator \"defined\" requires an identifier");
@@ -382,11 +382,13 @@ static int merge(struct token *left, struct token *right)
left->pos.noexpand = 0;
return 1;
- case TOKEN_NUMBER:
+ case TOKEN_NUMBER: {
+ char *number = __alloc_bytes(strlen(buffer) + 1);
+ memcpy(number, buffer, strlen(buffer) + 1);
token_type(left) = TOKEN_NUMBER; /* could be . + num */
- left->number = __alloc_bytes(strlen(buffer) + 1);
- memcpy(left->number, buffer, strlen(buffer) + 1);
+ left->number = number;
return 1;
+ }
case TOKEN_SPECIAL:
if (buffer[2] && buffer[3])