From: Jerome St-Louis Date: Sun, 24 Apr 2016 02:51:06 +0000 (-0400) Subject: ecere/com/instance: Fixed _strto(u)i64() - *endPtr wasn't always set X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?a=commitdiff_plain;ds=sidebyside;h=32ef34b5bc1a9b653d8d5b295e772d9756d90860;p=sdk ecere/com/instance: Fixed _strto(u)i64() - *endPtr wasn't always set - This was causing issues parsing TextAlignment enumeration types from JSON --- diff --git a/ecere/src/com/instance.ec b/ecere/src/com/instance.ec index 3e38499..6e9ad66 100644 --- a/ecere/src/com/instance.ec +++ b/ecere/src/com/instance.ec @@ -3289,25 +3289,20 @@ public int64 _strtoi64(const char * string, const char ** endString, int base) else if(ch >= 'A' && ch <= 'Z') ch -= ('A'- 10); else - { - if(endString) - *endString = string + c; // Invalid character break; - } if(ch < base) { value *= base; value += ch; } else - { - if(endString) - *endString = string + c; // Invalid character break; - } } + if(endString) + *endString = string + c; + return sign*value; } @@ -3344,25 +3339,19 @@ public uint64 _strtoui64(const char * string, const char ** endString, int base) else if(ch >= 'A' && ch <= 'Z') ch -= ('A' - 10); else - { - if(endString) - *endString = string + c; // Invalid character break; - } if(ch < base) { value *= base; value += ch; } else - { - if(endString) - *endString = string + c; // Invalid character break; - } } + if(endString) + *endString = string + c; return sign*value; }