#include <iostream>
using namespace std;
typedef struct {
int (*buffer_push_strategy)();
} parser;
int buffer_push_strategy1()
{}
int buffer_push_strategy2()
{}
int parser_init(parser* p) {
if (true) {
p->buffer_push_strategy = buffer_push_strategy1;
}
else {
p->buffer_push_strategy = buffer_push_strategy2;
}
return 0;
}
int main() {
parser p;
parser_init(&p);
if(p.buffer_push_strategy == buffer_push_strategy1)
{
std::cout << 1;
}
else
{
std::cout << 2;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgaW50ICgqYnVmZmVyX3B1c2hfc3RyYXRlZ3kpKCk7Cn0gcGFyc2VyOwoKaW50IGJ1ZmZlcl9wdXNoX3N0cmF0ZWd5MSgpCnt9CmludCBidWZmZXJfcHVzaF9zdHJhdGVneTIoKQp7fQoKaW50IHBhcnNlcl9pbml0KHBhcnNlciogcCkgeyAgICAKICAgIGlmICh0cnVlKSB7CiAgICAgICAgcC0+YnVmZmVyX3B1c2hfc3RyYXRlZ3kgPSBidWZmZXJfcHVzaF9zdHJhdGVneTE7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBwLT5idWZmZXJfcHVzaF9zdHJhdGVneSA9IGJ1ZmZlcl9wdXNoX3N0cmF0ZWd5MjsKICAgIH0KcmV0dXJuIDA7Cn0KCmludCBtYWluKCkgewoJCglwYXJzZXIgcDsKCXBhcnNlcl9pbml0KCZwKTsKCWlmKHAuYnVmZmVyX3B1c2hfc3RyYXRlZ3kgPT0gYnVmZmVyX3B1c2hfc3RyYXRlZ3kxKQoJewoJCXN0ZDo6Y291dCA8PCAxOwkKCX0KCWVsc2UKCXsKCQlzdGQ6OmNvdXQgPDwgMjsJCgl9CgkKCXJldHVybiAwOwp9