#include"a.h" #undef malloc #undef realloc #undef free #undef fopen NR V die(IM C*f,...)VA(f,vfprintf(stderr,f,ap),fputc('\n',stderr),exit(1)) V asrt(B b,IM C*m){N(b,die(m))} V*mk(W sz){V*p;N(p=calloc(1,sz),die("oom"))R p;} V*remk(V*p,W sz){N(p=realloc(p,sz),die("oom"))R p;} V del(V*p){free(p);} F xopen(IM C*n,IM C*p){F f;N(f=fopen(n,p),die("unable to open file `%s`",n))R f;}