Example #1
0
char *X(export_wisdom_to_string)(MemallocFuncCallBack apFunc)
{

	
     printer *p;
     planner *plnr = X(the_planner)();
     int cnt;
     char *s;
	 if (NULL == apFunc)
	 {
		 return NULL;
	 }
     p = mkprinter_cnt(&cnt);
     plnr->adt->exprt(plnr, p);
     X(printer_destroy)(p);

     s = (char *) apFunc(sizeof(char) * (cnt + 1));
     if (s) {
          p = mkprinter_str(s);
          plnr->adt->exprt(plnr, p);
          X(printer_destroy)(p);
     }

     return s;
}
char *X(export_wisdom_to_string)(void)
{
     printer *p;
     planner *plnr = X(the_planner)();
     int cnt;
     char *s;

     p = mkprinter_cnt(&cnt);
     plnr->adt->exprt(plnr, p);
     X(printer_destroy)(p);

     s = (char *) malloc(sizeof(char) * (cnt + 1));
     if (s) {
          p = mkprinter_str(s);
          plnr->adt->exprt(plnr, p);
          X(printer_destroy)(p);
     }

     return s;
}