diff options
| author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-09-13 13:51:33 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-07 21:03:12 -0700 |
| commit | 44f9f07e8346f31ec70884b8ecbc120cf4f6d3a5 (patch) | |
| tree | 6c9ccac503688aec58d5bed9560efb3bc0cd4616 | |
| parent | 6a9a969e71981ba02e805c552f6b540c6cd0eb8e (diff) | |
| download | sparse-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.
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | pre-process.c | 10 | ||||
| -rw-r--r-- | token.h | 2 |
3 files changed, 8 insertions, 6 deletions
@@ -1,5 +1,5 @@ CC=gcc -CFLAGS=-O -g -Wall +CFLAGS=-O -g -Wall -Wwrite-strings LDFLAGS=-g AR=ar 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]) @@ -150,7 +150,7 @@ struct token { struct position pos; struct token *next; union { - char *number; + const char *number; struct ident *ident; unsigned int special; struct string *string; |
