--- old\lobject.c Fri Feb 10 09:43:52 2006 +++ new\lobject.c Fri Dec 14 16:11:48 2007 @@ -91,8 +91,22 @@ char *endptr; *result = lua_str2number(s, &endptr); if (endptr == s) return 0; /* conversion failed */ - if (*endptr == 'x' || *endptr == 'X') /* maybe an hexadecimal constant? */ - *result = cast_num(strtoul(s, &endptr, 16)); + switch (*endptr) { + case 'x': + case 'X': /* maybe an hexadecimal constant? */ + *result = cast_num(strtoul(s, &endptr, 16)); + break; + case 'k': + case 'K': /* kilobyte */ + *result *= 1024; + ++endptr; + break; + case 'm': + case 'M': /* megabyte */ + *result *= (1024 * 1024); + ++endptr; + break; + } if (*endptr == '0円') return 1; /* most common case */ while (isspace(cast(unsigned char, *endptr))) endptr++; if (*endptr != '0円') return 0; /* invalid trailing characters? */
AltStyle
によって変換されたページ
(->オリジナル)
/
アドレス:
モード:
デフォルト
音声ブラウザ
ルビ付き
配色反転
文字拡大
モバイル