blob: 14cb36d1c0e1c184a3f88bd3f01df14fe3a6ac9b [file] [log] [blame]
typedef struct
{
void *p;
} Ptr;
struct A
{
int i;
union
{
Ptr p;
char *q;
} u;
};
extern Ptr get_stuff (void);
extern void use_stuff (char *);
static void foo(struct A p, char *q)
{
if (p.i)
p.u.p = get_stuff ();
else
p.u.q = q;
use_stuff (p.u.q);
}
void bar(struct A *p, char *q)
{
foo(*p, q);
}