38944056dd210514bf570a6c6d2d3cf5b4c86af7
1 #ifndef _PSI_TYPES_IMPL_ARGS_H
2 #define _PSI_TYPES_IMPL_ARGS_H
4 typedef struct impl_args
{
10 static inline impl_args
*init_impl_args(impl_arg
*arg
) {
11 impl_args
*args
= calloc(1, sizeof(*args
));
14 args
->args
= calloc(1, sizeof(*args
->args
));
20 static inline impl_args
*add_impl_arg(impl_args
*args
, impl_arg
*arg
) {
21 args
->args
= realloc(args
->args
, ++args
->count
* sizeof(*args
->args
));
22 args
->args
[args
->count
-1] = arg
;
26 static inline void free_impl_args(impl_args
*args
) {
29 for (i
= 0; i
< args
->count
; ++i
) {
30 free_impl_arg(args
->args
[i
]);
32 if (args
->vararg
.name
) {
33 free_impl_arg(args
->vararg
.name
);