equal
deleted
inserted
replaced
124 integer_c *integer; |
124 integer_c *integer; |
125 neg_integer_c * neg_integer; |
125 neg_integer_c * neg_integer; |
126 char *endptr; |
126 char *endptr; |
127 int64_t ret; |
127 int64_t ret; |
128 |
128 |
129 if ((neg_integer = dynamic_cast<neg_integer_c *>(sym)) != NULL) |
|
130 return - extract_int64_value(neg_integer->exp, overflow); |
|
131 |
|
132 if ((integer = dynamic_cast<integer_c *>(sym)) == NULL) ERROR; |
129 if ((integer = dynamic_cast<integer_c *>(sym)) == NULL) ERROR; |
133 |
|
134 for(unsigned int i = 0; i < strlen(integer->value); i++) |
130 for(unsigned int i = 0; i < strlen(integer->value); i++) |
135 if (integer->value[i] != '_') str += integer->value[i]; |
131 if (integer->value[i] != '_') str += integer->value[i]; |
136 |
132 |
137 errno = 0; // since strtoXX() may legally return 0, we must set errno to 0 to detect errors correctly! |
133 errno = 0; // since strtoXX() may legally return 0, we must set errno to 0 to detect errors correctly! |
138 ret = matiec_strtoint64((int64_t *)NULL, str.c_str(), &endptr, 10); |
134 ret = matiec_strtoint64((int64_t *)NULL, str.c_str(), &endptr, 10); |
150 neg_integer_c * neg_integer; |
146 neg_integer_c * neg_integer; |
151 char *endptr; |
147 char *endptr; |
152 uint64_t ret; |
148 uint64_t ret; |
153 |
149 |
154 if ((integer = dynamic_cast<integer_c *>(sym)) == NULL) ERROR; |
150 if ((integer = dynamic_cast<integer_c *>(sym)) == NULL) ERROR; |
155 |
|
156 for(unsigned int i = 0; i < strlen(integer->value); i++) |
151 for(unsigned int i = 0; i < strlen(integer->value); i++) |
157 if (integer->value[i] != '_') str += integer->value[i]; |
152 if (integer->value[i] != '_') str += integer->value[i]; |
158 |
153 |
159 errno = 0; // since strtoXX() may legally return 0, we must set errno to 0 to detect errors correctly! |
154 errno = 0; // since strtoXX() may legally return 0, we must set errno to 0 to detect errors correctly! |
160 ret = matiec_strtouint64((uint64_t *)NULL, str.c_str(), &endptr, 10); |
155 ret = matiec_strtouint64((uint64_t *)NULL, str.c_str(), &endptr, 10); |