X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_point.c;h=00514a9fec6e708a93e5d7f071f505f549964e7c;hb=02e0e8e1ccf2d74bc7518b8295479b7c38dfbe8c;hp=53419bee16d0ab988857e97f37a3ec9ad7c95115;hpb=f53869239275299d045f11ddbf71c9f590e73979;p=platform%2Fupstream%2Fisl.git diff --git a/isl_point.c b/isl_point.c index 53419be..00514a9 100644 --- a/isl_point.c +++ b/isl_point.c @@ -125,14 +125,21 @@ int isl_point_is_void(__isl_keep isl_point *pnt) return pnt->vec->size == 0; } -void isl_point_get_coordinate(__isl_keep isl_point *pnt, +int isl_point_get_coordinate(__isl_keep isl_point *pnt, enum isl_dim_type type, int pos, isl_int *v) { if (!pnt || isl_point_is_void(pnt)) - return; + return -1; + + if (pos < 0 || pos >= isl_space_dim(pnt->dim, type)) + isl_die(isl_point_get_ctx(pnt), isl_error_invalid, + "position out of bounds", return -1); + if (type == isl_dim_set) pos += isl_space_dim(pnt->dim, isl_dim_param); isl_int_set(*v, pnt->vec->el[1 + pos]); + + return 0; } __isl_give isl_point *isl_point_set_coordinate(__isl_take isl_point *pnt,