[PATCH v4 next 18/23] tools/nolibc/printf: Add support for conversion flags space and plus
From: david . laight . linux
Date: Mon Mar 02 2026 - 05:25:55 EST
From: David Laight <david.laight.linux@xxxxxxxxx>
Flags ' ' and '+' are sign characters for positive numbers.
Signed-off-by: David Laight <david.laight.linux@xxxxxxxxx>
---
v4: Split from the previous patch and support for the # flag.
tools/include/nolibc/stdio.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tools/include/nolibc/stdio.h b/tools/include/nolibc/stdio.h
index fb310b7d023f..5d75e8530ce2 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.
@@ -456,6 +456,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 = ' ';
}
}
--
2.39.5