diff options
-rw-r--r-- | lobject.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lobject.c,v 2.20 2005/12/22 16:19:56 roberto Exp roberto $ | 2 | ** $Id: lobject.c,v 2.21 2006/01/10 12:50:00 roberto Exp roberto $ |
3 | ** Some generic functions over Lua objects | 3 | ** Some generic functions over Lua objects |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -91,6 +91,8 @@ int luaO_str2d (const char *s, lua_Number *result) { | |||
91 | char *endptr; | 91 | char *endptr; |
92 | *result = lua_str2number(s, &endptr); | 92 | *result = lua_str2number(s, &endptr); |
93 | if (endptr == s) return 0; /* conversion failed */ | 93 | if (endptr == s) return 0; /* conversion failed */ |
94 | if (*endptr == 'x' || *endptr == 'X') /* maybe an hexadecimal constant? */ | ||
95 | *result = cast_num(strtoul(s, &endptr, 16)); | ||
94 | if (*endptr == '\0') return 1; /* most common case */ | 96 | if (*endptr == '\0') return 1; /* most common case */ |
95 | while (isspace(cast(unsigned char, *endptr))) endptr++; | 97 | while (isspace(cast(unsigned char, *endptr))) endptr++; |
96 | if (*endptr != '\0') return 0; /* invalid trailing characters? */ | 98 | if (*endptr != '\0') return 0; /* invalid trailing characters? */ |