summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/value.c
diff options
context:
space:
mode:
authorNoriko Hosoi <nhosoi@redhat.com>2006-11-06 20:51:32 +0000
committerNoriko Hosoi <nhosoi@redhat.com>2006-11-06 20:51:32 +0000
commit891043bf95a5973198fc42068adaf72ef2163e4d (patch)
treefdbec1a575d5108eebad9bcff5302e9a1173267f /ldap/servers/slapd/value.c
parent379091dfc02ea735b75764dbe50cfe17019f89be (diff)
downloadds-891043bf95a5973198fc42068adaf72ef2163e4d.tar.gz
ds-891043bf95a5973198fc42068adaf72ef2163e4d.tar.xz
ds-891043bf95a5973198fc42068adaf72ef2163e4d.zip
Resolves: #199923
Summary: subtree search fails to find items under a db containing special characters (Comment#16) Description: When dn contains rdn which includes '\\', it was escaped twice to generate a key for entrydn and caused mismatch in forming ancestorid index. It ends up the subtree search fail.
Diffstat (limited to 'ldap/servers/slapd/value.c')
-rw-r--r--ldap/servers/slapd/value.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/ldap/servers/slapd/value.c b/ldap/servers/slapd/value.c
index 5986f6eb..92c69ea9 100644
--- a/ldap/servers/slapd/value.c
+++ b/ldap/servers/slapd/value.c
@@ -190,6 +190,30 @@ value_init(Slapi_Value *v, const struct berval *bval,CSNType t,const CSN *csn)
return v;
}
+void
+slapi_value_set_flags(Slapi_Value *v, unsigned long flags)
+{
+ PR_ASSERT(v!=NULL);
+ v->v_flags = flags;
+}
+
+void
+slapi_values_set_flags(Slapi_Value **vs, unsigned long flags)
+{
+ PR_ASSERT(vs!=NULL);
+ Slapi_Value **v;
+ for (v = vs; v && *v; v++) {
+ slapi_value_set_flags(*v, flags);
+ }
+}
+
+unsigned long
+slapi_value_get_flags(Slapi_Value *v)
+{
+ PR_ASSERT(v!=NULL);
+ return v->v_flags;
+}
+
void
slapi_value_free(Slapi_Value **v)
{