- don't even support passing a pblock into format_get_data(), because we have
never actually done that
Nalin Dahyabhai
15 years ago
252 | 252 |
keys = malloc((data->n_key_formats + 1) * sizeof(char *));
|
253 | 253 |
if (keys != NULL) {
|
254 | 254 |
for (i = 0; i < data->n_key_formats; i++) {
|
255 | |
keys[i] = format_get_data(data->state, NULL, e,
|
|
255 |
keys[i] = format_get_data(data->state, e,
|
256 | 256 |
data->domain, data->map,
|
257 | 257 |
data->key_formats[i],
|
258 | 258 |
data->disallowed_chars,
|
|
263 | 263 |
} else {
|
264 | 264 |
return 0;
|
265 | 265 |
}
|
266 | |
value = format_get_data(data->state, NULL, e, data->domain, data->map,
|
|
266 |
value = format_get_data(data->state, e, data->domain, data->map,
|
267 | 267 |
data->value_format, data->disallowed_chars,
|
268 | 268 |
&data->ref_attrs, &data->inref_attrs);
|
269 | 269 |
/* Pull out the NDN of this entry. */
|
2154 | 2154 |
}
|
2155 | 2155 |
|
2156 | 2156 |
char *
|
2157 | |
format_get_data(struct plugin_state *state, Slapi_PBlock *pb, Slapi_Entry *e,
|
|
2157 |
format_get_data(struct plugin_state *state, Slapi_Entry *e,
|
2158 | 2158 |
const char *domain, const char *map,
|
2159 | 2159 |
const char *fmt, const char *disallowed,
|
2160 | 2160 |
char ***ref_attrs,
|
2161 | 2161 |
struct format_inref_attr ***inref_attrs)
|
2162 | 2162 |
{
|
2163 | |
Slapi_PBlock *local_pb;
|
|
2163 |
Slapi_PBlock *pb;
|
2164 | 2164 |
char ***ndn_list, **local_ndn_list, *ret;
|
2165 | 2165 |
|
2166 | |
/* Supply a PBlock if the caller didn't. */
|
2167 | |
if (pb == NULL) {
|
2168 | |
local_pb = slapi_pblock_new();
|
2169 | |
pb = local_pb;
|
2170 | |
} else {
|
2171 | |
local_pb = NULL;
|
2172 | |
}
|
2173 | |
|
|
2166 |
pb = slapi_pblock_new();
|
2174 | 2167 |
ret = format_format(state, pb, e, domain, map, fmt, disallowed,
|
2175 | 2168 |
NULL, ref_attrs, inref_attrs);
|
2176 | |
|
2177 | |
/* If we supplied a PBlock, clean it up. */
|
2178 | |
if (pb == local_pb) {
|
2179 | |
slapi_pblock_destroy(local_pb);
|
2180 | |
}
|
|
2169 |
slapi_pblock_destroy(pb);
|
2181 | 2170 |
|
2182 | 2171 |
return ret;
|
2183 | 2172 |
}
|
20 | 20 |
|
21 | 21 |
#ifndef format_h
|
22 | 22 |
#define format_h
|
23 | |
struct slapi_pblock;
|
24 | 23 |
struct slapi_entry;
|
25 | 24 |
struct plugin_state;
|
26 | 25 |
|
|
35 | 34 |
struct format_inref_attr **format_dup_inref_attrs(struct format_inref_attr **);
|
36 | 35 |
|
37 | 36 |
void format_free_data(char *data);
|
38 | |
char *format_get_data(struct plugin_state *state,
|
39 | |
struct slapi_pblock *pb, struct slapi_entry *e,
|
|
37 |
char *format_get_data(struct plugin_state *state, struct slapi_entry *e,
|
40 | 38 |
const char *domain, const char *map,
|
41 | 39 |
const char *fmt, const char *disallowed_chars,
|
42 | 40 |
char ***ref_attrs,
|