Re: Variable "combinations" in tokenize.c and token.h

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 01, 2007 at 02:29:10PM -0700, Josh Triplett wrote:
> 
> Apart from triggering a -Wshadow warning, this seems somewhat wasteful.
> The reason appears to relate to the presence or absence of a '\0'
> terminator at the end of each item.  Does that matter?  Could
> show_special change somehow to avoid the duplication?  Alternatively,
> could the global version just include '\0' terminators?
> 
> - Josh Triplett
> 

You mean some thing like that?

Chris

Combinations string clean up

Signed-Off-By: Christopher Li <sparse@xxxxxxxxxxx>

Index: sparse/token.h
===================================================================
--- sparse.orig/token.h	2007-03-23 11:32:54.000000000 -0700
+++ sparse/token.h	2007-05-01 13:53:22.000000000 -0700
@@ -100,7 +100,7 @@ enum token_type {
 	"<", ">", "<=", ">="	\
 }
 
-extern unsigned char combinations[][3];
+extern unsigned char combinations[][4];
 
 enum special_token {
 	SPECIAL_BASE = 256,
Index: sparse/tokenize.c
===================================================================
--- sparse.orig/tokenize.c	2007-03-23 11:32:54.000000000 -0700
+++ sparse/tokenize.c	2007-05-01 13:54:31.000000000 -0700
@@ -59,13 +59,12 @@ static struct position stream_pos(stream
 
 const char *show_special(int val)
 {
-	static const char *combinations[] = COMBINATION_STRINGS;
 	static char buffer[4];
 
 	buffer[0] = val;
 	buffer[1] = 0;
 	if (val >= SPECIAL_BASE)
-		strcpy(buffer, combinations[val - SPECIAL_BASE]);
+		strcpy(buffer, (char *) combinations[val - SPECIAL_BASE]);
 	return buffer;
 }
 
@@ -611,7 +610,7 @@ static int drop_stream_comment(stream_t 
 	return nextchar(stream);
 }
 
-unsigned char combinations[][3] = COMBINATION_STRINGS;
+unsigned char combinations[][4] = COMBINATION_STRINGS;
 
 #define NR_COMBINATIONS (SPECIAL_ARG_SEPARATOR - SPECIAL_BASE)
 

-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux