diff -r 8cc4c51c4bfc -r dab341e80664 absyntax_utils/absyntax_utils.cc --- a/absyntax_utils/absyntax_utils.cc Wed May 09 22:59:10 2012 +0100 +++ b/absyntax_utils/absyntax_utils.cc Wed May 09 23:00:10 2012 +0100 @@ -98,20 +98,21 @@ /* extract the value of an integer from an integer_c object !! */ /* NOTE: it must ignore underscores! */ -int extract_integer(symbol_c *sym) { +long long extract_integer_value(symbol_c *sym) { std::string str = ""; integer_c *integer; neg_integer_c * neg_integer; if ((neg_integer = dynamic_cast(sym)) != NULL) - return - extract_integer((integer_c *)neg_integer->exp); + return - extract_integer_value(neg_integer->exp); if ((integer = dynamic_cast(sym)) == NULL) ERROR; for(unsigned int i = 0; i < strlen(integer->value); i++) if (integer->value[i] != '_') str += integer->value[i]; - return atoi(str.c_str()); + /* return atoi(str.c_str()); */ + return atoll(str.c_str()); }