From: David Laight Date: Sun, 8 Mar 2026 11:37:37 +0000 (+0000) Subject: tools/nolibc/printf: Add support for conversion flags space and plus X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a30d20588fb8507540d267505a8876bc37bb3ec7;p=thirdparty%2Fkernel%2Flinux.git tools/nolibc/printf: Add support for conversion flags space and plus Flags ' ' and '+' are sign characters for positive numbers. Signed-off-by: David Laight Acked-by: Willy Tarreau Link: https://patch.msgid.link/20260308113742.12649-13-david.laight.linux@gmail.com Signed-off-by: Thomas Weißschuh --- diff --git a/tools/include/nolibc/stdio.h b/tools/include/nolibc/stdio.h index 3620aa643c814..65e113f135d45 100644 --- a/tools/include/nolibc/stdio.h +++ b/tools/include/nolibc/stdio.h @@ -296,7 +296,7 @@ int fseek(FILE *stream, long offset, int whence) * - %% generates a single % * - %m outputs strerror(errno). * - %X outputs a..f the same as %x. - * - The modifiers [#-+ 0] are currently ignored. + * - The modifiers [#-0] are currently ignored. * - No support for precision or variable widths. * - No support for floating point or wide characters. * - Invalid formats are copied to the output buffer. @@ -457,6 +457,10 @@ int __nolibc_printf(__nolibc_printf_cb cb, void *state, const char *fmt, va_list sign_prefix = '-'; v = -(signed_v + 1); v++; + } else if (_NOLIBC_PF_FLAGS_CONTAIN(flags, '+')) { + sign_prefix = '+'; + } else if (_NOLIBC_PF_FLAGS_CONTAIN(flags, ' ')) { + sign_prefix = ' '; } }