isl_ast_build_ast_from_schedule: make construction of else branches optional
[platform/upstream/isl.git] / isl_printer.c
index ed5522f..1793270 100644 (file)
@@ -256,13 +256,15 @@ error:
        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)
@@ -360,6 +362,8 @@ __isl_give isl_printer *isl_printer_print_str(__isl_take isl_printer *p,
 {
        if (!p)
                return NULL;
+       if (!s)
+               return isl_printer_free(p);
 
        return p->ops->print_str(p, s);
 }