int option,
void *outvalue)
{
- const struct ldapoptions *lo;
+ struct ldapoptions *lo;
- if( ldap_int_global_options.ldo_valid != LDAP_INITIALIZED ) {
- ldap_int_initialize(NULL);
+ /* Get pointer to global option structure */
+ lo = LDAP_INT_GLOBAL_OPT();
+ if (NULL == lo) {
+ return LDAP_NO_MEMORY;
}
- if(ld == NULL) {
- lo = &ldap_int_global_options;
+ if( lo->ldo_valid != LDAP_INITIALIZED ) {
+ ldap_int_initialize(lo, NULL);
+ }
- } else {
+ if(ld != NULL) {
assert( LDAP_VALID( ld ) );
if( !LDAP_VALID( ld ) ) {
* (int *) outvalue = (int) LDAP_BOOL_GET(lo, LDAP_BOOL_RESTART);
return LDAP_OPT_SUCCESS;
- case LDAP_OPT_DNS: /* LDAPv2 */
- * (int *) outvalue = (int) LDAP_BOOL_GET(lo, LDAP_BOOL_DNS);
- return LDAP_OPT_SUCCESS;
-
case LDAP_OPT_PROTOCOL_VERSION:
* (int *) outvalue = lo->ldo_version;
return LDAP_OPT_SUCCESS;
struct ldapoptions *lo;
int *dbglvl = NULL;
+ /* Get pointer to global option structure */
+ lo = LDAP_INT_GLOBAL_OPT();
+ if (lo == NULL) {
+ return LDAP_NO_MEMORY;
+ }
+
/*
* The architecture to turn on debugging has a chicken and egg
* problem. Thus, we introduce a fix here.
if (option == LDAP_OPT_DEBUG_LEVEL)
dbglvl = (int *) invalue;
- if( ldap_int_global_options.ldo_valid != LDAP_INITIALIZED ) {
- ldap_int_initialize(dbglvl);
+ if( lo->ldo_valid != LDAP_INITIALIZED ) {
+ ldap_int_initialize(lo, dbglvl);
}
- if(ld == NULL) {
- lo = &ldap_int_global_options;
-
- } else {
+ if(ld != NULL) {
assert( LDAP_VALID( ld ) );
if( !LDAP_VALID( ld ) ) {