changeset 5066:a2cb70e482fc

Fix for format strings like "%2.f".
author Bruno Haible <bruno@clisp.org>
date Mon, 17 May 2004 11:27:08 +0000
parents 4ce8ff7e5f06
children 1407b63897fd
files lib/ChangeLog lib/vasnprintf.c
diffstat 2 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,9 @@
+2004-05-14  Bruno Haible  <bruno@clisp.org>
+
+	* vasnprintf.c (VASNPRINTF): Correctly handle the case of a precision
+	that consists of a '.' followed by an empty digit string.
+	Patch by Tor Lillqvist <tml@iki.fi>.
+
 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Port obstack to the AS/400, where pointers are 16 bytes wide and
--- a/lib/vasnprintf.c
+++ b/lib/vasnprintf.c
@@ -1,5 +1,5 @@
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2004 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -315,9 +315,8 @@
 			  const CHAR_T *digitp = dp->precision_start + 1;
 
 			  precision = 0;
-			  do
+			  while (digitp != dp->precision_end)
 			    precision = xsum (xtimes (precision, 10), *digitp++ - '0');
-			  while (digitp != dp->precision_end);
 			}
 		    }