Author: faridz
Date: Wed Apr 30 08:24:10 2008
New Revision: 652396
URL: http://svn.apache.org/viewvc?rev=652396&view=rev
Log:
2008-04-30 Farid Zaripov <[EMAIL PROTECTED]>
* tests/src/printf.cpp (__rw_fmtfloating): Process width and precision
specifiers before the size specifiers.
[_MSC_VER]: Decrement len after removing redundant zero.
Modified:
stdcxx/trunk/tests/src/printf.cpp
Modified: stdcxx/trunk/tests/src/printf.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/trunk/tests/src/printf.cpp?rev=652396&r1=652395&r2=652396&view=diff
==============================================================================
--- stdcxx/trunk/tests/src/printf.cpp (original)
+++ stdcxx/trunk/tests/src/printf.cpp Wed Apr 30 08:24:10 2008
@@ -1424,6 +1424,13 @@
if (spec.fl_zero)
*pf++ = '0';
+ if (spec.mod != spec.mod_ext_A && 0 <= spec.width) {
+ pf += sprintf (pf, "%i", spec.width);
+ }
+
+ if (0 <= spec.prec)
+ pf += sprintf (pf, ".%i", spec.prec);
+
if (spec.mod == spec.mod_h)
*pf++ = 'h';
else if (spec.mod == spec.mod_hh) {
@@ -1451,13 +1458,6 @@
pf += strlen (pf);
}
- if (spec.mod != spec.mod_ext_A && 0 <= spec.width) {
- pf += sprintf (pf, "%i", spec.width);
- }
-
- if (0 <= spec.prec)
- pf += sprintf (pf, ".%i", spec.prec);
-
*pf++ = char (spec.cvtspec);
*pf = '\0';
@@ -1499,6 +1499,7 @@
buffer [len - 3] = buffer [len - 2];
buffer [len - 2] = buffer [len - 1];
buffer [len - 1] = buffer [len];
+ --len;
}
}