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 */

Reply via email to