]> git.sur5r.net Git - openldap/blobdiff - contrib/ldaptcl/neoXldap.c
Using a stale obj from Tcl_GetResultObj() to store error results
[openldap] / contrib / ldaptcl / neoXldap.c
index b91e6a450b6c2334d383ae6330e8bfbe6ad9dadf..45e0f09330f75e5a1465525b2e8c794ee078a8cc 100644 (file)
@@ -302,16 +302,13 @@ LDAP_PerformSearch (interp, ldaptcl, base, scope, attrs, filtpatt, value,
     LDAPMessage  *entryMessage = 0;
     char         *sortKey;
 
-    Tcl_Obj      *resultObj;
     int                  lderrno;
 
-    resultObj = Tcl_GetObjResult (interp);
-
     sprintf(filter, filtpatt, value);
 
     fflush(stderr);
     if ((msgid = ldap_search (ldap, base, scope, filter, attrs, 0)) == -1) {
-       Tcl_AppendStringsToObj (resultObj,
+       Tcl_AppendResult (interp,
                                "LDAP start search error: ",
                                        LDAP_ERR_STRING(ldap),
                                (char *)NULL);
@@ -376,27 +373,19 @@ LDAP_PerformSearch (interp, ldaptcl, base, scope, attrs, filtpatt, value,
        return tclResult;
     }
     if (resultCode == -1) {
-       Tcl_AppendStringsToObj (resultObj,
+       Tcl_ResetResult (interp);
+       Tcl_AppendResult (interp,
                                "LDAP result search error: ",
                                LDAP_ERR_STRING(ldap),
                                (char *)NULL);
        LDAP_SetErrorCode(ldaptcl, -1, interp);
        return TCL_ERROR;
     }
-    if (resultCode == 0) {
-       Tcl_SetErrorCode (interp, "TIMEOUT", (char*) NULL);
-       Tcl_SetStringObj (resultObj, "LDAP timeout retrieving results", -1);
-       return TCL_ERROR;
-    }
-    /*
-    if (resultCode == LDAP_RES_SEARCH_RESULT || 
-       (all && resultCode == LDAP_RES_SEARCH_ENTRY))
-           return tclResult;
-    */
 
     if ((errorCode = ldap_result2error (ldap, resultMessage, 0))
       != LDAP_SUCCESS) {
-      Tcl_AppendStringsToObj (resultObj,
+      Tcl_ResetResult (interp);
+      Tcl_AppendResult (interp,
                              "LDAP search error: ",
                              ldap_err2string(errorCode),
                              (char *)NULL);