diff options
author | Martin Nagy <mnagy@redhat.com> | 2009-03-13 22:46:43 +0100 |
---|---|---|
committer | Martin Nagy <mnagy@redhat.com> | 2009-03-14 01:02:32 +0100 |
commit | 313dfc2a67db42894749a84e2ec7bb5df6b01ffa (patch) | |
tree | b117941ea2dd5db278bd5f116cfbbc99a1edc2bd | |
parent | 093e3d91f4f581bd6f2f6e17c26c23c44fa83714 (diff) | |
download | ldap_driver_testing-313dfc2a67db42894749a84e2ec7bb5df6b01ffa.tar.gz ldap_driver_testing-313dfc2a67db42894749a84e2ec7bb5df6b01ffa.tar.xz ldap_driver_testing-313dfc2a67db42894749a84e2ec7bb5df6b01ffa.zip |
Add ldap_rdatalist_copy().
-rw-r--r-- | rdlist.c | 30 | ||||
-rw-r--r-- | rdlist.h | 4 |
2 files changed, 34 insertions, 0 deletions
@@ -106,3 +106,33 @@ cleanup: return result; } + +isc_result_t +ldap_rdatalist_copy(isc_mem_t *mctx, ldapdb_rdatalist_t source, + ldapdb_rdatalist_t *target) +{ + dns_rdatalist_t *rdlist; + dns_rdatalist_t *new_rdlist; + isc_result_t result; + + REQUIRE(mctx != NULL); + REQUIRE(target != NULL); + + INIT_LIST(*target); + + rdlist = HEAD(source); + while (rdlist != NULL) { + new_rdlist = NULL; + CHECK(rdatalist_clone(mctx, rdlist, &new_rdlist)); + APPEND(*target, new_rdlist, link); + + rdlist = NEXT(rdlist, link); + } + + return ISC_R_SUCCESS; + +cleanup: + ldapdb_rdatalist_destroy(mctx, target); + + return result; +} @@ -25,4 +25,8 @@ isc_result_t rdatalist_clone(isc_mem_t *mctx, dns_rdatalist_t *source, dns_rdatalist_t **targetp); +isc_result_t +ldap_rdatalist_copy(isc_mem_t *mctx, ldapdb_rdatalist_t source, + ldapdb_rdatalist_t *target); + #endif /* !_LD_RDLIST_H_ */ |