aboutsummaryrefslogtreecommitdiff
path: root/src/lj_strfmt.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_strfmt.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_strfmt.c b/src/lj_strfmt.c
index 5c808290..71ee9f62 100644
--- a/src/lj_strfmt.c
+++ b/src/lj_strfmt.c
@@ -102,7 +102,7 @@ retlit:
102char * LJ_FASTCALL lj_strfmt_wint(char *p, int32_t k) 102char * LJ_FASTCALL lj_strfmt_wint(char *p, int32_t k)
103{ 103{
104 uint32_t u = (uint32_t)k; 104 uint32_t u = (uint32_t)k;
105 if (k < 0) { u = (uint32_t)-k; *p++ = '-'; } 105 if (k < 0) { u = ~u+1u; *p++ = '-'; }
106 if (u < 10000) { 106 if (u < 10000) {
107 if (u < 10) goto dig1; 107 if (u < 10) goto dig1;
108 if (u < 100) goto dig2; 108 if (u < 100) goto dig2;
@@ -287,7 +287,7 @@ SBuf *lj_strfmt_putfxint(SBuf *sb, SFormat sf, uint64_t k)
287 /* Figure out signed prefixes. */ 287 /* Figure out signed prefixes. */
288 if (STRFMT_TYPE(sf) == STRFMT_INT) { 288 if (STRFMT_TYPE(sf) == STRFMT_INT) {
289 if ((int64_t)k < 0) { 289 if ((int64_t)k < 0) {
290 k = (uint64_t)-(int64_t)k; 290 k = ~k+1u;
291 prefix = 256 + '-'; 291 prefix = 256 + '-';
292 } else if ((sf & STRFMT_F_PLUS)) { 292 } else if ((sf & STRFMT_F_PLUS)) {
293 prefix = 256 + '+'; 293 prefix = 256 + '+';