From: Simo Sorce Date: Sat, 4 Feb 2006 01:27:47 +0000 (+0000) Subject: r13325: let samba register it's own utf8 aware functions in ldb X-Git-Tag: samba-misc-tags/initial-v4-0-unstable~5546 X-Git-Url: http://git.samba.org/?p=samba.git;a=commitdiff_plain;h=12faf556833807d3f2aa4360c54e10583ac77fed;ds=sidebyside r13325: let samba register it's own utf8 aware functions in ldb --- diff --git a/source/lib/db_wrap.c b/source/lib/db_wrap.c index e070d4eb14e..f3358bff98b 100644 --- a/source/lib/db_wrap.c +++ b/source/lib/db_wrap.c @@ -55,6 +55,16 @@ static void ldb_wrap_debug(void *context, enum ldb_debug_level level, free(s); } +static int wrap_caseless_cmp(void *context, const char *s1, const char *s2) +{ + return strcasecmp_m(s1, s2); +} + +static char *wrap_casefold(void *context, void *mem_ctx, const char *s) +{ + return strupper_talloc(mem_ctx, s); +} + /* wrapped connection to a ldb database to close just talloc_free() the returned ldb_context @@ -123,6 +133,8 @@ struct ldb_context *ldb_wrap_connect(TALLOC_CTX *mem_ctx, ldb_set_debug(ldb, ldb_wrap_debug, NULL); + ldb_set_utf8_fns(ldb, NULL, wrap_caseless_cmp, wrap_casefold); + return ldb; } diff --git a/source/lib/ldb/include/ldb.h b/source/lib/ldb/include/ldb.h index a8c2d176b59..7c39aeeeb95 100644 --- a/source/lib/ldb/include/ldb.h +++ b/source/lib/ldb/include/ldb.h @@ -1112,6 +1112,14 @@ int ldb_set_debug(struct ldb_context *ldb, const char *fmt, va_list ap), void *context); +/** + this allows the user to set custom utf8 function for error reporting +*/ +void ldb_set_utf8_fns(struct ldb_context *ldb, + void *context, + int (*cmp)(void *, const char *, const char *), + char *(*casefold)(void *, void *, const char *)); + /** this sets up debug to print messages on stderr */