lkml.org 
[lkml]   [2005]   [May]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectKill signed chars !!! [was Re: 2.6.12-rc5-mm1]
    ... and make gcc4 happy.

    On 05.25, Andrew Morton wrote:
    >
    > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc5/2.6.12-rc5-mm1/
    >
    >
    > - Again, if there are patches in here which you think should be merged in
    > 2.6.12, please point them out to me.
    >

    scripts/ is full of mismatches between char* params an signed char* arguments,
    and viceversa. gcc4 now complaints loud about this. Patch below deletes all
    those 'signed'. Anyways, which was the purpose of declaring 'signed char's
    to store text ?

    --- linux-2.6.12-rc5-mm1/scripts/kconfig/mconf.c.orig 2005-05-28 00:11:01.000000000 +0200
    +++ linux-2.6.12-rc5-mm1/scripts/kconfig/mconf.c 2005-05-28 00:11:07.000000000 +0200
    @@ -254,8 +254,8 @@
    " USB$ => find all CONFIG_ symbols ending with USB\n"
    "\n");

    -static signed char buf[4096], *bufptr = buf;
    -static signed char input_buf[4096];
    +static char buf[4096], *bufptr = buf;
    +static char input_buf[4096];
    static char filename[PATH_MAX+1] = ".config";
    static char *args[1024], **argptr = args;
    static int indent;
    --- linux-2.6.12-rc5-mm1/scripts/kconfig/confdata.c.orig 2005-05-28 00:11:23.000000000 +0200
    +++ linux-2.6.12-rc5-mm1/scripts/kconfig/confdata.c 2005-05-28 00:11:33.000000000 +0200
    @@ -27,10 +27,10 @@
    NULL,
    };

    -static char *conf_expand_value(const signed char *in)
    +static char *conf_expand_value(const char *in)
    {
    struct symbol *sym;
    - const signed char *src;
    + const char *src;
    static char res_value[SYMBOL_MAXLENGTH];
    char *dst, name[SYMBOL_MAXLENGTH];

    --- linux-2.6.12-rc5-mm1/scripts/kconfig/conf.c.orig 2005-05-28 00:12:18.000000000 +0200
    +++ linux-2.6.12-rc5-mm1/scripts/kconfig/conf.c 2005-05-28 00:12:28.000000000 +0200
    @@ -31,14 +31,14 @@
    static int indent = 1;
    static int valid_stdin = 1;
    static int conf_cnt;
    -static signed char line[128];
    +static char line[128];
    static struct menu *rootEntry;

    static char nohelp_text[] = N_("Sorry, no help available for this option yet.\n");

    -static void strip(signed char *str)
    +static void strip(char *str)
    {
    - signed char *p = str;
    + char *p = str;
    int l;

    while ((isspace(*p)))
    --- linux-2.6.12-rc5-mm1/scripts/basic/fixdep.c.orig 2005-05-28 00:00:02.000000000 +0200
    +++ linux-2.6.12-rc5-mm1/scripts/basic/fixdep.c 2005-05-28 00:07:27.000000000 +0200
    @@ -212,23 +212,23 @@
    if (*p == '_')
    *p = '/';
    else
    - *p = tolower((unsigned char)*p);
    + *p = tolower((int)*p);
    }
    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, ':');
    --- linux-2.6.12-rc5-mm1/scripts/basic/docproc.c.orig 2005-05-28 00:09:23.000000000 +0200
    +++ linux-2.6.12-rc5-mm1/scripts/basic/docproc.c 2005-05-28 00:10:12.000000000 +0200
    @@ -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;
    --- linux-2.6.12-rc5-mm1/scripts/basic/split-include.c.orig 2005-05-28 00:08:02.000000000 +0200
    +++ linux-2.6.12-rc5-mm1/scripts/basic/split-include.c 2005-05-28 00:08:52.000000000 +0200
    @@ -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;

    --
    J.A. Magallon <jamagallon()able!es> \ Software is like sex:
    werewolf!able!es \ It's better when it's free
    Mandriva Linux release 2006.0 (Cooker) for i586
    Linux 2.6.11-jam20 (gcc 4.0.0 (4.0.0-3mdk for Mandriva Linux release 2006.0))


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-05-28 00:31    [W:0.029 / U:0.448 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site