Lines Matching refs:fm
120 Fmt_t *fm, *fmstk; /* stack contexts */ local
640 { if(!(fm = (Fmt_t*)malloc(sizeof(Fmt_t))) )
643 ft = fm->ft = argv.ft;
646 { fm->form = (char*)form; SFMBCPY(&fm->mbs,&fmbs);
647 va_copy(fm->args,args);
649 fm->oform = oform;
650 va_copy(fm->oargs,oargs);
651 fm->argn = argn;
652 fm->fp = fp;
661 else fm->form = NIL(char*);
663 fm->eventf = ft->eventf;
664 fm->next = fmstk;
665 fmstk = fm;
1349 while((fm = fmstk) ) /* pop the format stack and continue */
1350 { if(fm->eventf)
1352 (*fm->eventf)(f,SF_FINAL,NIL(Void_t*),ft);
1353 else if((*fm->eventf)(f,SF_DPOP,(Void_t*)form,ft) < 0)
1357 fmstk = fm->next;
1358 if((form = fm->form) )
1359 { SFMBCPY(&fmbs,&fm->mbs);
1360 va_copy(args, fm->args);
1361 oform = fm->oform;
1362 va_copy(oargs,fm->oargs);
1363 argn = fm->argn;
1364 fp = fm->fp;
1366 ft = fm->ft;
1367 free(fm);
1375 while((fm = fmstk) )
1376 { if(fm->eventf)
1377 (*fm->eventf)(f,SF_FINAL,NIL(Void_t*),fm->ft);
1378 fmstk = fm->next;
1379 free(fm);