diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-10-12 07:54:15 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:39:42 -0500 |
commit | 49cc13a8f0fbc4f68e14720b733329ce45135cec (patch) | |
tree | a98870386494a25a08bf0da2fd4a98eaab3c4891 /source4/lib/ldb/common/ldb_attributes.c | |
parent | 33da2fabe6c3b1e20a955d72e1ebd0e850751df0 (diff) | |
download | samba-49cc13a8f0fbc4f68e14720b733329ce45135cec.tar.gz samba-49cc13a8f0fbc4f68e14720b733329ce45135cec.tar.bz2 samba-49cc13a8f0fbc4f68e14720b733329ce45135cec.zip |
r10915: added a standard attribute handler for a ldap UTC time string
(This used to be commit efd7dd1a775c06f21924f35760f7768b4e8db449)
Diffstat (limited to 'source4/lib/ldb/common/ldb_attributes.c')
-rw-r--r-- | source4/lib/ldb/common/ldb_attributes.c | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/source4/lib/ldb/common/ldb_attributes.c b/source4/lib/ldb/common/ldb_attributes.c index 47b4b1788b..bf955ece3d 100644 --- a/source4/lib/ldb/common/ldb_attributes.c +++ b/source4/lib/ldb/common/ldb_attributes.c @@ -138,6 +138,22 @@ void ldb_remove_attrib_handler(struct ldb_context *ldb, const char *attrib) ldb->schema.num_attrib_handlers--; } +/* + setup a attribute handler using a standard syntax +*/ +int ldb_set_attrib_handler_syntax(struct ldb_context *ldb, + const char *attr, const char *syntax) +{ + const struct ldb_attrib_handler *h = ldb_attrib_handler_syntax(ldb, syntax); + struct ldb_attrib_handler h2; + if (h == NULL) { + ldb_debug(ldb, LDB_DEBUG_ERROR, "Unknown syntax '%s'\n", syntax); + return -1; + } + h2 = *h; + h2.attr = attr; + return ldb_set_attrib_handlers(ldb, &h2, 1); +} /* setup the attribute handles for well known attributes @@ -158,17 +174,8 @@ int ldb_setup_wellknown_attributes(struct ldb_context *ldb) }; int i; for (i=0;i<ARRAY_SIZE(wellknown);i++) { - const struct ldb_attrib_handler *h = - ldb_attrib_handler_syntax(ldb, wellknown[i].syntax); - struct ldb_attrib_handler h2; - if (h == NULL) { - ldb_debug(ldb, LDB_DEBUG_ERROR, "Unknown syntax '%s'\n", - wellknown[i].syntax); - return -1; - } - h2 = *h; - h2.attr = wellknown[i].attr; - if (ldb_set_attrib_handlers(ldb, &h2, 1) != 0) { + if (ldb_set_attrib_handler_syntax(ldb, wellknown[i].attr, + wellknown[i].syntax) != 0) { return -1; } } |