From b6b4d837e3b7ec621a032dcc369e3e9219e78044 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Mon, 28 Jan 2002 10:11:36 +0000 Subject: [PATCH] Some more struct berval conversions --- servers/slapd/acl.c | 12 +++++------- servers/slapd/sets.c | 10 +++++----- servers/slapd/sets.h | 4 ++-- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/servers/slapd/acl.c b/servers/slapd/acl.c index 6feaa84a49..89aade2551 100644 --- a/servers/slapd/acl.c +++ b/servers/slapd/acl.c @@ -79,7 +79,7 @@ typedef struct AciSetCookie { Operation *op; } AciSetCookie; -BerVarray aci_set_gather (void *cookie, char *name, struct berval *attr); +SLAP_SET_GATHER aci_set_gather; static int aci_match_set ( struct berval *subj, Backend *be, Entry *e, Connection *conn, Operation *op, int setref ); @@ -1233,20 +1233,18 @@ aci_get_part( } BerVarray -aci_set_gather (void *cookie, char *name, struct berval *attr) +aci_set_gather (void *cookie, struct berval *name, struct berval *attr) { AciSetCookie *cp = cookie; BerVarray bvals = NULL; - struct berval bv, ndn; + struct berval ndn; /* this routine needs to return the bervals instead of * plain strings, since syntax is not known. It should * also return the syntax or some "comparison cookie". */ - bv.bv_val = name; - bv.bv_len = strlen( name ); - if (dnNormalize2(NULL, &bv, &ndn) == LDAP_SUCCESS) { + if (dnNormalize2(NULL, name, &ndn) == LDAP_SUCCESS) { const char *text; AttributeDescription *desc = NULL; if (slap_bv2ad(attr, &desc, &text) == LDAP_SUCCESS) { @@ -1329,7 +1327,7 @@ aci_match_set ( cookie.conn = conn; cookie.op = op; rc = (slap_set_filter(aci_set_gather, &cookie, &set, - op->o_ndn.bv_val, e->e_ndn, NULL) > 0); + &op->o_ndn, &e->e_nname, NULL) > 0); ch_free(set.bv_val); } return(rc); diff --git a/servers/slapd/sets.c b/servers/slapd/sets.c index c2b4c257f3..b223ca3250 100644 --- a/servers/slapd/sets.c +++ b/servers/slapd/sets.c @@ -141,7 +141,7 @@ set_chase (SLAP_SET_GATHER gatherer, return(NULL); } for (i = 0; set[i].bv_val; i++) { - vals = (gatherer)(cookie, set[i].bv_val, &bv); + vals = (gatherer)(cookie, &set[i], &bv); if (vals != NULL) nset = set_join(nset, '|', vals); } @@ -149,7 +149,7 @@ set_chase (SLAP_SET_GATHER gatherer, if (closure) { for (i = 0; nset[i].bv_val; i++) { - vals = (gatherer)(cookie, nset[i].bv_val, &bv); + vals = (gatherer)(cookie, &nset[i], &bv); if (vals != NULL) { nset = set_join(nset, '|', vals); if (nset == NULL) @@ -194,7 +194,7 @@ set_samedn (char *dn1, char *dn2) int slap_set_filter (SLAP_SET_GATHER gatherer, void *cookie, struct berval *fbv, - char *user, char *this, BerVarray *results) + struct berval *user, struct berval *this, BerVarray *results) { #define IS_SET(x) ( (long)(x) >= 256 ) #define IS_OP(x) ( (long)(x) < 256 ) @@ -331,7 +331,7 @@ slap_set_filter (SLAP_SET_GATHER gatherer, set = ch_calloc(2, sizeof(struct berval)); if (set == NULL) SF_ERROR(memory); - ber_str2bv( this, 0, 1, set ); + ber_dupbv( set, this ); if (set->bv_val == NULL) SF_ERROR(memory); } else if (len == 4 @@ -342,7 +342,7 @@ slap_set_filter (SLAP_SET_GATHER gatherer, set = ch_calloc(2, sizeof(struct berval)); if (set == NULL) SF_ERROR(memory); - ber_str2bv( user, 0, 1, set ); + ber_dupbv( set, user ); if (set->bv_val == NULL) SF_ERROR(memory); } else if (SF_TOP() != (void *)'/') { diff --git a/servers/slapd/sets.h b/servers/slapd/sets.h index 2b326ae85d..569efa90b6 100644 --- a/servers/slapd/sets.h +++ b/servers/slapd/sets.h @@ -17,7 +17,7 @@ LDAP_BEGIN_DECL * that is used by set_filter. */ typedef BerVarray (SLAP_SET_GATHER)( - void *cookie, char *name, struct berval *attr); + void *cookie, struct berval *name, struct berval *attr); LDAP_SLAPD_F (long) slap_set_size (BerVarray set); LDAP_SLAPD_F (void) slap_set_dispose (BerVarray set); @@ -25,7 +25,7 @@ LDAP_SLAPD_F (void) slap_set_dispose (BerVarray set); LDAP_SLAPD_F (int) slap_set_filter (SLAP_SET_GATHER gatherer, void *cookie, struct berval *filter, - char *user, char *this, BerVarray *results); + struct berval *user, struct berval *this, BerVarray *results); LDAP_END_DECL -- 2.39.5