8a6a553e6c4eb23f40ffbffa4f1a1736ab7a20cf kent Mon Oct 12 12:33:04 2015 -0700 Adding error message for evaluation non-integer strings as integers. diff --git src/lib/rqlEval.c src/lib/rqlEval.c index 7c6d8e6..7d7e2ef 100644 --- src/lib/rqlEval.c +++ src/lib/rqlEval.c @@ -262,30 +262,32 @@ res.type = rqlTypeBoolean; res.val.b = (res.val.s[0] != 0); break; case rqlOpIntToBoolean: res = rqlLocalEval(p->children, record, lookup, lm); res.type = rqlTypeBoolean; res.val.b = (res.val.i != 0); break; case rqlOpDoubleToBoolean: res = rqlLocalEval(p->children, record, lookup, lm); res.type = rqlTypeBoolean; res.val.b = (res.val.x != 0.0); break; case rqlOpStringToInt: res = rqlLocalEval(p->children, record, lookup, lm); + if (isEmpty(res.val.s)) + errAbort("Expecting an integer value but got undefined symbol."); res.type = rqlTypeInt; res.val.i = atoll(res.val.s); break; case rqlOpDoubleToInt: res = rqlLocalEval(p->children, record, lookup, lm); res.type = rqlTypeInt; res.val.i = res.val.x; break; case rqlOpStringToDouble: res = rqlLocalEval(p->children, record, lookup, lm); res.type = rqlTypeDouble; res.val.x = atof(res.val.s); break; case rqlOpBooleanToInt: