]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/main.c
reduce code duplication
[openldap] / servers / slapd / main.c
index 14fadd6b1acd4741a254d5baebe4ac91c57e23b3..6990e916744dbd3942de2fb01fd9f92d4b047411 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2009 The OpenLDAP Foundation.
+ * Copyright 1998-2010 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -270,7 +270,18 @@ parse_debug_level( const char *arg, int *levelp, char ***unknowns )
                ldap_charray_free( levels );
 
        } else {
-               if ( lutil_atoix( &level, arg, 0 ) != 0 ) {
+               int rc;
+
+               if ( arg[0] == '-' ) {
+                       rc = lutil_atoix( &level, arg, 0 );
+               } else {
+                       unsigned ulevel;
+
+                       rc = lutil_atoux( &ulevel, arg, 0 );
+                       level = (int)ulevel;
+               }
+
+               if ( rc ) {
                        fprintf( stderr,
                                "unrecognized log level "
                                "\"%s\"\n", arg );