]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapcommon.c
Merge remote-tracking branch 'origin/mdb.master' into OPENLDAP_REL_ENG_2_5
[openldap] / servers / slapd / slapcommon.c
index efd068b860b8c7c2387fd86313bd6e1b0f78c1cc..01a49554ebc3cc06daf23c4c4a0f55138ace5d72 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2010 The OpenLDAP Foundation.
+ * Copyright 1998-2014 The OpenLDAP Foundation.
  * Portions Copyright 1998-2003 Kurt D. Zeilenga.
  * Portions Copyright 2003 IBM Corporation.
  * All rights reserved.
@@ -92,7 +92,7 @@ usage( int tool, const char *progname )
                break;
 
        case SLAPTEST:
-               options = " [-n databasenumber] [-u]\n";
+               options = " [-n databasenumber] [-u] [-Q]\n";
                break;
 
        case SLAPSCHEMA:
@@ -234,9 +234,13 @@ parse_slapopt( int tool, int *mode )
                        if ( strcasecmp( p, "no" ) == 0 ) {
                                ldif_wrap = LDIF_LINE_WIDTH_MAX;
 
-                       } else if ( lutil_atou( &ldif_wrap, p ) ) {
-                               Debug( LDAP_DEBUG_ANY, "unable to parse ldif-wrap=\"%s\".\n", p, 0, 0 );
-                               return -1;
+                       } else {
+                               unsigned int u;
+                               if ( lutil_atou( &u, p ) ) {
+                                       Debug( LDAP_DEBUG_ANY, "unable to parse ldif-wrap=\"%s\".\n", p, 0, 0 );
+                                       return -1;
+                               }
+                               ldif_wrap = (ber_len_t)u;
                        }
                        break;
 
@@ -452,7 +456,7 @@ slap_tool_init(
                        } break;
 
                case 'j':       /* jump to linenumber */
-                       if ( lutil_atoi( &jumpline, optarg ) ) {
+                       if ( lutil_atoul( &jumpline, optarg ) ) {
                                usage( tool, progname );
                        }
                        break;
@@ -782,6 +786,11 @@ slap_tool_init(
                ber_memfree( nbase.bv_val );
                BER_BVZERO( &nbase );
 
+               if( be == NULL ) {
+                       fprintf( stderr, "%s: slap_init no backend for \"%s\"\n",
+                               progname, base.bv_val );
+                       exit( EXIT_FAILURE );
+               }
                switch ( tool ) {
                case SLAPACL:
                        goto startup;
@@ -790,11 +799,6 @@ slap_tool_init(
                        break;
                }
 
-               if( be == NULL ) {
-                       fprintf( stderr, "%s: slap_init no backend for \"%s\"\n",
-                               progname, base.bv_val );
-                       exit( EXIT_FAILURE );
-               }
                /* If the named base is a glue master, operate on the
                 * entire context
                 */