diff options
author | Wim <wim@42.be> | 2022-08-13 16:14:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-13 16:14:26 +0200 |
commit | 6a3fc713978a0c1c9290a4afd08b47886b49b635 (patch) | |
tree | aa62cd85cf5671646c75ee38b3fc140ef7edcea8 /vendor/modernc.org/libc/printf.go | |
parent | 3c4192ebf6a32e30cdd23a9644c2ceca72a006fa (diff) | |
download | matterbridge-msglm-6a3fc713978a0c1c9290a4afd08b47886b49b635.tar.gz matterbridge-msglm-6a3fc713978a0c1c9290a4afd08b47886b49b635.tar.bz2 matterbridge-msglm-6a3fc713978a0c1c9290a4afd08b47886b49b635.zip |
Update dependencies and go1.18 (#1873)
* Update dependencies and go1.18
* Exclude unnecessary linters and update build to go1.18
Diffstat (limited to 'vendor/modernc.org/libc/printf.go')
-rw-r--r-- | vendor/modernc.org/libc/printf.go | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/vendor/modernc.org/libc/printf.go b/vendor/modernc.org/libc/printf.go index ce580daf..b8200add 100644 --- a/vendor/modernc.org/libc/printf.go +++ b/vendor/modernc.org/libc/printf.go @@ -18,6 +18,7 @@ const ( modH modL modLL + modLD modQ modCapitalL modJ @@ -167,7 +168,9 @@ more: format++ var arg uint64 switch mod { - case modNone, modL, modLL, mod64: + case modNone: + arg = uint64(VaUint32(args)) + case modL, modLL, mod64: arg = VaUint64(args) case modH: arg = uint64(uint16(VaInt32(args))) @@ -198,7 +201,9 @@ more: format++ var arg uint64 switch mod { - case modNone, modL, modLL, mod64: + case modNone: + arg = uint64(VaUint32(args)) + case modL, modLL, mod64: arg = VaUint64(args) case modH: arg = uint64(uint16(VaInt32(args))) @@ -280,7 +285,9 @@ more: format++ var arg uint64 switch mod { - case modNone, modL, modLL, mod64: + case modNone: + arg = uint64(VaUint32(args)) + case modL, modLL, mod64: arg = VaUint64(args) case modH: arg = uint64(uint16(VaInt32(args))) @@ -335,7 +342,7 @@ more: prec = 6 } f := fmt.Sprintf("%s.%d%c", spec, prec, c) - str = fmt.Sprintf(f, arg) + str = fixNanInf(fmt.Sprintf(f, arg)) case 'G': fallthrough case 'g': @@ -356,7 +363,7 @@ more: } f := fmt.Sprintf("%s.%d%c", spec, prec, c) - str = fmt.Sprintf(f, arg) + str = fixNanInf(fmt.Sprintf(f, arg)) case 's': // If no l modifier is present: the const char * argument is expected to be a // pointer to an array of character type (pointer to a string). Characters @@ -577,7 +584,9 @@ func parseLengthModifier(format uintptr) (_ uintptr, n int) { case 'q': panic(todo("")) case 'L': - panic(todo("")) + format++ + n = modLD + return format, n case 'j': panic(todo("")) case 'z': @@ -590,3 +599,14 @@ func parseLengthModifier(format uintptr) (_ uintptr, n int) { return format, 0 } } + +func fixNanInf(s string) string { + switch s { + case "NaN": + return "nan" + case "+Inf", "-Inf": + return "inf" + default: + return s + } +} |