#include <stdio.h>
typedef struct sbuffer_t sbuffer_t;
struct sbuffer_t {
char data[10];
int index;
int counter;
};
typedef struct buffer_t buffer_t;
struct buffer_t {
char data[20];
int index;
int counter;
};
#define NULLZERO ('\0')
#define INIT(name) \
void name ## _init(struct name *ptr){ \
ptr->data[0] = NULLZERO; \
ptr->index = 0; \
ptr->counter = 0; \
}
INIT(buffer_t);
INIT(sbuffer_t);
//definicja zmiennych
buffer_t XXX;
sbuffer_t YYY;
int main(void) {
buffer_t_init(&XXX);
sbuffer_t_init(&YYY);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCBzYnVmZmVyX3Qgc2J1ZmZlcl90OwpzdHJ1Y3Qgc2J1ZmZlcl90IHsKICBjaGFyIGRhdGFbMTBdOwogIGludCBpbmRleDsKICBpbnQgY291bnRlcjsKfTsKCnR5cGVkZWYgc3RydWN0IGJ1ZmZlcl90IGJ1ZmZlcl90OwpzdHJ1Y3QgYnVmZmVyX3QgewogIGNoYXIgZGF0YVsyMF07CiAgaW50IGluZGV4OwogIGludCBjb3VudGVyOwp9OwoKI2RlZmluZSBOVUxMWkVSTyAoJ1wwJykKI2RlZmluZSBJTklUKG5hbWUpICAgICAgICAgICAgICAgICAgICBcCnZvaWQgbmFtZSAjIyBfaW5pdChzdHJ1Y3QgbmFtZSAqcHRyKXsgXAogIHB0ci0+ZGF0YVswXSA9IE5VTExaRVJPOyAgICAgICAgICAgIFwKICBwdHItPmluZGV4ID0gMDsgICAgICAgICAgICAgICAgICAgICBcCiAgcHRyLT5jb3VudGVyID0gMDsgICAgICAgICAgICAgICAgICAgXAp9CgpJTklUKGJ1ZmZlcl90KTsKSU5JVChzYnVmZmVyX3QpOwovL2RlZmluaWNqYSB6bWllbm55Y2gKCmJ1ZmZlcl90IFhYWDsKc2J1ZmZlcl90IFlZWTsKCmludCBtYWluKHZvaWQpIHsKCWJ1ZmZlcl90X2luaXQoJlhYWCk7CglzYnVmZmVyX3RfaW5pdCgmWVlZKTsKCXJldHVybiAwOwp9Cg==