mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
[fmt] fix zero-padding behaviour of numbers
- when formatting a negative number with left zero-padding we expect the padding to be placed between the minus (-) sign and the number - currently the padding is placed before the sign
This commit is contained in:
@@ -1142,6 +1142,11 @@ _pad :: proc(fi: ^Info, s: string) {
|
|||||||
if fi.minus { // right pad
|
if fi.minus { // right pad
|
||||||
io.write_string(fi.writer, s, &fi.n)
|
io.write_string(fi.writer, s, &fi.n)
|
||||||
fmt_write_padding(fi, width)
|
fmt_write_padding(fi, width)
|
||||||
|
} else if !fi.space && s != "" && s[0] == '-' {
|
||||||
|
// left pad accounting for zero pad of negative number
|
||||||
|
io.write_byte(fi.writer, '-', &fi.n)
|
||||||
|
fmt_write_padding(fi, width)
|
||||||
|
io.write_string(fi.writer, s[1:], &fi.n)
|
||||||
} else { // left pad
|
} else { // left pad
|
||||||
fmt_write_padding(fi, width)
|
fmt_write_padding(fi, width)
|
||||||
io.write_string(fi.writer, s, &fi.n)
|
io.write_string(fi.writer, s, &fi.n)
|
||||||
|
|||||||
Reference in New Issue
Block a user