+
+ /* copy the global options */
+ memcpy(&ld->ld_options, &ldap_int_global_options,
+ sizeof(ld->ld_options));
+
+ ld->ld_valid = LDAP_VALID_SESSION;
+
+ /* but not pointers to malloc'ed items */
+ ld->ld_options.ldo_defbase = NULL;
+ ld->ld_options.ldo_defhost = NULL;
+ ld->ld_options.ldo_sctrls = NULL;
+ ld->ld_options.ldo_cctrls = NULL;
+
+ if ( defhost != NULL ) {
+ ld->ld_options.ldo_defhost = LDAP_STRDUP( defhost );
+ } else {
+ ld->ld_options.ldo_defhost = LDAP_STRDUP(
+ ldap_int_global_options.ldo_defhost);
+ }