Ignore:
Timestamp:
Jul 17, 2017, 2:48:12 PM (4 years ago)
Author:
max@…
Message:

Damn, don't do NULL checks here, otherwise we're hiding NULL derefs
all other the place. While here, style a bit.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/libk/string.c

    r1 r223  
    3232        register const char *ptr = str;
    3333
    34         if (str == NULL)
    35                 return 0;
    36 
    3734        while (*ptr) ptr++;
    3835
     
    4643        register const char *ptr = str;
    4744
    48         if (str == NULL)
    49                 return 0;
    50 
    5145        while (*ptr && (maxlen-- > 0)) ptr++;
    5246
     
    5852            const char * s2 )
    5953{
    60         if((s1 == NULL) || (s2 == NULL))
    61                 return s1 - s2;
    62  
     54
    6355        while (*s1 && *s1 == *s2)
    6456        {
     
    6658                s2 ++;
    6759        }
    68  
     60
    6961        return (*s1 - *s2);
    7062}
     
    7567             uint32_t     n )
    7668{
    77         if((s1 == NULL) || (s2 == NULL) || (n == 0))
    78                 return s1 - s2;
    79  
     69        if (n == 0)
     70                return s1 - s2; // XXX ???
     71
    8072        while (*s1 && (*s1 == *s2) && (n > 1))
    8173        {
     
    8476                n--;
    8577        }
    86  
     78
    8779        return (*s1 - *s2);
    8880}
     
    9587        char c2;
    9688
    97         if((str1 == NULL) || (str2 == NULL))
    98                 return str1 - str2;
    99  
    10089        do{
    10190                c1 = toupper(*++str1);
    10291                c2 = toupper(*++str2);
    10392        }while(c1 && c1 == c2);
    104  
     93
    10594        return (c1 - c2);
    10695}
     
    113102        char *dst_ptr = dest;
    114103
    115         if(!dest || !src)
    116                 return dest;
    117 
    118104        while(*src_ptr)
    119105                *(dst_ptr++) = *(src_ptr++);
    120  
     106
    121107        *dst_ptr = 0;
    122108        return dest;
     
    135121        for (; i < n; i++)
    136122                dest[i] = '\0';
    137  
     123
    138124        return dest;
    139125}
     
    143129               int          c )
    144130{
    145         if(s == NULL)
    146                 return (char*)s;
    147 
    148131        while(*s && *s != (char) c)
    149132                s++;
     
    151134        if(*s == (char) c)
    152135                return (char*)s;
    153  
     136
    154137        return NULL;
    155138}
     
    159142                int          c )
    160143{
    161   register char         ch;
    162   register const char * l =0;
     144        register char         ch;
     145        register const char * l =0;
    163146
    164   ch = c;
    165   for (;;) {
    166     if (*t == ch) l=t; if (!*t) return (char*)l; ++t;
    167   }
    168   return (char*)l;
     147        ch = c;
     148        for (;;) {
     149                if (*t == ch) l=t; if (!*t) return (char*)l; ++t;
     150        }
     151        return (char*)l;
    169152}
    170153
Note: See TracChangeset for help on using the changeset viewer.