]> git.sur5r.net Git - openldap/commitdiff
fix strtoul() odd interface
authorPierangelo Masarati <ando@openldap.org>
Tue, 25 Apr 2006 15:46:44 +0000 (15:46 +0000)
committerPierangelo Masarati <ando@openldap.org>
Tue, 25 Apr 2006 15:46:44 +0000 (15:46 +0000)
libraries/liblutil/utils.c

index cb92e59f247fe9bf229bd00db4ff153a543c0e54..0da7df479071f1cd4cfe7d6de3d2ba977aba10c6 100644 (file)
@@ -362,6 +362,11 @@ lutil_atoux( unsigned *v, const char *s, int x )
        assert( s != NULL );
        assert( v != NULL );
 
+       /* strtoul() has an odd interface */
+       if ( s[ 0 ] == '-' ) {
+               return -1;
+       }
+
        u = strtoul( s, &next, x );
        if ( next == s || next[ 0 ] != '\0' ) {
                return -1;
@@ -404,6 +409,11 @@ lutil_atoulx( unsigned long *v, const char *s, int x )
        assert( s != NULL );
        assert( v != NULL );
 
+       /* strtoul() has an odd interface */
+       if ( s[ 0 ] == '-' ) {
+               return -1;
+       }
+
        ul = strtoul( s, &next, x );
        if ( next == s || next[ 0 ] != '\0' ) {
                return -1;
@@ -433,6 +443,11 @@ lutil_parse_time(
                unsigned long   u;
                char            *what;
 
+               /* strtoul() has an odd interface */
+               if ( s[ 0 ] == '-' ) {
+                       return -1;
+               }
+
                u = strtoul( s, &next, 10 );
                if ( next == s ) {
                        return -1;