isl_vec_free: return NULL
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 18 Aug 2012 15:40:58 +0000 (17:40 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Thu, 6 Sep 2012 13:45:20 +0000 (15:45 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
doc/user.pod
include/isl/vec.h
isl_vec.c

index 2a286eb..dbb3a37 100644 (file)
@@ -2981,7 +2981,7 @@ Vectors can be created, copied and freed using the following functions.
        __isl_give isl_vec *isl_vec_alloc(isl_ctx *ctx,
                unsigned size);
        __isl_give isl_vec *isl_vec_copy(__isl_keep isl_vec *vec);
-       void isl_vec_free(__isl_take isl_vec *vec);
+       void *isl_vec_free(__isl_take isl_vec *vec);
 
 Note that the elements of a newly created vector may have arbitrary values.
 The elements can be changed and inspected using the following functions.
index 4ccc137..e06a987 100644 (file)
@@ -36,7 +36,7 @@ typedef struct isl_vec isl_vec;
 __isl_give isl_vec *isl_vec_alloc(isl_ctx *ctx, unsigned size);
 __isl_give isl_vec *isl_vec_copy(__isl_keep isl_vec *vec);
 struct isl_vec *isl_vec_cow(struct isl_vec *vec);
-void isl_vec_free(__isl_take isl_vec *vec);
+void *isl_vec_free(__isl_take isl_vec *vec);
 
 isl_ctx *isl_vec_get_ctx(__isl_keep isl_vec *vec);
 
index 18cf3bb..383d2ab 100644 (file)
--- a/isl_vec.c
+++ b/isl_vec.c
@@ -121,17 +121,19 @@ struct isl_vec *isl_vec_cow(struct isl_vec *vec)
        return vec2;
 }
 
-void isl_vec_free(struct isl_vec *vec)
+void *isl_vec_free(__isl_take isl_vec *vec)
 {
        if (!vec)
-               return;
+               return NULL;
 
        if (--vec->ref > 0)
-               return;
+               return NULL;
 
        isl_ctx_deref(vec->ctx);
        isl_blk_free(vec->ctx, vec->block);
        free(vec);
+
+       return NULL;
 }
 
 int isl_vec_size(__isl_keep isl_vec *vec)