diff options
| author | Jon Santmyer <jon@jonsantmyer.com> | 2026-10-19 11:06:32 -0400 |
|---|---|---|
| committer | Jon Santmyer <jon@jonsantmyer.com> | 2026-10-19 11:06:32 -0400 |
| commit | 44f9642bfc9ce9f740d508670befb569e06621a2 (patch) | |
| tree | ff64ec6fd0562b4b9e6ba665fceeec52f2371840 /lib/printf.c | |
| parent | b2920331b103d43793ac8be927a80a593ce0be5a (diff) | |
| download | jove-kernel-44f9642bfc9ce9f740d508670befb569e06621a2.tar.gz jove-kernel-44f9642bfc9ce9f740d508670befb569e06621a2.tar.bz2 jove-kernel-44f9642bfc9ce9f740d508670befb569e06621a2.zip | |
Diffstat (limited to 'lib/printf.c')
| -rw-r--r-- | lib/printf.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/printf.c b/lib/printf.c index 7fa681e..302f227 100644 --- a/lib/printf.c +++ b/lib/printf.c @@ -71,7 +71,9 @@ s_convert_string(char *str, size_t size, va_list ap, size_t stri, struct print_f const char *strarg = va_arg(ap, const char*); if((uintptr_t)strarg < 0xFFFF800000000000ULL) return stri; - int arglen = flags.precision == 0 ? strlen(strarg) : flags.precision; + int arglen = strlen(strarg); + if(flags.precision > 0 && flags.precision < arglen) arglen = flags.precision; + int minlen = flags.fieldw; char padc = flags.flg_zeropad ? '0' : ' '; @@ -98,7 +100,6 @@ s_convert_int(char *str, size_t size, va_list ap, size_t stri, case 4: value = (uintmax_t)va_arg(ap, unsigned int); break; case 8: value = (uintmax_t)va_arg(ap, uintmax_t); break; } - size_t pad_stri = stri; int advance = convert_as_int(num_buf, 64, 0, value, flags.radix, flags.unsign); if(flags.flg_alt) { |
