diff options
Diffstat (limited to '')
-rw-r--r-- | lobject.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -31,7 +31,8 @@ | |||
31 | 31 | ||
32 | 32 | ||
33 | /* | 33 | /* |
34 | ** Computes ceil(log2(x)) | 34 | ** Computes ceil(log2(x)), which is the smallest integer n such that |
35 | ** x <= (1 << n). | ||
35 | */ | 36 | */ |
36 | lu_byte luaO_ceillog2 (unsigned int x) { | 37 | lu_byte luaO_ceillog2 (unsigned int x) { |
37 | static const lu_byte log_2[256] = { /* log_2[i - 1] = ceil(log2(i)) */ | 38 | static const lu_byte log_2[256] = { /* log_2[i - 1] = ceil(log2(i)) */ |
@@ -382,10 +383,10 @@ size_t luaO_str2num (const char *s, TValue *o) { | |||
382 | } | 383 | } |
383 | 384 | ||
384 | 385 | ||
385 | int luaO_utf8esc (char *buff, unsigned long x) { | 386 | int luaO_utf8esc (char *buff, l_uint32 x) { |
386 | int n = 1; /* number of bytes put in buffer (backwards) */ | 387 | int n = 1; /* number of bytes put in buffer (backwards) */ |
387 | lua_assert(x <= 0x7FFFFFFFu); | 388 | lua_assert(x <= 0x7FFFFFFFu); |
388 | if (x < 0x80) /* ascii? */ | 389 | if (x < 0x80) /* ASCII? */ |
389 | buff[UTF8BUFFSZ - 1] = cast_char(x); | 390 | buff[UTF8BUFFSZ - 1] = cast_char(x); |
390 | else { /* need continuation bytes */ | 391 | else { /* need continuation bytes */ |
391 | unsigned int mfb = 0x3f; /* maximum that fits in first byte */ | 392 | unsigned int mfb = 0x3f; /* maximum that fits in first byte */ |
@@ -618,7 +619,7 @@ const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp) { | |||
618 | } | 619 | } |
619 | case 'I': { /* a 'lua_Integer' */ | 620 | case 'I': { /* a 'lua_Integer' */ |
620 | TValue num; | 621 | TValue num; |
621 | setivalue(&num, cast(lua_Integer, va_arg(argp, l_uacInt))); | 622 | setivalue(&num, cast_Integer(va_arg(argp, l_uacInt))); |
622 | addnum2buff(&buff, &num); | 623 | addnum2buff(&buff, &num); |
623 | break; | 624 | break; |
624 | } | 625 | } |
@@ -637,7 +638,8 @@ const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp) { | |||
637 | } | 638 | } |
638 | case 'U': { /* an 'unsigned long' as a UTF-8 sequence */ | 639 | case 'U': { /* an 'unsigned long' as a UTF-8 sequence */ |
639 | char bf[UTF8BUFFSZ]; | 640 | char bf[UTF8BUFFSZ]; |
640 | int len = luaO_utf8esc(bf, va_arg(argp, unsigned long)); | 641 | unsigned long arg = va_arg(argp, unsigned long); |
642 | int len = luaO_utf8esc(bf, cast(l_uint32, arg)); | ||
641 | addstr2buff(&buff, bf + UTF8BUFFSZ - len, cast_uint(len)); | 643 | addstr2buff(&buff, bf + UTF8BUFFSZ - len, cast_uint(len)); |
642 | break; | 644 | break; |
643 | } | 645 | } |