fix overflow testing in matrix_to_list

This commit is contained in:
Vitor Santos Costa 2009-07-13 21:57:01 -05:00
parent 11cefa668a
commit ad30c36626

View File

@ -387,13 +387,13 @@ static YAP_Term
float_matrix_to_list(int *mat) { float_matrix_to_list(int *mat) {
double *data = matrix_double_data(mat, mat[MAT_NDIMS]); double *data = matrix_double_data(mat, mat[MAT_NDIMS]);
int i = 0; int i = 0;
YAP_Term tf = YAP_TermNil(); YAP_Term tf = YAP_TermNil(), tnil = tf;
for (i = mat[MAT_SIZE]-1; i>= 0; i--) { for (i = mat[MAT_SIZE]-1; i>= 0; i--) {
tf = YAP_MkPairTerm(YAP_MkFloatTerm(data[i]),tf); tf = YAP_MkPairTerm(YAP_MkFloatTerm(data[i]),tf);
if (tf == YAP_TermNil()) { if (tf == tnil) {
/* error */ /* error */
return YAP_TermNil(); return tnil;
} }
} }
return tf; return tf;