diff options
author | Mike Pall <mike> | 2022-12-22 00:52:04 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2022-12-22 00:52:04 +0100 |
commit | a04480e311f93d3ceb2f92549cad3fffa38250ef (patch) | |
tree | a9e2102ac93d2e358d6fd8735cdb8949409f746d /src/lj_strfmt.c | |
parent | 8625eee71f16a3a780ec92bc303c17456efc7fb3 (diff) | |
parent | 8a5e398c52c7f8ca3e1a0e574cc2ba38224b759b (diff) | |
download | luajit-a04480e311f93d3ceb2f92549cad3fffa38250ef.tar.gz luajit-a04480e311f93d3ceb2f92549cad3fffa38250ef.tar.bz2 luajit-a04480e311f93d3ceb2f92549cad3fffa38250ef.zip |
Merge branch 'master' into v2.1
Diffstat (limited to 'src/lj_strfmt.c')
-rw-r--r-- | src/lj_strfmt.c | 4 |
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: | |||
102 | char * LJ_FASTCALL lj_strfmt_wint(char *p, int32_t k) | 102 | char * 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 + '+'; |