Re: git: 07d90ee0a621 - main - kvprintf(): Fix '+' conversion handling

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Fri, 06 Sep 2024 20:53:41 UTC
On Fri, Sep 06, 2024 at 06:35:09PM +0000, Warner Losh wrote:
> The branch main has been updated by imp:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=07d90ee0a62110e5161bb0b8a3a0b1b9d2beabad
> 
> commit 07d90ee0a62110e5161bb0b8a3a0b1b9d2beabad
> Author:     Sebastian Huber <sebastian.huber@embedded-brains.de>
> AuthorDate: 2024-06-14 07:30:28 +0000
> Commit:     Warner Losh <imp@FreeBSD.org>
> CommitDate: 2024-09-06 18:34:30 +0000
> 
>     kvprintf(): Fix '+' conversion handling
>     
>     For example, printf("%+i", 1) prints "+1".  However, kvprintf() did
>     print just "1" for this example.  According to PRINTF(3):
>     
>       A sign must always be placed before a number produced by a signed
>       conversion.
>     
>     For "%+r" radix conversions, keep the "+" handling as it is, since this
>     is a non-standard conversion.  For "%+p" pointer conversions, continue
>     to ignore the sign modifier to be in line with libc.
>     
>     This change allows to support the ' conversion modifier in the future.
>     
>     Reviewed by: imp
>     Pull Request: https://github.com/freebsd/freebsd-src/pull/1310
> ---
>  sys/kern/subr_prf.c | 27 +++++++++++++--------------
>  1 file changed, 13 insertions(+), 14 deletions(-)
Again, isn't rtld_printf needs the same change?