Lines Matching refs:data

150 static void get_either_iter(struct iter_data *data, char *name)  in get_either_iter()  argument
154 match = (step(name, data->expbuf) != 0); in get_either_iter()
157 match = (regexec(&data->preg, name, 0, NULL, 0) == 0); in get_either_iter()
163 if (data->n_names == data->sz_names) { in get_either_iter()
164 int new_sz = data->sz_names * 2; in get_either_iter()
165 char **new_names = realloc(data->names, in get_either_iter()
168 data->names = new_names; in get_either_iter()
169 data->sz_names = new_sz; in get_either_iter()
171 data->malloc_failed = 1; in get_either_iter()
176 data->names[data->n_names++] = name; in get_either_iter()
181 static void get_pols_iter(void *data, osa_policy_ent_t entry) in get_pols_iter() argument
187 get_either_iter(data, name); in get_pols_iter()
190 static void get_princs_iter(void *data, krb5_principal princ) in get_princs_iter() argument
192 struct iter_data *id = (struct iter_data *) data; in get_princs_iter()
197 get_either_iter(data, name); in get_princs_iter()
206 struct iter_data data; in kadm5_get_either() local
226 ((data.expbuf = compile(regexp, NULL, NULL)) == NULL) in kadm5_get_either()
229 ((regcomp(&data.preg, regexp, REG_NOSUB)) != 0) in kadm5_get_either()
241 data.n_names = 0; in kadm5_get_either()
242 data.sz_names = 10; in kadm5_get_either()
243 data.malloc_failed = 0; in kadm5_get_either()
244 data.names = malloc(sizeof(char *) * data.sz_names); in kadm5_get_either()
245 if (data.names == NULL) { in kadm5_get_either()
251 data.context = handle->context; in kadm5_get_either()
252 ret = kdb_iter_entry(handle, exp, get_princs_iter, (void *) &data); in kadm5_get_either()
254 ret = krb5_db_iter_policy(handle->context, exp, get_pols_iter, (void *)&data); in kadm5_get_either()
259 regfree(&data.preg); in kadm5_get_either()
261 if ( !ret && data.malloc_failed) in kadm5_get_either()
264 for (i = 0; i < data.n_names; i++) in kadm5_get_either()
265 free(data.names[i]); in kadm5_get_either()
266 free(data.names); in kadm5_get_either()
270 *princs = data.names; in kadm5_get_either()
271 *count = data.n_names; in kadm5_get_either()