#include <stdio.h>
#include <string.h>
unsigned intVar;
char charVar;
void *getPtr(char *name)
{
if (strcmp("charVar", name
) == 0) return &charVar
; if (strcmp("intVar", name
) == 0) return &intVar
; return NULL;
}
int main(void)
{
unsigned *varPtr;
varPtr = getPtr("charVar");
*varPtr = 1;
varPtr = getPtr("intVar");
*varPtr = 2;
printf("charVar = %d\nintVar = %d", charVar
, intVar
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCnVuc2lnbmVkIGludFZhcjsKY2hhciBjaGFyVmFyOwoKdm9pZCAqZ2V0UHRyKGNoYXIgKm5hbWUpCnsKCWlmIChzdHJjbXAoImNoYXJWYXIiLCBuYW1lKSA9PSAwKSByZXR1cm4gJmNoYXJWYXI7CglpZiAoc3RyY21wKCJpbnRWYXIiLCBuYW1lKSA9PSAwKSByZXR1cm4gJmludFZhcjsKCXJldHVybiBOVUxMOwp9CgoKaW50IG1haW4odm9pZCkgCnsKCXVuc2lnbmVkICp2YXJQdHI7Cgl2YXJQdHIgPSBnZXRQdHIoImNoYXJWYXIiKTsKCSp2YXJQdHIgPSAxOwoJdmFyUHRyID0gZ2V0UHRyKCJpbnRWYXIiKTsKCSp2YXJQdHIgPSAyOwoJcHJpbnRmKCJjaGFyVmFyID0gJWRcbmludFZhciA9ICVkIiwgY2hhclZhciwgaW50VmFyKTsKCXJldHVybiAwOwp9Cg==