240 |
void ccs_put_condition(struct ccs_condition *cond) |
void ccs_put_condition(struct ccs_condition *cond) |
241 |
{ |
{ |
242 |
const struct ccs_condition_element *condp; |
const struct ccs_condition_element *condp; |
243 |
const unsigned long *ulong_p; |
struct ccs_number_union *numbers_p; |
244 |
struct ccs_number_group **number_group_p; |
struct ccs_name_union *names_p; |
|
const struct ccs_path_info **path_info_p; |
|
|
struct ccs_path_group **path_group_p; |
|
245 |
const struct ccs_argv_entry *argv; |
const struct ccs_argv_entry *argv; |
246 |
const struct ccs_envp_entry *envp; |
const struct ccs_envp_entry *envp; |
247 |
u16 condc; |
u16 condc; |
248 |
u16 number_group_count; |
u16 numbers_count; |
249 |
u16 path_info_count; |
u16 names_count; |
|
u16 path_group_count; |
|
250 |
u16 argc; |
u16 argc; |
251 |
u16 envc; |
u16 envc; |
252 |
u16 i; |
u16 i; |
262 |
if (!can_delete) |
if (!can_delete) |
263 |
return; |
return; |
264 |
condc = cond->condc; |
condc = cond->condc; |
265 |
number_group_count = cond->number_group_count; |
numbers_count = cond->numbers_count; |
266 |
path_info_count = cond->path_info_count; |
names_count = cond->names_count; |
|
path_group_count = cond->path_group_count; |
|
267 |
argc = cond->argc; |
argc = cond->argc; |
268 |
envc = cond->envc; |
envc = cond->envc; |
269 |
condp = (const struct ccs_condition_element *) (cond + 1); |
condp = (const struct ccs_condition_element *) (cond + 1); |
270 |
ulong_p = (unsigned long *) (condp + condc); |
numbers_p = (struct ccs_number_union *) (condp + condc); |
271 |
number_group_p = (struct ccs_number_group **) |
names_p = (struct ccs_name_union *) (numbers_p + numbers_count); |
272 |
(ulong_p + cond->ulong_count); |
argv = (const struct ccs_argv_entry *) (names_p + names_count); |
|
path_info_p = (const struct ccs_path_info **) |
|
|
(number_group_p + number_group_count); |
|
|
path_group_p = (struct ccs_path_group **) |
|
|
(path_info_p + path_info_count); |
|
|
argv = (const struct ccs_argv_entry *) |
|
|
(path_group_p + path_group_count); |
|
273 |
envp = (const struct ccs_envp_entry *) (argv + argc); |
envp = (const struct ccs_envp_entry *) (argv + argc); |
274 |
for (i = 0; i < cond->number_group_count; i++) |
for (i = 0; i < cond->numbers_count; i++) |
275 |
ccs_put_number_group(*number_group_p++); |
ccs_put_number_union(numbers_p++); |
276 |
for (i = 0; i < cond->path_info_count; i++) |
for (i = 0; i < cond->names_count; i++) |
277 |
ccs_put_name(*path_info_p++); |
ccs_put_name_union(names_p++); |
|
for (i = 0; i < cond->path_group_count; i++) |
|
|
ccs_put_path_group(*path_group_p++); |
|
278 |
for (i = 0; i < argc; argv++, i++) |
for (i = 0; i < argc; argv++, i++) |
279 |
ccs_put_name(argv->value); |
ccs_put_name(argv->value); |
280 |
for (i = 0; i < envc; envp++, i++) { |
for (i = 0; i < envc; envp++, i++) { |