diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_strfmt.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lj_strfmt.c b/src/lj_strfmt.c index 7c7d81d3..04c71e88 100644 --- a/src/lj_strfmt.c +++ b/src/lj_strfmt.c | |||
@@ -98,11 +98,15 @@ char * LJ_FASTCALL lj_strfmt_wint(char *p, int32_t k) | |||
98 | uint32_t u = (uint32_t)k; | 98 | uint32_t u = (uint32_t)k; |
99 | if (k < 0) { u = (uint32_t)-k; *p++ = '-'; } | 99 | if (k < 0) { u = (uint32_t)-k; *p++ = '-'; } |
100 | if (u < 10000) { | 100 | if (u < 10000) { |
101 | if (u < 10) goto dig1; if (u < 100) goto dig2; if (u < 1000) goto dig3; | 101 | if (u < 10) goto dig1; |
102 | if (u < 100) goto dig2; | ||
103 | if (u < 1000) goto dig3; | ||
102 | } else { | 104 | } else { |
103 | uint32_t v = u / 10000; u -= v * 10000; | 105 | uint32_t v = u / 10000; u -= v * 10000; |
104 | if (v < 10000) { | 106 | if (v < 10000) { |
105 | if (v < 10) goto dig5; if (v < 100) goto dig6; if (v < 1000) goto dig7; | 107 | if (v < 10) goto dig5; |
108 | if (v < 100) goto dig6; | ||
109 | if (v < 1000) goto dig7; | ||
106 | } else { | 110 | } else { |
107 | uint32_t w = v / 10000; v -= w * 10000; | 111 | uint32_t w = v / 10000; v -= w * 10000; |
108 | if (w >= 10) WINT_R(w, 10, 10) | 112 | if (w >= 10) WINT_R(w, 10, 10) |