1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
extern void free (void *__ptr); struct shparam { char **p; int foo; }; static struct shparam shellparam; inline void freeparam (volatile struct shparam *param, char **ap) { free ((void *) (*ap)); free ((void *) (param->p)); } void dotcmd (char **p) { freeparam (&shellparam, p); } void evaltree (void) { void (*evalfn) (char **); evalfn = dotcmd; }