public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] Fix signed char problem in scripts/basic
@ 2005-06-22  9:02 Pierre Ossman
  2005-06-22 14:42 ` Roman Zippel
  0 siblings, 1 reply; 3+ messages in thread
From: Pierre Ossman @ 2005-06-22  9:02 UTC (permalink / raw)
  To: zippel, kbuild-devel, LKML

[-- Attachment #1: Type: text/plain, Size: 922 bytes --]

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().

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

[-- Attachment #2: signed-char-basic.patch --]
[-- Type: text/x-patch, Size: 3423 bytes --]

Index: linux-wbsd/scripts/basic/fixdep.c
===================================================================
--- linux-wbsd/scripts/basic/fixdep.c	(revision 134)
+++ linux-wbsd/scripts/basic/fixdep.c	(working copy)
@@ -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, ':');
Index: linux-wbsd/scripts/basic/docproc.c
===================================================================
--- linux-wbsd/scripts/basic/docproc.c	(revision 134)
+++ linux-wbsd/scripts/basic/docproc.c	(working copy)
@@ -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;
Index: linux-wbsd/scripts/basic/split-include.c
===================================================================
--- linux-wbsd/scripts/basic/split-include.c	(revision 134)
+++ linux-wbsd/scripts/basic/split-include.c	(working copy)
@@ -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;
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/2] Fix signed char problem in scripts/basic
  2005-06-22  9:02 [PATCH 1/2] Fix signed char problem in scripts/basic Pierre Ossman
@ 2005-06-22 14:42 ` Roman Zippel
  2005-06-22 17:46   ` Pierre Ossman
  0 siblings, 1 reply; 3+ messages in thread
From: Roman Zippel @ 2005-06-22 14:42 UTC (permalink / raw)
  To: Pierre Ossman; +Cc: kbuild-devel, LKML

Hi,

On Wed, 22 Jun 2005, Pierre Ossman wrote:

> -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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/2] Fix signed char problem in scripts/basic
  2005-06-22 14:42 ` Roman Zippel
@ 2005-06-22 17:46   ` Pierre Ossman
  0 siblings, 0 replies; 3+ messages in thread
From: Pierre Ossman @ 2005-06-22 17:46 UTC (permalink / raw)
  To: Roman Zippel; +Cc: kbuild-devel, LKML

[-- Attachment #1: Type: text/plain, Size: 304 bytes --]

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.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>


[-- Attachment #2: signed-char-basic.patch --]
[-- Type: text/x-patch, Size: 3661 bytes --]

Index: linux-wbsd/scripts/basic/fixdep.c
===================================================================
--- linux-wbsd/scripts/basic/fixdep.c	(revision 134)
+++ linux-wbsd/scripts/basic/fixdep.c	(working copy)
@@ -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, ':');
Index: linux-wbsd/scripts/basic/docproc.c
===================================================================
--- linux-wbsd/scripts/basic/docproc.c	(revision 134)
+++ linux-wbsd/scripts/basic/docproc.c	(working copy)
@@ -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;
Index: linux-wbsd/scripts/basic/split-include.c
===================================================================
--- linux-wbsd/scripts/basic/split-include.c	(revision 134)
+++ linux-wbsd/scripts/basic/split-include.c	(working copy)
@@ -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;
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-06-22 17:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-22  9:02 [PATCH 1/2] Fix signed char problem in scripts/basic Pierre Ossman
2005-06-22 14:42 ` Roman Zippel
2005-06-22 17:46   ` Pierre Ossman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox