]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/config.c
Multi-threaded slapindex
[openldap] / servers / slapd / config.c
index c736bc9bd45287100f9b706eb9d2f9e176205305..8d5544183def6690f1005d663978c4607d4d98b2 100644 (file)
@@ -191,7 +191,7 @@ int config_check_vals(ConfigTable *Conf, ConfigArgs *c, int check_only ) {
                int j;
                iarg = 0; larg = 0; barg = 0;
                switch(arg_type & ARGS_NUMERIC) {
-                       case ARG_INT:           iarg = atoi(c->argv[1]);                break;
+                       case ARG_INT:           iarg = strtol(c->argv[1], NULL, 0); break;
                        case ARG_LONG:          larg = strtol(c->argv[1], NULL, 0);     break;
                        case ARG_BER_LEN_T:     barg = (ber_len_t)atol(c->argv[1]);     break;
                        case ARG_ON_OFF:
@@ -286,7 +286,7 @@ int config_set_vals(ConfigTable *Conf, ConfigArgs *c) {
                                c->log, c->msg, 0);
                        return(ARG_BAD_CONF);
                }
-               ptr = (void *)((char *)ptr + (int)Conf->arg_item);
+               ptr = (void *)((char *)ptr + (long)Conf->arg_item);
        } else if (arg_type & ARGS_POINTER) {
                ptr = Conf->arg_item;
        }
@@ -372,7 +372,7 @@ config_get_vals(ConfigTable *cf, ConfigArgs *c)
                                ptr = c->bi->bi_private;
                        else
                                return 1;
-                       ptr = (void *)((char *)ptr + (int)cf->arg_item);
+                       ptr = (void *)((char *)ptr + (long)cf->arg_item);
                } else {
                        ptr = cf->arg_item;
                }