Module Name: src Committed By: martin Date: Thu Sep 28 10:03:41 UTC 2023
Modified Files: src/lib/libc/stdlib: strfmon.c Log Message: Fix padding for formats with mutliple padded values. PR lib/57633, fix from FreeBSD. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/lib/libc/stdlib/strfmon.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/stdlib/strfmon.c diff -u src/lib/libc/stdlib/strfmon.c:1.18 src/lib/libc/stdlib/strfmon.c:1.19 --- src/lib/libc/stdlib/strfmon.c:1.18 Thu Aug 18 11:05:02 2022 +++ src/lib/libc/stdlib/strfmon.c Thu Sep 28 10:03:41 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: strfmon.c,v 1.18 2022/08/18 11:05:02 christos Exp $ */ +/* $NetBSD: strfmon.c,v 1.19 2023/09/28 10:03:41 martin Exp $ */ /*- * Copyright (c) 2001 Alexey Zelkin <phan...@freebsd.org> @@ -32,7 +32,7 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdlib/strfmon.c,v 1.14 2003/03/20 08:18:55 ache Exp $"); #else -__RCSID("$NetBSD: strfmon.c,v 1.18 2022/08/18 11:05:02 christos Exp $"); +__RCSID("$NetBSD: strfmon.c,v 1.19 2023/09/28 10:03:41 martin Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -141,7 +141,6 @@ vstrfmon_l(char * __restrict s, size_t m fmt = format; asciivalue = NULL; currency_symbol = NULL; - pad_size = 0; while (*fmt) { /* pass nonformating characters AS IS */ @@ -161,6 +160,7 @@ vstrfmon_l(char * __restrict s, size_t m /* set up initial values */ flags = (NEED_GROUPING|LOCALE_POSN); pad_char = ' '; /* padding character is "space" */ + pad_size = 0; /* no padding initially */ left_prec = -1; /* no left precision specified */ right_prec = -1; /* no right precision specified */ width = -1; /* no width specified */