X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fconfig.c;h=5146a85c5a4e0a5cfaceb6bd8d46f2b2cc877e7b;hb=19838fe2ef8161be435454490284baf98d73df88;hp=5e57b2703c761b02cd543e5edc8da3b6549316e9;hpb=20c5ec953c2de7c4276a4076c9cee23408b7fd04;p=openldap diff --git a/servers/slapd/config.c b/servers/slapd/config.c index 5e57b2703c..5146a85c5a 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2005 The OpenLDAP Foundation. + * Copyright 1998-2006 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -192,7 +192,7 @@ int config_check_vals(ConfigTable *Conf, ConfigArgs *c, int check_only ) { iarg = 0; larg = 0; barg = 0; switch(arg_type & ARGS_NUMERIC) { case ARG_INT: - if ( lutil_atoi( &iarg, c->argv[1] ) != 0 ) { + if ( lutil_atoix( &iarg, c->argv[1], 0 ) != 0 ) { snprintf( c->msg, sizeof( c->msg ), "<%s> unable to parse \"%s\" as int", c->argv[0], c->argv[1] ); @@ -202,7 +202,7 @@ int config_check_vals(ConfigTable *Conf, ConfigArgs *c, int check_only ) { } break; case ARG_LONG: - if ( lutil_atol( &larg, c->argv[1] ) != 0 ) { + if ( lutil_atolx( &larg, c->argv[1], 0 ) != 0 ) { snprintf( c->msg, sizeof( c->msg ), "<%s> unable to parse \"%s\" as long", c->argv[0], c->argv[1] ); @@ -213,7 +213,7 @@ int config_check_vals(ConfigTable *Conf, ConfigArgs *c, int check_only ) { break; case ARG_BER_LEN_T: { unsigned long l; - if ( lutil_atoul( &l, c->argv[1] ) != 0 ) { + if ( lutil_atoulx( &l, c->argv[1], 0 ) != 0 ) { snprintf( c->msg, sizeof( c->msg ), "<%s> unable to parse \"%s\" as ber_len_t", c->argv[0], c->argv[1] ); @@ -628,6 +628,7 @@ config_parse_vals(ConfigTable *ct, ConfigArgs *c, int valx) } rc = config_check_vals( ct, c, 1 ); ch_free( c->tline ); + c->tline = NULL; if ( rc ) rc = LDAP_CONSTRAINT_VIOLATION; @@ -1496,6 +1497,8 @@ int config_generic_wrapper( Backend *be, const char *fname, int lineno, c.argc = argc; c.argv = argv; c.valx = -1; + c.line = line; + c.op = SLAP_CONFIG_ADD; snprintf( c.log, sizeof( c.log ), "%s: line %d", fname, lineno ); rc = SLAP_CONF_UNKNOWN;