]> git.sur5r.net Git - openldap/commitdiff
Allow LDAP session errno and error strings to be set.
authorKurt Zeilenga <kurt@openldap.org>
Tue, 22 Dec 1998 04:49:56 +0000 (04:49 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Tue, 22 Dec 1998 04:49:56 +0000 (04:49 +0000)
libraries/libldap/options.c

index 6468f9166c3ae8a45f649f6f0053d9d1fbfb89be..b1c2fb66b67a01c13233cfbbd681379e89144608 100644 (file)
@@ -316,12 +316,6 @@ ldap_set_option(
        case LDAP_OPT_ERROR_NUMBER: {
                        int err = * (int *) invalue;
 
-                       if (err != 0 ) {
-                               /* not supported */
-                               /* we only allow ld_errno to be cleared. */
-                               break;
-                       }
-
                        if(ld == NULL) {
                                /* need a struct ldap */
                                break;
@@ -333,18 +327,16 @@ ldap_set_option(
        case LDAP_OPT_ERROR_STRING: {
                        char* err = * (char **) invalue;
 
-                       if (err != NULL ) {
-                               /* not supported */
-                               /* we only allow ld_error to be cleared. */
-                               break;
-                       }
-
                        if(ld == NULL) {
                                /* need a struct ldap */
                                break;
                        }
 
-                       ld->ld_error = err;
+                       if( ld->ld_error ) {
+                               free(ld->ld_error);
+                       }
+
+                       ld->ld_error = strdup(err);
                } return 0;
 
        case LDAP_OPT_API_FEATURE_INFO: