summaryrefslogtreecommitdiff
path: root/source4/lib/ldb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-06-10 10:13:55 +1000
committerAndrew Tridgell <tridge@samba.org>2009-06-10 10:13:55 +1000
commit48dbfc89cf532704a0e2fedff828a0a48476053f (patch)
treeab3a0f34f809f3496a6b4fc0b619612d5697a9e5 /source4/lib/ldb
parentb660e51decaa1da99bce7eac80e6a6fad69b6dcb (diff)
downloadsamba-48dbfc89cf532704a0e2fedff828a0a48476053f.tar.gz
samba-48dbfc89cf532704a0e2fedff828a0a48476053f.tar.bz2
samba-48dbfc89cf532704a0e2fedff828a0a48476053f.zip
fixed server side sorting of case-insensitive strings
The sort module uses ldb_comparison_fold() as the comparison function for case-insensitive attributes. In other places the function is being used to produce a boolean, but for sorting we care about ordering. The n1 - n2 return was sorting by length, not value
Diffstat (limited to 'source4/lib/ldb')
-rw-r--r--source4/lib/ldb/common/attrib_handlers.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/source4/lib/ldb/common/attrib_handlers.c b/source4/lib/ldb/common/attrib_handlers.c
index 4869e3289c..9cb9ff886c 100644
--- a/source4/lib/ldb/common/attrib_handlers.c
+++ b/source4/lib/ldb/common/attrib_handlers.c
@@ -216,9 +216,6 @@ int ldb_comparison_fold(struct ldb_context *ldb, void *mem_ctx,
while (*s1 == ' ') { s1++; n1--; }
while (*s2 == ' ') { s2++; n2--; }
}
- if (n1 != n2) {
- return n1 - n2;
- }
return (int)(toupper(*s1)) - (int)(toupper(*s2));
utf8str: