From 795f01d12593092a3d414f233fc228ed6c10ff5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Tue, 10 Dec 2013 18:55:58 +0000 Subject: [PATCH] fix error handling --- C/text.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/C/text.c b/C/text.c index 9f732ffb7..33ec47615 100644 --- a/C/text.c +++ b/C/text.c @@ -320,13 +320,16 @@ Yap_ListToBuffer(void *buf, Term t, seq_tv_t *inp, int *widep USES_REGS) static yap_error_number gen_type_error(int flags) { - if (flags & (YAP_STRING_STRING|YAP_STRING_ATOM|YAP_STRING_INT|YAP_STRING_FLOAT|YAP_STRING_ATOMS_CODES|YAP_STRING_BIG)) + if ((flags & (YAP_STRING_STRING|YAP_STRING_ATOM|YAP_STRING_INT|YAP_STRING_FLOAT|YAP_STRING_ATOMS_CODES|YAP_STRING_BIG)) == + (YAP_STRING_STRING|YAP_STRING_ATOM|YAP_STRING_INT|YAP_STRING_FLOAT|YAP_STRING_ATOMS_CODES|YAP_STRING_BIG)) return TYPE_ERROR_TEXT; - if (flags & (YAP_STRING_STRING|YAP_STRING_ATOM|YAP_STRING_INT|YAP_STRING_FLOAT|YAP_STRING_BIG)) + if ((flags & (YAP_STRING_STRING|YAP_STRING_ATOM|YAP_STRING_INT|YAP_STRING_FLOAT|YAP_STRING_BIG)) == + (YAP_STRING_STRING|YAP_STRING_ATOM|YAP_STRING_INT|YAP_STRING_FLOAT|YAP_STRING_BIG)) return TYPE_ERROR_ATOMIC; - if (flags & (YAP_STRING_INT|YAP_STRING_FLOAT|YAP_STRING_BIG)) + if ((flags & (YAP_STRING_INT|YAP_STRING_FLOAT|YAP_STRING_BIG)) == + (YAP_STRING_INT|YAP_STRING_FLOAT|YAP_STRING_BIG)) return TYPE_ERROR_NUMBER; - if (flags & YAP_STRING_ATOM) + if (flags & YAP_STRING_ATOM ) return TYPE_ERROR_ATOM; if (flags & YAP_STRING_STRING) return TYPE_ERROR_STRING;