#include <stdio.h>
struct fxdata {
int foo;
};
int function(int n, struct fxdata *p) {
p->foo += n;
return p->foo;
}
int main(void) {
struct fxdata f1 = {0};
struct fxdata f2 = {0};
function(10, &f1); // returns 10
function(-4, &f2); // returns -4
printf("%d, %d\n", function(1, &f1
), function(-1, &f2
)); }
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3QgZnhkYXRhIHsKICAgIGludCBmb287Cn07CgppbnQgZnVuY3Rpb24oaW50IG4sIHN0cnVjdCBmeGRhdGEgKnApIHsKICAgIHAtPmZvbyArPSBuOwogICAgcmV0dXJuIHAtPmZvbzsKfQoKaW50IG1haW4odm9pZCkgewogICAgc3RydWN0IGZ4ZGF0YSBmMSA9IHswfTsKICAgIHN0cnVjdCBmeGRhdGEgZjIgPSB7MH07CiAgICBmdW5jdGlvbigxMCwgJmYxKTsgLy8gcmV0dXJucyAxMAogICAgZnVuY3Rpb24oLTQsICZmMik7IC8vIHJldHVybnMgLTQKICAgIHByaW50ZigiJWQsICVkXG4iLCBmdW5jdGlvbigxLCAmZjEpLCBmdW5jdGlvbigtMSwgJmYyKSk7Cn0K