svn commit: samba r19885 - in
branches/SAMBA_4_0/source/lib/ldb/common: .
metze at samba.org
metze at samba.org
Sat Nov 25 14:59:59 GMT 2006
Author: metze
Date: 2006-11-25 14:59:59 +0000 (Sat, 25 Nov 2006)
New Revision: 19885
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19885
Log:
special dn's were not casefolded before rev 19831,
act like this again...
also when we already have a casefoled value we should not call ldb_dn_casefold_internal()
metze
Modified:
branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c
Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c 2006-11-25 14:49:17 UTC (rev 19884)
+++ branches/SAMBA_4_0/source/lib/ldb/common/ldb_dn.c 2006-11-25 14:59:59 UTC (rev 19885)
@@ -628,24 +628,22 @@
int i, len;
char *d, *n;
+ if (dn->casefold) return dn->casefold;
+
+ if (dn->special) {
+ dn->casefold = talloc_strdup(dn, dn->linearized);
+ if (!dn->casefold) return NULL;
+ dn->valid_case = true;
+ return dn->casefold;
+ }
+
if ( ! ldb_dn_casefold_internal(dn)) {
return NULL;
}
- if (dn->casefold) return dn->casefold;
-
if (dn->comp_num == 0) {
- if (dn->special) {
- len = strlen(dn->linearized);
- dn->casefold = talloc_array(dn, char, len * 3 + 1);
- if ( ! dn->casefold) return NULL;
- ldb_dn_escape_internal(dn->casefold, dn->linearized, len);
- /* don't waste more memory than necessary */
- dn->casefold = talloc_realloc(dn, dn->casefold, char, strlen(dn->casefold) + 1);
- } else {
- dn->casefold = talloc_strdup(dn, "");
- if ( ! dn->casefold) return NULL;
- }
+ dn->casefold = talloc_strdup(dn, "");
+ if (!dn->casefold) return NULL;
dn->valid_case = true;
return dn->casefold;
}
More information about the samba-cvs
mailing list