Added isspace() and made strtoul() accept whitespace, as per POSIX.
authorMichael Brown <mcb30@etherboot.org>
Fri, 12 Jan 2007 19:11:28 +0000 (19:11 +0000)
committerMichael Brown <mcb30@etherboot.org>
Fri, 12 Jan 2007 19:11:28 +0000 (19:11 +0000)
src/core/misc.c

index 19d114c..fcbcdd6 100644 (file)
@@ -152,10 +152,27 @@ int inet_aton ( const char *cp, struct in_addr *inp ) {
        return 0;
 }
 
+int isspace ( int c ) {
+       switch ( c ) {
+       case ' ':
+       case '\f':
+       case '\n':
+       case '\r':
+       case '\t':
+       case '\v':
+               return 1;
+       default:
+               return 0;
+       }
+}
+
 unsigned long strtoul ( const char *p, char **endp, int base ) {
        unsigned long ret = 0;
        unsigned int charval;
 
+       while ( isspace ( *p ) )
+               p++;
+
        if ( base == 0 ) {
                base = 10;
                if ( *p == '0' ) {