Fix signed char problem in scripts/basic
PATCH 1/2 Fix signed char problem in scripts/basic
The signed characters in scripts are causing warnings with GCC 4 on systems with proper string functions (with char*, not signed char* as parameters). Some could be kept signed but most had to be reverted to normal chars.
Detailed changlog:
fixdep.c:
- is_defined_config() just used memcmp so it was changed to use signed strings.
- define_config() was called with both signed and "normal" strings. Since no string functions were used the parameter was changed to void *.
- use_config() only called is_defined_config() and define_config() so it could use signed strings.
- parse_dep_file() used strchr() so it needed to lose the signed.docproc.c:
- All signed strings were removed because they were all directly or indirectly used in string functions.split-include.c:
- The only signed string here was removed because of usage with strstr().
scripts/basic/fixdep.c +6 -6
@@ -159,7 +159,7 @@/* * Lookup a value in the configuration string. */ -int is_defined_config (const char * name,int len) +int is_defined_config (const signed char * name,int len) {const char * pconfig;const char * plast = str_config + len_config - len;
@@ -175,7 +175,7 @@/* * Add a new value to the configuration string. */ -void define_config (const char * name,int len) +void define_config (const void * name,int len) {grow_config (len +1 );
@@ -196,7 +196,7 @@/* * Record the use of a CONFIG_* word. */ -void use_config (char *m,int slen) +void use_config (signed char *m,int slen) {char s[PATH_MAX ];char *p;
@@ -291,9 +291,9 @@void parse_dep_file (void *map,size_t len) { -signed char *m = map; -signed char *end = m + len; -signed char *p; +char *m = map; +char *end = m + len; +char *p;char s[PATH_MAX ]; p =strchr (m,':' );
scripts/basic/docproc.c +7 -7
@@ -52,7 +52,7 @@FILEONLY *externalfunctions;FILEONLY *symbolsonly; -typedef void FILELINE (char * file,signed char * line); +typedef void FILELINE (char * file,char * line);FILELINE * singlefunctions;FILELINE * entity_system;
@@ -148,9 +148,9 @@* Files are separated by tabs. */ void adddep (char * file) {printf ("\t%s" , file); } -void adddep2 (char * file,signed char * line) { line = line;adddep (file); } +void adddep2 (char * file,char * line) { line = line;adddep (file); }void noaction (char * line) { line = line; } -void noaction2 (char * file,signed char * line) { file = file; line = line; } +void noaction2 (char * file,char * line) { file = file; line = line; }/* Echo the line without further action */ void printline (char * line) {printf ("%s" , line); }
@@ -179,8 +179,8 @@perror (real_filename); }while (fgets (line,MAXLINESZ , fp)) { -signed char *p; -signed char *e; +char *p; +char *e;if (((p =strstr (line,"EXPORT_SYMBOL_GPL" )) !=0 ) || ((p =strstr (line,"EXPORT_SYMBOL" )) !=0 )) {/* Skip EXPORT_SYMBOL{_GPL} */
@@ -253,7 +253,7 @@* Call kernel-doc with the following parameters: * kernel-doc -docbook -function function1 [-function function2] */ -void singfunc (char * filename,signed char * line) +void singfunc (char * filename,char * line) {char *vec[200 ];/* Enough for specific functions */ int i, idx =0 ;
@@ -290,7 +290,7 @@void parse_file (FILE *infile) {char line[MAXLINESZ ]; -signed char * s; +char * s;while (fgets (line,MAXLINESZ , infile)) {if (line[0 ] =='!' ) { s = line +2 ;
scripts/basic/split-include.c +1 -1
@@ -104,7 +104,7 @@/* Read config lines. */ while (fgets (line, buffer_size, fp_config)) { -const signed char * str_config; +const char * str_config;int is_same;int itarget;
Hi,
scripts/basic/fixdep.c line 178
Quoted 2 lines · Pierre Ossman
scripts/basic/fixdep.c +1
-1-void define_config (const char * name,int len) +void define_config (const void * name,int len)
Could you try to drop the remaining "signed" instead of this?
bye, Roman
The signed characters in scripts are causing warnings with GCC 4 on systems with proper string functions (with char*, not signed char* as parameters). All signed strings were removed because they were all directly or indirectly used in string functions.
scripts/basic/fixdep.c +9 -9
@@ -217,18 +217,18 @@printf (" $(wildcard include/config/%s.h) \\\n" , s); } -void parse_config_file (signed char *map,size_t len) +void parse_config_file (char *map,size_t len) {int *end = (int *) (map + len);/* start at +1, so that p can never be < map */ int *m = (int *) map +1 ; -signed char *p, *q; +char *p, *q;for (; m < end; m++) { -if (*m ==INT_CONF ) { p = (signed char *) m ; goto conf; } -if (*m ==INT_ONFI ) { p = (signed char *) m-1 ; goto conf; } -if (*m ==INT_NFIG ) { p = (signed char *) m-2 ; goto conf; } -if (*m ==INT_FIG_ ) { p = (signed char *) m-3 ; goto conf; } +if (*m ==INT_CONF ) { p = (char *) m ; goto conf; } +if (*m ==INT_ONFI ) { p = (char *) m-1 ; goto conf; } +if (*m ==INT_NFIG ) { p = (char *) m-2 ; goto conf; } +if (*m ==INT_FIG_ ) { p = (char *) m-3 ; goto conf; }continue ; conf:if (p > map + len -7 )
@@ -291,9 +291,9 @@void parse_dep_file (void *map,size_t len) { -signed char *m = map; -signed char *end = m + len; -signed char *p; +char *m = map; +char *end = m + len; +char *p;char s[PATH_MAX ]; p =strchr (m,':' );
scripts/basic/docproc.c +7 -7
@@ -52,7 +52,7 @@FILEONLY *externalfunctions;FILEONLY *symbolsonly; -typedef void FILELINE (char * file,signed char * line); +typedef void FILELINE (char * file,char * line);FILELINE * singlefunctions;FILELINE * entity_system;
@@ -148,9 +148,9 @@* Files are separated by tabs. */ void adddep (char * file) {printf ("\t%s" , file); } -void adddep2 (char * file,signed char * line) { line = line;adddep (file); } +void adddep2 (char * file,char * line) { line = line;adddep (file); }void noaction (char * line) { line = line; } -void noaction2 (char * file,signed char * line) { file = file; line = line; } +void noaction2 (char * file,char * line) { file = file; line = line; }/* Echo the line without further action */ void printline (char * line) {printf ("%s" , line); }
@@ -179,8 +179,8 @@perror (real_filename); }while (fgets (line,MAXLINESZ , fp)) { -signed char *p; -signed char *e; +char *p; +char *e;if (((p =strstr (line,"EXPORT_SYMBOL_GPL" )) !=0 ) || ((p =strstr (line,"EXPORT_SYMBOL" )) !=0 )) {/* Skip EXPORT_SYMBOL{_GPL} */
@@ -253,7 +253,7 @@* Call kernel-doc with the following parameters: * kernel-doc -docbook -function function1 [-function function2] */ -void singfunc (char * filename,signed char * line) +void singfunc (char * filename,char * line) {char *vec[200 ];/* Enough for specific functions */ int i, idx =0 ;
@@ -290,7 +290,7 @@void parse_file (FILE *infile) {char line[MAXLINESZ ]; -signed char * s; +char * s;while (fgets (line,MAXLINESZ , infile)) {if (line[0 ] =='!' ) { s = line +2 ;
scripts/basic/split-include.c +1 -1
@@ -104,7 +104,7 @@/* Read config lines. */ while (fgets (line, buffer_size, fp_config)) { -const signed char * str_config; +const char * str_config;int is_same;int itarget;