GCC 4 checks the signedness of pointer casts and generates a whole bunch
of warnings for code in scripts/ (which makes heavy use of signed char
strings).
This patch adds explicit casts.
Signed-off-by: Pierre Ossman <[email protected]>
Index: linux-wbsd/scripts/basic/fixdep.c
===================================================================
--- linux-wbsd/scripts/basic/fixdep.c (revision 134)
+++ linux-wbsd/scripts/basic/fixdep.c (working copy)
@@ -242,7 +242,7 @@
continue;
found:
- use_config(p+7, q-p-7);
+ use_config((char*)p+7, q-p-7);
}
}
@@ -296,7 +296,7 @@
signed char *p;
char s[PATH_MAX];
- p = strchr(m, ':');
+ p = (signed char*)strchr((char*)m, ':');
if (!p) {
fprintf(stderr, "fixdep: parse error\n");
exit(1);
Index: linux-wbsd/scripts/basic/docproc.c
===================================================================
--- linux-wbsd/scripts/basic/docproc.c (revision 134)
+++ linux-wbsd/scripts/basic/docproc.c (working copy)
@@ -181,8 +181,8 @@
while(fgets(line, MAXLINESZ, fp)) {
signed char *p;
signed char *e;
- if (((p = strstr(line, "EXPORT_SYMBOL_GPL")) != 0) ||
- ((p = strstr(line, "EXPORT_SYMBOL")) != 0)) {
+ if (((p = (signed char*)strstr(line, "EXPORT_SYMBOL_GPL")) != 0) ||
+ ((p = (signed char*)strstr(line, "EXPORT_SYMBOL")) != 0)) {
/* Skip EXPORT_SYMBOL{_GPL} */
while (isalnum(*p) || *p == '_')
p++;
@@ -199,7 +199,7 @@
while (isalnum(*e) || *e == '_')
e++;
*e = '\0';
- add_new_symbol(sym, p);
+ add_new_symbol(sym, (char*)p);
}
}
fclose(fp);
@@ -271,7 +271,7 @@
if (startofsym) {
startofsym = 0;
vec[idx++] = FUNCTION;
- vec[idx++] = &line[i];
+ vec[idx++] = (char*)&line[i];
}
}
vec[idx++] = filename;
@@ -293,7 +293,7 @@
signed char * s;
while(fgets(line, MAXLINESZ, infile)) {
if (line[0] == '!') {
- s = line + 2;
+ s = (signed char*)(line + 2);
switch (line[1]) {
case 'E':
while (*s && !isspace(*s)) s++;
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)
@@ -110,7 +110,7 @@
if (line[0] != '#')
continue;
- if ((str_config = strstr(line, "CONFIG_")) == NULL)
+ if ((str_config = (signed char*)strstr(line, "CONFIG_")) == NULL)
continue;
/* Make the output file name. */
Index: linux-wbsd/scripts/kconfig/mconf.c
===================================================================
--- linux-wbsd/scripts/kconfig/mconf.c (revision 153)
+++ linux-wbsd/scripts/kconfig/mconf.c (working copy)
@@ -334,9 +334,9 @@
int res;
if (!*argptr)
- *argptr = bufptr;
+ *argptr = (char*)bufptr;
va_start(ap, fmt);
- res = vsprintf(bufptr, fmt, ap);
+ res = vsprintf((char*)bufptr, fmt, ap);
va_end(ap);
bufptr += res;
@@ -354,9 +354,9 @@
va_list ap;
int res;
- *argptr++ = bufptr;
+ *argptr++ = (char*)bufptr;
va_start(ap, fmt);
- res = vsprintf(bufptr, fmt, ap);
+ res = vsprintf((char*)bufptr, fmt, ap);
va_end(ap);
bufptr += res;
*bufptr++ = 0;
@@ -547,7 +547,7 @@
return;
}
- sym_arr = sym_re_search(input_buf);
+ sym_arr = sym_re_search((char*)input_buf);
res = get_relations_str(sym_arr);
free(sym_arr);
show_textbox(_("Search Results"), str_get(&res), 0, 0);
@@ -758,11 +758,11 @@
if (i >= sizeof(active_entry))
i = sizeof(active_entry) - 1;
input_buf[i] = 0;
- strcpy(active_entry, input_buf);
+ strcpy(active_entry, (char*)input_buf);
sym = NULL;
submenu = NULL;
- if (sscanf(input_buf + 1, "%p", &submenu) == 1)
+ if (sscanf((char*)(input_buf + 1), "%p", &submenu) == 1)
sym = submenu->sym;
switch (stat) {
@@ -912,12 +912,12 @@
stat = exec_conf();
switch (stat) {
case 0:
- if (sscanf(input_buf, "%p", &child) != 1)
+ if (sscanf((char*)input_buf, "%p", &child) != 1)
break;
sym_set_tristate_value(child->sym, yes);
return;
case 1:
- if (sscanf(input_buf, "%p", &child) == 1) {
+ if (sscanf((char*)input_buf, "%p", &child) == 1) {
show_help(child);
active = child->sym;
} else
@@ -958,7 +958,7 @@
stat = exec_conf();
switch (stat) {
case 0:
- if (sym_set_string_value(menu->sym, input_buf))
+ if (sym_set_string_value(menu->sym, (char*)input_buf))
return;
show_textbox(NULL, _("You have made an invalid entry."), 5, 43);
break;
@@ -987,7 +987,7 @@
case 0:
if (!input_buf[0])
return;
- if (!conf_read(input_buf))
+ if (!conf_read((char*)input_buf))
return;
show_textbox(NULL, _("File does not exist!"), 5, 38);
break;
@@ -1016,7 +1016,7 @@
case 0:
if (!input_buf[0])
return;
- if (!conf_write(input_buf))
+ if (!conf_write((char*)input_buf))
return;
show_textbox(NULL, _("Can't create file! Probably a nonexistent directory."), 5, 60);
break;
Index: linux-wbsd/scripts/kconfig/confdata.c
===================================================================
--- linux-wbsd/scripts/kconfig/confdata.c (revision 153)
+++ linux-wbsd/scripts/kconfig/confdata.c (working copy)
@@ -36,8 +36,8 @@
res_value[0] = 0;
dst = name;
- while ((src = strchr(in, '$'))) {
- strncat(res_value, in, src - in);
+ while ((src = (const signed char*)strchr((const char*)in, '$'))) {
+ strncat(res_value, (const char*)in, src - in);
src++;
dst = name;
while (isalnum(*src) || *src == '_')
@@ -48,7 +48,7 @@
strcat(res_value, sym_get_string_value(sym));
in = src;
}
- strcat(res_value, in);
+ strcat(res_value, (const char*)in);
return res_value;
}
@@ -59,7 +59,7 @@
static char fullname[PATH_MAX+1];
char *env, *name;
- name = conf_expand_value(conf_defname);
+ name = conf_expand_value((const signed char*)conf_defname);
env = getenv(SRCTREE);
if (env) {
sprintf(fullname, "%s/%s", env, name);
@@ -85,7 +85,7 @@
} else {
const char **names = conf_confnames;
while ((name = *names++)) {
- name = conf_expand_value(name);
+ name = conf_expand_value((const signed char*)name);
in = zconf_fopen(name);
if (in) {
printf(_("#\n"
Index: linux-wbsd/scripts/kconfig/conf.c
===================================================================
--- linux-wbsd/scripts/kconfig/conf.c (revision 153)
+++ linux-wbsd/scripts/kconfig/conf.c (working copy)
@@ -43,7 +43,7 @@
while ((isspace(*p)))
p++;
- l = strlen(p);
+ l = strlen((char*)p);
if (p != str)
memmove(str, p, l + 1);
if (!l)
@@ -91,7 +91,7 @@
check_stdin();
case ask_all:
fflush(stdout);
- fgets(line, 128, stdin);
+ fgets((char*)line, 128, stdin);
return;
case set_default:
printf("%s\n", def);
@@ -184,8 +184,8 @@
break;
}
default:
- line[strlen(line)-1] = 0;
- def = line;
+ line[strlen((char*)line)-1] = 0;
+ def = (char*)line;
}
if (def && sym_set_string_value(sym, def))
return 0;
@@ -233,7 +233,7 @@
case 'n':
case 'N':
newval = no;
- if (!line[1] || !strcmp(&line[1], "o"))
+ if (!line[1] || !strcmp((char*)&line[1], "o"))
break;
continue;
case 'm':
@@ -245,7 +245,7 @@
case 'y':
case 'Y':
newval = yes;
- if (!line[1] || !strcmp(&line[1], "es"))
+ if (!line[1] || !strcmp((char*)&line[1], "es"))
break;
continue;
case 0:
@@ -347,7 +347,7 @@
check_stdin();
case ask_all:
fflush(stdout);
- fgets(line, 128, stdin);
+ fgets((char*)line, 128, stdin);
strip(line);
if (line[0] == '?') {
printf("\n%s\n", menu->sym->help ?
@@ -357,7 +357,7 @@
if (!line[0])
cnt = def;
else if (isdigit(line[0]))
- cnt = atoi(line);
+ cnt = atoi((char*)line);
else
continue;
break;
@@ -381,7 +381,7 @@
}
if (!child)
continue;
- if (line[strlen(line) - 1] == '?') {
+ if (line[strlen((char*)line) - 1] == '?') {
printf("\n%s\n", child->sym->help ?
child->sym->help : nohelp_text);
continue;
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]