return NULL;
}
-void isl_printer_free(__isl_take isl_printer *p)
+void *isl_printer_free(__isl_take isl_printer *p)
{
if (!p)
- return;
+ return NULL;
free(p->buf);
isl_ctx_deref(p->ctx);
free(p);
+
+ return NULL;
}
isl_ctx *isl_printer_get_ctx(__isl_keep isl_printer *printer)
{
if (!p)
return NULL;
+ if (!s)
+ return isl_printer_free(p);
return p->ops->print_str(p, s);
}