diff options
author | Andrew Tridgell <tridge@samba.org> | 2009-06-10 10:13:55 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2009-06-10 10:13:55 +1000 |
commit | 48dbfc89cf532704a0e2fedff828a0a48476053f (patch) | |
tree | ab3a0f34f809f3496a6b4fc0b619612d5697a9e5 /source4/lib/ldb | |
parent | b660e51decaa1da99bce7eac80e6a6fad69b6dcb (diff) | |
download | samba-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.c | 3 |
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: |