Simplify the libnsdb APIs for managing NCEs by removing the *ldaperr
argument.  When it is needed, the ldaperr value can be extracted
with the new nsdb_ldaperr() function.

Signed-off-by: Chuck Lever <[email protected]>
---
 src/include/nsdb.h           |   11 +--
 src/libnsdb/administrator.c  |  164 ++++++++++++++++++------------------------
 src/nsdbc/nsdb-delete-nsdb.c |    7 +-
 src/nsdbc/nsdb-remove-nci.c  |    7 +-
 src/nsdbc/nsdb-simple-nce.c  |   11 +--
 src/nsdbc/nsdb-update-nci.c  |    9 +-
 6 files changed, 88 insertions(+), 121 deletions(-)

diff --git a/src/include/nsdb.h b/src/include/nsdb.h
index 7fec490..bad3e83 100644
--- a/src/include/nsdb.h
+++ b/src/include/nsdb.h
@@ -337,21 +337,18 @@ FedFsStatus        nsdb_update_fsl_s(nsdb_t host, const 
char *nce,
  * Create a simple "ou=fedfs" entry
  */
 FedFsStatus     nsdb_create_simple_nce_s(nsdb_t host, const char *parent,
-                               char **dn, unsigned int *ldap_err);
+                               char **dn);
 
 /**
  * Update or remove NSDB container information
  */
-FedFsStatus     nsdb_update_nci_s(nsdb_t host, const char *nce,
-                               unsigned int *ldap_err);
-FedFsStatus     nsdb_remove_nci_s(nsdb_t host, const char *nce,
-                               unsigned int *ldap_err);
+FedFsStatus     nsdb_update_nci_s(nsdb_t host, const char *nce);
+FedFsStatus     nsdb_remove_nci_s(nsdb_t host, const char *nce);
 
 /**
  * Remove all FedFS entries on an NSDB
  */
-FedFsStatus     nsdb_delete_nsdb_s(nsdb_t host, const char *nce,
-                               unsigned int *ldap_err);
+FedFsStatus     nsdb_delete_nsdb_s(nsdb_t host, const char *nce);
 
 /**
  * Display or alter an object's fedfsDescription attribute
diff --git a/src/libnsdb/administrator.c b/src/libnsdb/administrator.c
index 0b2a3eb..c813afa 100644
--- a/src/libnsdb/administrator.c
+++ b/src/libnsdb/administrator.c
@@ -128,18 +128,17 @@ __nsdb_search_nsdb_nofilter_s(const char *func, LDAP *ld, 
const char *base,
  * Modify a FedFS-related record on an NSDB
  *
  * @param func NUL-terminated C string containing a function name
- * @param ld an initialized LDAP server descriptor
+ * @param host an initialized and bound nsdb_t object
  * @param dn a NUL-terminated C string containing DN of NSDB container entry
  * @param mods filled-in LDAP modification array
- * @param ldap_err OUT: possibly an LDAP error code
  * @return an LDAP result code
  */
 static int
-__nsdb_modify_nsdb_s(const char *func, LDAP *ld, const char *dn, LDAPMod 
**mods,
-               unsigned int *ldap_err)
+__nsdb_modify_nsdb_s(const char *func, nsdb_t host, const char *dn,
+               LDAPMod **mods)
 {
+       LDAP *ld = host->fn_ldap;
        char *uri;
-       int rc;
 
        if (ldap_get_option(ld, LDAP_OPT_URI, &uri) == LDAP_OPT_SUCCESS) {
                xlog(D_CALL, "%s: modifying %s on %s", func, dn, uri);
@@ -147,11 +146,10 @@ __nsdb_modify_nsdb_s(const char *func, LDAP *ld, const 
char *dn, LDAPMod **mods,
        } else
                xlog(D_CALL, "%s: modifying %s", func, dn);
 
-       rc = ldap_modify_ext_s(ld, dn, mods, NULL, NULL);
-       if (rc != LDAP_SUCCESS) {
+       host->fn_ldaperr = ldap_modify_ext_s(ld, dn, mods, NULL, NULL);
+       if (host->fn_ldaperr != LDAP_SUCCESS) {
                xlog(D_GENERAL, "%s: Failed to update %s: %s",
-                       func, dn, ldap_err2string(rc));
-               *ldap_err = rc;
+                       func, dn, ldap_err2string(host->fn_ldaperr));
                return FEDFS_ERR_NSDB_LDAP_VAL;
        }
 
@@ -162,8 +160,8 @@ __nsdb_modify_nsdb_s(const char *func, LDAP *ld, const char 
*dn, LDAPMod **mods,
 /**
  * Hide the __func__ argument at call sites
  */
-#define nsdb_modify_nsdb_s(ld, dn, mods, ldaperr) \
-       __nsdb_modify_nsdb_s(__func__, ld, dn, mods, ldaperr)
+#define nsdb_modify_nsdb_s(host, dn, mods) \
+       __nsdb_modify_nsdb_s(__func__, host, dn, mods)
 
 /**
  * Construct the DN of an FSN entry
@@ -1253,9 +1251,8 @@ nsdb_update_fsl_s(nsdb_t host, const char *nce, const 
char *fsl_uuid,
 /**
  * Add a new top-level o=fedfs entry
  *
- * @param ld an initialized LDAP server descriptor
+ * @param host an initialized and bound nsdb_t object
  * @param dn OUT: a NUL-terminated C string containing DN of new NCE
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  *
  * Caller must free "dn" with ber_memfree(3).
@@ -1273,15 +1270,14 @@ nsdb_update_fsl_s(nsdb_t host, const char *nce, const 
char *fsl_uuid,
    @endverbatim
  */
 static FedFsStatus
-nsdb_create_nce_add_top_entry(LDAP *ld, char **dn,
-               unsigned int *ldap_err)
+nsdb_create_nce_add_top_entry(nsdb_t host, char **dn)
 {
        char *ocvals[4], *ouvals[2];
        LDAPMod *attrs[3];
        LDAPMod attr[2];
        size_t len;
-       int i, rc;
        char *nce;
+       int i;
 
        for (i = 0; i < 3; i++)
                attrs[i] = &attr[i];
@@ -1305,12 +1301,12 @@ nsdb_create_nce_add_top_entry(LDAP *ld, char **dn,
        (void)sprintf(nce, "o=fedfs");
 
        xlog(D_CALL, "%s: Using DN '%s'", __func__, nce);
-       rc = ldap_add_ext_s(ld, nce, attrs, NULL, NULL);
-       if (rc != LDAP_SUCCESS) {
+       host->fn_ldaperr = ldap_add_ext_s(host->fn_ldap, nce, attrs,
+                                                               NULL, NULL);
+       if (host->fn_ldaperr != LDAP_SUCCESS) {
                ber_memfree(nce);
                xlog(D_GENERAL, "Failed to add new blank NCE: %s",
-                               ldap_err2string(rc));
-               *ldap_err = rc;
+                       ldap_err2string(host->fn_ldaperr));
                return FEDFS_ERR_NSDB_LDAP_VAL;
        }
 
@@ -1322,10 +1318,9 @@ nsdb_create_nce_add_top_entry(LDAP *ld, char **dn,
 /**
  * Add a new ou=fedfs entry under "parent"
  *
- * @param ld an initialized LDAP server descriptor
+ * @param host an initialized and bound nsdb_t object
  * @param parent a NUL-terminated C string containing DN of parent
  * @param dn OUT: a NUL-terminated C string containing DN of new NCE
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  *
  * Caller must free "dn" with ber_memfree(3).
@@ -1343,15 +1338,14 @@ nsdb_create_nce_add_top_entry(LDAP *ld, char **dn,
    @endverbatim
  */
 static FedFsStatus
-nsdb_create_nce_add_entry(LDAP *ld, const char *parent, char **dn,
-               unsigned int *ldap_err)
+nsdb_create_nce_add_entry(nsdb_t host, const char *parent, char **dn)
 {
        char *ocvals[4], *ouvals[2];
        LDAPMod *attrs[3];
        LDAPMod attr[2];
        size_t len;
-       int i, rc;
        char *nce;
+       int i;
 
        for (i = 0; i < 3; i++)
                attrs[i] = &attr[i];
@@ -1375,12 +1369,12 @@ nsdb_create_nce_add_entry(LDAP *ld, const char *parent, 
char **dn,
        (void)sprintf(nce, "ou=fedfs,%s", parent);
 
        xlog(D_CALL, "%s: Using DN '%s'", __func__, nce);
-       rc = ldap_add_ext_s(ld, nce, attrs, NULL, NULL);
-       if (rc != LDAP_SUCCESS) {
+       host->fn_ldaperr = ldap_add_ext_s(host->fn_ldap, nce, attrs,
+                                                               NULL, NULL);
+       if (host->fn_ldaperr != LDAP_SUCCESS) {
                ber_memfree(nce);
                xlog(D_GENERAL, "%s: Failed to add new blank NCE: %s",
-                               __func__, ldap_err2string(rc));
-               *ldap_err = rc;
+                               __func__, ldap_err2string(host->fn_ldaperr));
                return FEDFS_ERR_NSDB_LDAP_VAL;
        }
 
@@ -1395,7 +1389,6 @@ nsdb_create_nce_add_entry(LDAP *ld, const char *parent, 
char **dn,
  * @param host an initialized and bound nsdb_t object
  * @param parent a NUL-terminated C string containing DN of parent
  * @param dn OUT: a NUL-terminated C string containing DN of new NCE
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  *
  * Caller must free "dn" with free(3).
@@ -1404,8 +1397,7 @@ nsdb_create_nce_add_entry(LDAP *ld, const char *parent, 
char **dn,
  * the simple case of an "ou=fedfs" entry under some other entry.
  */
 FedFsStatus
-nsdb_create_simple_nce_s(nsdb_t host, const char *parent,
-               char **dn, unsigned int *ldap_err)
+nsdb_create_simple_nce_s(nsdb_t host, const char *parent, char **dn)
 {
        FedFsStatus retval;
        char *nce;
@@ -1420,17 +1412,15 @@ nsdb_create_simple_nce_s(nsdb_t host, const char 
*parent,
                return FEDFS_ERR_INVAL;
        }
 
-       if (parent == NULL || ldap_err == NULL) {
+       if (parent == NULL) {
                xlog(L_ERROR, "%s: Invalid parameter", __func__);
                return FEDFS_ERR_INVAL;
        }
 
        if (parent[0] == '\0')
-               retval = nsdb_create_nce_add_top_entry(host->fn_ldap,
-                                                       &nce, ldap_err);
+               retval = nsdb_create_nce_add_top_entry(host, &nce);
        else
-               retval = nsdb_create_nce_add_entry(host->fn_ldap, parent,
-                                                       &nce, ldap_err);
+               retval = nsdb_create_nce_add_entry(host, parent, &nce);
        if (retval != FEDFS_OK)
                return retval;
 
@@ -1450,10 +1440,9 @@ nsdb_create_simple_nce_s(nsdb_t host, const char *parent,
 /**
  * Update NSDB Container Info in a namingContext entry
  *
- * @param ld an initialized LDAP server descriptor
+ * @param host an initialized and bound nsdb_t object
  * @param context a NUL-terminated C string containing DN of namingContext
  * @param nce a NUL-terminated C string containing value of new FedFsNceDN 
attribute
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  *
  * LDIF equivalent:
@@ -1470,8 +1459,7 @@ nsdb_create_simple_nce_s(nsdb_t host, const char *parent,
    @endverbatim
  */
 static FedFsStatus
-nsdb_add_nci_attributes_s(LDAP *ld, const char *context,
-               const char *nce, unsigned int *ldap_err)
+nsdb_add_nci_attributes_s(nsdb_t host, const char *context, const char *nce)
 {
        char *ocvals[2], *ncevals[2];
        LDAPMod *mods[3];
@@ -1488,7 +1476,7 @@ nsdb_add_nci_attributes_s(LDAP *ld, const char *context,
                                "fedfsNceDN", ncevals, nce);
        mods[i] = NULL;
 
-       return nsdb_modify_nsdb_s(ld, context, mods, ldap_err);
+       return nsdb_modify_nsdb_s(host, context, mods);
 }
 
 /**
@@ -1496,11 +1484,10 @@ nsdb_add_nci_attributes_s(LDAP *ld, const char *context,
  *
  * @param host an initialized and bound nsdb_t object
  * @param nce a NUL-terminated C string containing DN of NSDB container entry
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  */
 FedFsStatus
-nsdb_update_nci_s(nsdb_t host, const char *nce, unsigned int *ldap_err)
+nsdb_update_nci_s(nsdb_t host, const char *nce)
 {
        FedFsStatus retval;
        char *context;
@@ -1515,19 +1502,16 @@ nsdb_update_nci_s(nsdb_t host, const char *nce, 
unsigned int *ldap_err)
                return FEDFS_ERR_INVAL;
        }
 
-       if (nce == NULL || ldap_err == NULL) {
+       if (nce == NULL) {
                xlog(L_ERROR, "%s: Invalid parameter", __func__);
                return FEDFS_ERR_INVAL;
        }
 
        retval = nsdb_find_naming_context_s(host, nce, &context);
-       if (retval != FEDFS_OK) {
-               *ldap_err = (unsigned int)nsdb_ldaperr(host);
+       if (retval != FEDFS_OK)
                return retval;
-       }
 
-       retval = nsdb_add_nci_attributes_s(host->fn_ldap, context, nce,
-                                               ldap_err);
+       retval = nsdb_add_nci_attributes_s(host, context, nce);
        free(context);
        return retval;
 }
@@ -1535,9 +1519,8 @@ nsdb_update_nci_s(nsdb_t host, const char *nce, unsigned 
int *ldap_err)
 /**
  * Remove fedfsNsdbContainerEntry from NCE object
  *
- * @param ld an initialized LDAP server descriptor
+ * @param host an initialized and bound nsdb_t object
  * @param nce a NUL-terminated C string containing DN of an NCE
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  *
  * LDIF equivalent:
@@ -1551,8 +1534,7 @@ nsdb_update_nci_s(nsdb_t host, const char *nce, unsigned 
int *ldap_err)
    @endverbatim
  */
 static FedFsStatus
-nsdb_remove_nce_objectclass_s(LDAP *ld, const char *nce,
-               unsigned int *ldap_err)
+nsdb_remove_nce_objectclass_s(nsdb_t host, const char *nce)
 {
        LDAPMod *mods[3];
        char *ocvals[2];
@@ -1568,15 +1550,14 @@ nsdb_remove_nce_objectclass_s(LDAP *ld, const char *nce,
                                "fedfsNsdbContainerEntry");
        mods[i] = NULL;
 
-       return nsdb_modify_nsdb_s(ld, nce, mods, ldap_err);
+       return nsdb_modify_nsdb_s(host, nce, mods);
 }
 
 /**
  * Remove NSDB Container Info from a namingContext object
  *
- * @param ld an initialized LDAP server descriptor
+ * @param host an initialized and bound nsdb_t object
  * @param context a NUL-terminated C string containing DN of namingContext
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  *
  * LDIF equivalent:
@@ -1592,8 +1573,7 @@ nsdb_remove_nce_objectclass_s(LDAP *ld, const char *nce,
    @endverbatim
  */
 static FedFsStatus
-nsdb_remove_nci_attributes_s(LDAP *ld, const char *context,
-               unsigned int *ldap_err)
+nsdb_remove_nci_attributes_s(nsdb_t host, const char *context)
 {
        LDAPMod *mods[3];
        char *ocvals[2];
@@ -1610,7 +1590,7 @@ nsdb_remove_nci_attributes_s(LDAP *ld, const char 
*context,
                                "fedfsNceDN", NULL, NULL);
        mods[i] = NULL;
 
-       return nsdb_modify_nsdb_s(ld, context, mods, ldap_err);
+       return nsdb_modify_nsdb_s(host, context, mods);
 }
 
 /**
@@ -1618,11 +1598,10 @@ nsdb_remove_nci_attributes_s(LDAP *ld, const char 
*context,
  *
  * @param host an initialized and bound nsdb_t object
  * @param nce a NUL-terminated C string containing DN of NSDB container entry
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  */
 FedFsStatus
-nsdb_remove_nci_s(nsdb_t host, const char *nce, unsigned int *ldap_err)
+nsdb_remove_nci_s(nsdb_t host, const char *nce)
 {
        FedFsStatus retval;
        char *context;
@@ -1637,22 +1616,20 @@ nsdb_remove_nci_s(nsdb_t host, const char *nce, 
unsigned int *ldap_err)
                return FEDFS_ERR_INVAL;
        }
 
-       if (nce == NULL || ldap_err == NULL) {
+       if (nce == NULL) {
                xlog(L_ERROR, "%s: Invalid parameter", __func__);
                return FEDFS_ERR_INVAL;
        }
 
        retval = nsdb_find_naming_context_s(host, nce, &context);
-       if (retval != FEDFS_OK) {
-               *ldap_err = (unsigned int)nsdb_ldaperr(host);
+       if (retval != FEDFS_OK)
                return retval;
-       }
 
-       retval = nsdb_remove_nce_objectclass_s(host->fn_ldap, nce, ldap_err);
+       retval = nsdb_remove_nce_objectclass_s(host, nce);
        if (retval != FEDFS_OK)
                goto out;
 
-       retval = nsdb_remove_nci_attributes_s(host->fn_ldap, context, ldap_err);
+       retval = nsdb_remove_nci_attributes_s(host, context);
 
 out:
        free(context);
@@ -1662,33 +1639,30 @@ out:
 /**
  * Delete one FSN child
  *
- * @param ld an initialized LDAP server descriptor
+ * @param host an initialized and bound nsdb_t object
  * @param entry an LDAP_RES_SEARCH_ENTRY message
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  */
 static FedFsStatus
-nsdb_parse_delete_nsdb_fsns_entry_s(LDAP *ld, LDAPMessage *entry,
-               unsigned int *ldap_err)
+nsdb_parse_delete_nsdb_fsns_entry_s(nsdb_t host, LDAPMessage *entry)
 {
+       LDAP *ld = host->fn_ldap;
        FedFsStatus retval;
        char *dn;
-       int rc;
 
        dn = ldap_get_dn(ld, entry);
        if (dn == NULL) {
-               ldap_get_option(ld, LDAP_OPT_RESULT_CODE, &rc);
+               ldap_get_option(ld, LDAP_OPT_RESULT_CODE, &host->fn_ldaperr);
                xlog(D_GENERAL, "%s: Failed to parse entry: %s",
-                       __func__, ldap_err2string(rc));
-               *ldap_err = rc;
+                       __func__, ldap_err2string(host->fn_ldaperr));
                return FEDFS_ERR_NSDB_LDAP_VAL;
        }
 
-       retval = nsdb_delete_fsn_fsls_s(ld, dn, ldap_err);
+       retval = nsdb_delete_fsn_fsls_s(host->fn_ldap, dn, &host->fn_ldaperr);
        if (retval != FEDFS_OK)
                goto out;
 
-       retval = nsdb_delete_fsn_entry_s(ld, dn, ldap_err);
+       retval = nsdb_delete_fsn_entry_s(ld, dn, &host->fn_ldaperr);
 
 out:
        ber_memfree(dn);
@@ -1698,23 +1672,23 @@ out:
 /**
  * Remove all FSN records from an NSDB
  *
- * @param ld an initialized LDAP server descriptor
+ * @param host an initialized and bound nsdb_t object
  * @param nce a NUL-terminated C string containing DN of NSDB container entry
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  */
 static FedFsStatus
-nsdb_delete_nsdb_fsns_s(LDAP *ld, const char *nce, unsigned int *ldap_err)
+nsdb_delete_nsdb_fsns_s(nsdb_t host, const char *nce)
 {
        LDAPMessage *message, *response;
+       LDAP *ld = host->fn_ldap;
        FedFsStatus retval;
-       int entries, rc;
+       int entries;
 
        xlog(D_CALL, "%s: searching for children of %s", __func__, nce);
 
 again:
-       rc = nsdb_search_nsdb_nofilter_s(ld, nce, &response);
-       switch (rc) {
+       host->fn_ldaperr = nsdb_search_nsdb_nofilter_s(ld, nce, &response);
+       switch (host->fn_ldaperr) {
        case LDAP_SUCCESS:
        case LDAP_SIZELIMIT_EXCEEDED:
                break;
@@ -1724,8 +1698,7 @@ again:
                return FEDFS_OK;
        default:
                xlog(D_GENERAL, "%s: Failed to retrieve entries for %s: %s",
-                       __func__, nce, ldap_err2string(rc));
-               *ldap_err = rc;
+                       __func__, nce, ldap_err2string(host->fn_ldaperr));
                return FEDFS_ERR_NSDB_LDAP_VAL;
        }
        if (response == NULL) {
@@ -1748,11 +1721,12 @@ again:
             message = ldap_next_message(ld, message)) {
                switch (ldap_msgtype(message)) {
                case LDAP_RES_SEARCH_ENTRY:
-                       retval = nsdb_parse_delete_nsdb_fsns_entry_s(ld, 
message,
-                                                               ldap_err);
+                       retval = nsdb_parse_delete_nsdb_fsns_entry_s(host,
+                                                               message);
                        break;
                case LDAP_RES_SEARCH_RESULT:
-                       retval = nsdb_parse_result(ld, message, NULL, ldap_err);
+                       retval = nsdb_parse_result(ld, message, NULL,
+                                                       &host->fn_ldaperr);
                        break;
                default:
                        xlog(L_ERROR, "%s: Unrecognized LDAP message type",
@@ -1763,7 +1737,8 @@ again:
 
 out:
        ldap_msgfree(response);
-       if (rc == LDAP_SIZELIMIT_EXCEEDED && retval == FEDFS_OK)
+       if (host->fn_ldaperr == LDAP_SIZELIMIT_EXCEEDED &&
+           retval == FEDFS_OK)
                goto again;
        return retval;
 }
@@ -1773,11 +1748,10 @@ out:
  *
  * @param host an initialized and bound nsdb_t object
  * @param nce a NUL-terminated C string containing DN of NSDB container entry
- * @param ldap_err OUT: possibly an LDAP error code
  * @return a FedFsStatus code
  */
 FedFsStatus
-nsdb_delete_nsdb_s(nsdb_t host, const char *nce, unsigned int *ldap_err)
+nsdb_delete_nsdb_s(nsdb_t host, const char *nce)
 {
        FedFsStatus retval;
 
@@ -1791,16 +1765,16 @@ nsdb_delete_nsdb_s(nsdb_t host, const char *nce, 
unsigned int *ldap_err)
                return FEDFS_ERR_INVAL;
        }
 
-       if (nce == NULL || ldap_err == NULL) {
+       if (nce == NULL) {
                xlog(L_ERROR, "%s: Invalid parameter", __func__);
                return FEDFS_ERR_INVAL;
        }
 
-       retval = nsdb_remove_nci_s(host, nce, ldap_err);
+       retval = nsdb_remove_nci_s(host, nce);
        if (retval != FEDFS_OK)
                return retval;
 
-       return nsdb_delete_nsdb_fsns_s(host->fn_ldap, nce, ldap_err);
+       return nsdb_delete_nsdb_fsns_s(host, nce);
 }
 
 /**
diff --git a/src/nsdbc/nsdb-delete-nsdb.c b/src/nsdbc/nsdb-delete-nsdb.c
index 673170f..1b51684 100644
--- a/src/nsdbc/nsdb-delete-nsdb.c
+++ b/src/nsdbc/nsdb-delete-nsdb.c
@@ -96,7 +96,6 @@ main(int argc, char **argv)
 {
        char *progname, *binddn, *nsdbname;
        unsigned short nsdbport;
-       unsigned int ldap_err;
        FedFsStatus retval;
        nsdb_t host;
        char *nce;
@@ -214,7 +213,7 @@ main(int argc, char **argv)
                goto out_free;
        }
 
-       retval = nsdb_delete_nsdb_s(host, nce, &ldap_err);
+       retval = nsdb_delete_nsdb_s(host, nce);
        switch (retval) {
        case FEDFS_OK:
                printf("Successfully removed NCE %s\n", nce);
@@ -223,7 +222,7 @@ main(int argc, char **argv)
                fprintf(stderr, "NCE %s does not exist\n", nce);
                break;
        case FEDFS_ERR_NSDB_LDAP_VAL:
-               switch (ldap_err) {
+               switch (nsdb_ldaperr(host)) {
                case LDAP_REFERRAL:
                        fprintf(stderr, "Encountered LDAP referral on %s:%u\n",
                                nsdbname, nsdbport);
@@ -234,7 +233,7 @@ main(int argc, char **argv)
                        break;
                default:
                        fprintf(stderr, "Failed to remove NCE %s: %s\n",
-                               nce, ldap_err2string(ldap_err));
+                               nce, nsdb_ldaperr2string(host));
                }
                break;
        default:
diff --git a/src/nsdbc/nsdb-remove-nci.c b/src/nsdbc/nsdb-remove-nci.c
index d5d44a2..d98410d 100644
--- a/src/nsdbc/nsdb-remove-nci.c
+++ b/src/nsdbc/nsdb-remove-nci.c
@@ -98,7 +98,6 @@ main(int argc, char **argv)
 {
        char *progname, *binddn, *nsdbname;
        unsigned short nsdbport;
-       unsigned int ldap_err;
        FedFsStatus retval;
        nsdb_t host;
        char *nce;
@@ -211,7 +210,7 @@ main(int argc, char **argv)
 
        if (nce == NULL)
                nce = (char *)nsdb_default_nce(host);
-       retval = nsdb_remove_nci_s(host, nce, &ldap_err);
+       retval = nsdb_remove_nci_s(host, nce);
        switch (retval) {
        case FEDFS_OK:
                printf("Successfully removed NCI for NCE %s\n", nce);
@@ -220,7 +219,7 @@ main(int argc, char **argv)
                fprintf(stderr, "NCE %s does not exist\n", nce);
                break;
        case FEDFS_ERR_NSDB_LDAP_VAL:
-               switch (ldap_err) {
+               switch (nsdb_ldaperr(host)) {
                case LDAP_REFERRAL:
                        fprintf(stderr, "Encountered LDAP referral on %s:%u\n",
                                nsdbname, nsdbport);
@@ -231,7 +230,7 @@ main(int argc, char **argv)
                        break;
                default:
                        fprintf(stderr, "Failed to remove NCI for NCE %s: %s\n",
-                               nce, ldap_err2string(ldap_err));
+                               nce, nsdb_ldaperr2string(host));
                }
                break;
        default:
diff --git a/src/nsdbc/nsdb-simple-nce.c b/src/nsdbc/nsdb-simple-nce.c
index dce4b31..4eba7b1 100644
--- a/src/nsdbc/nsdb-simple-nce.c
+++ b/src/nsdbc/nsdb-simple-nce.c
@@ -97,7 +97,6 @@ main(int argc, char **argv)
 {
        char *progname, *binddn, *nsdbname, *nce, *parent;
        unsigned short nsdbport;
-       unsigned int ldap_err;
        FedFsStatus retval;
        nsdb_t host;
        int arg;
@@ -209,13 +208,13 @@ main(int argc, char **argv)
                goto out_free;
        }
 
-       retval = nsdb_create_simple_nce_s(host, parent, &nce, &ldap_err);
+       retval = nsdb_create_simple_nce_s(host, parent, &nce);
        switch (retval) {
        case FEDFS_OK:
                break;
        case FEDFS_ERR_NSDB_LDAP_VAL:
                fprintf(stderr, "Failed to create NCE: %s\n",
-                       ldap_err2string(ldap_err));
+                       nsdb_ldaperr2string(host));
                goto out_close;
        default:
                fprintf(stderr, "Failed to create NCE: %s\n",
@@ -223,7 +222,7 @@ main(int argc, char **argv)
                goto out_close;
        }
 
-       retval = nsdb_update_nci_s(host, nce, &ldap_err);
+       retval = nsdb_update_nci_s(host, nce);
        switch (retval) {
        case FEDFS_OK:
                printf("Successfully created NCE %s\n", nce);
@@ -234,7 +233,7 @@ main(int argc, char **argv)
                        "for this NSDB\n", nce);
                break;
        case FEDFS_ERR_NSDB_LDAP_VAL:
-               switch (ldap_err) {
+               switch (nsdb_ldaperr(host)) {
                case LDAP_REFERRAL:
                        fprintf(stderr, "Encountered LDAP referral on %s:%u\n",
                                nsdbname, nsdbport);
@@ -245,7 +244,7 @@ main(int argc, char **argv)
                        break;
                default:
                        fprintf(stderr, "Failed to update NCI: %s\n",
-                               ldap_err2string(ldap_err));
+                               nsdb_ldaperr2string(host));
                }
                break;
        default:
diff --git a/src/nsdbc/nsdb-update-nci.c b/src/nsdbc/nsdb-update-nci.c
index f2b0295..22d93f9 100644
--- a/src/nsdbc/nsdb-update-nci.c
+++ b/src/nsdbc/nsdb-update-nci.c
@@ -102,7 +102,6 @@ main(int argc, char **argv)
 {
        char *progname, *binddn, *nsdbname, *nce;
        unsigned short nsdbport;
-       unsigned int ldap_err;
        FedFsStatus retval;
        _Bool delete;
        nsdb_t host;
@@ -227,9 +226,9 @@ main(int argc, char **argv)
        }
 
        if (delete)
-               retval = nsdb_remove_nci_s(host, nce, &ldap_err);
+               retval = nsdb_remove_nci_s(host, nce);
        else
-               retval = nsdb_update_nci_s(host, nce, &ldap_err);
+               retval = nsdb_update_nci_s(host, nce);
        switch (retval) {
        case FEDFS_OK:
                printf("Successfully updated NCI\n");
@@ -239,7 +238,7 @@ main(int argc, char **argv)
                        "for this NSDB\n", nce);
                break;
        case FEDFS_ERR_NSDB_LDAP_VAL:
-               switch (ldap_err) {
+               switch (nsdb_ldaperr(host)) {
                case LDAP_REFERRAL:
                        fprintf(stderr, "Encountered LDAP referral on %s:%u\n",
                                nsdbname, nsdbport);
@@ -250,7 +249,7 @@ main(int argc, char **argv)
                        break;
                default:
                        fprintf(stderr, "Failed to update NCI: %s\n",
-                               ldap_err2string(ldap_err));
+                               nsdb_ldaperr2string(host));
                }
                break;
        default:


_______________________________________________
fedfs-utils-devel mailing list
[email protected]
https://oss.oracle.com/mailman/listinfo/fedfs-utils-devel

Reply via email to