]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-tcl/tcl_util.c
Don't use 'shtool mkln' as ln(1) replacement.
[openldap] / servers / slapd / back-tcl / tcl_util.c
index 634009aa4bb6d2710e48897352cdd0ff4d46edfe..85f156aabbaa3cfb5c039e6966af138d23120d0c 100644 (file)
@@ -1,6 +1,5 @@
+/* $OpenLDAP$ */
 /* result.c - tcl backend utility functions
- *
- * $Id: tcl_util.c,v 1.6.2.2 1999/07/14 00:54:37 kdz Exp $
  *
  * Copyright 1999, Ben Collins <bcollins@debian.org>, All rights reserved.
  *
@@ -27,7 +26,7 @@ interp_send_results (
        Connection * conn,
        Operation * op,
        char *result,
-       char **attrs,
+       AttributeName *attrs,
        int attrsonly
 )
 {
@@ -47,7 +46,7 @@ interp_send_results (
        if (code != TCL_OK) {
                argcPtr = 0;
                send_ldap_result (conn, op, LDAP_UNWILLING_TO_PERFORM, NULL,
-                       "internal backend error", NULL );
+                       "internal backend error", NULL, NULL );
                return -1;
        }
        for (i = 0; i < argcPtr; i++) {
@@ -80,7 +79,7 @@ interp_send_results (
                                        buf, 0, 0);
                        } else {
                                send_search_entry (be, conn, op, e, attrs,
-                                       attrsonly, 0, NULL );
+                                       attrsonly, NULL );
                                entry_free (e);
                        }
 
@@ -94,7 +93,7 @@ interp_send_results (
         * otherwise, front end will send this result 
         */
        if (err != 0 || op->o_tag != LDAP_REQ_BIND) {
-               send_ldap_result (conn, op, err, matched, info, NULL );
+               send_ldap_result (conn, op, err, matched, info, NULL, NULL );
        }
 
        free (buf);
@@ -110,9 +109,8 @@ tcl_clean_entry (
        char *entrystr, *mark1, *mark2, *buf, *bp, *dup;
        int len, bsize;
 
-       pthread_mutex_lock (&entry2str_mutex);
-       entrystr = entry2str (e, &len, 0);
-       pthread_mutex_unlock (&entry2str_mutex);
+       ldap_pvt_thread_mutex_lock(&entry2str_mutex);
+       entrystr = entry2str (e, &len);
 
        buf = (char *) ch_malloc (BUFSIZ);
        buf[0] = '\0';
@@ -147,6 +145,8 @@ tcl_clean_entry (
                }
                free (dup);
        } while ((mark1 = (char *) strchr (mark1, '\n')) != NULL);
+
+       ldap_pvt_thread_mutex_unlock (&entry2str_mutex);
        return buf;
 }