mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-29 11:41:22 +03:00
hum, restrict the integer usage gcc bug workaround to only gcc compilers
* xpath.c: hum, restrict the integer usage gcc bug workaround to only gcc compilers so that other architecture don't get penalized by this limitation. * include/libxml/xpath.h: small typo fix from Heiko W. Rupp Daniel
This commit is contained in:
16
xpath.c
16
xpath.c
@ -6546,10 +6546,13 @@ xmlXPathStringEvalNumber(const xmlChar *str) {
|
||||
const xmlChar *cur = str;
|
||||
double ret = 0.0;
|
||||
double mult = 1;
|
||||
int ok = 0, tmp = 0;
|
||||
int ok = 0;
|
||||
int isneg = 0;
|
||||
int exponent = 0;
|
||||
int is_exponent_negative = 0;
|
||||
#ifdef __GNUC__
|
||||
unsigned long tmp = 0;
|
||||
#endif
|
||||
|
||||
while (IS_BLANK(*cur)) cur++;
|
||||
if ((*cur != '.') && ((*cur < '0') || (*cur > '9')) && (*cur != '-')) {
|
||||
@ -6559,8 +6562,10 @@ xmlXPathStringEvalNumber(const xmlChar *str) {
|
||||
isneg = 1;
|
||||
cur++;
|
||||
}
|
||||
|
||||
#ifdef __GNUC__
|
||||
/*
|
||||
* tmp is a workaroudn against a gcc compiler bug
|
||||
* tmp is a workaround against a gcc compiler bug
|
||||
*/
|
||||
while ((*cur >= '0') && (*cur <= '9')) {
|
||||
tmp = tmp * 10 + (*cur - '0');
|
||||
@ -6568,6 +6573,13 @@ xmlXPathStringEvalNumber(const xmlChar *str) {
|
||||
cur++;
|
||||
}
|
||||
ret = (double) tmp;
|
||||
#else
|
||||
while ((*cur >= '0') && (*cur <= '9')) {
|
||||
ret = ret * 10 + (*cur - '0');
|
||||
ok = 1;
|
||||
cur++;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (*cur == '.') {
|
||||
cur++;
|
||||
|
Reference in New Issue
Block a user