#include "pushy.h" #include typedef struct {dnode d; FILE* file; int lim;} bS; static void pll(unode * u){ ug = u; longjmp(trmp, 1);} static void print(char c, dnode* dx, unode* u){ bS* d = (bS*)dx; if(!--d->lim) exit(0); fputc(c, d->file); pll(u);} dnode* cprint(FILE* file, int lim){ bS* b = (bS*)malloc(sizeof(bS)); *b = (bS){(dnode){print, 0}, file, lim}; return &b->d;}