Index: /trunk/src/VBox/Runtime/common/string/strformat.cpp
===================================================================
--- /trunk/src/VBox/Runtime/common/string/strformat.cpp	(revision 29782)
+++ /trunk/src/VBox/Runtime/common/string/strformat.cpp	(revision 29783)
@@ -273,5 +273,5 @@
      */
     while (--cchPrecision >= cchValue)
-        *psz++ = ' ';
+        *psz++ = '0';
 
     /*
@@ -352,5 +352,5 @@
  * @param   InArgs      Argument list.
  */
-RTDECL(size_t) RTStrFormatV(PFNRTSTROUTPUT pfnOutput, void *pvArgOutput, PFNSTRFORMAT pfnFormat, void *pvArgFormat, 
+RTDECL(size_t) RTStrFormatV(PFNRTSTROUTPUT pfnOutput, void *pvArgOutput, PFNSTRFORMAT pfnFormat, void *pvArgFormat,
                             const char *pszFormat, va_list InArgs)
 {
Index: /trunk/src/VBox/Runtime/testcase/tstRTStrFormat.cpp
===================================================================
--- /trunk/src/VBox/Runtime/testcase/tstRTStrFormat.cpp	(revision 29782)
+++ /trunk/src/VBox/Runtime/testcase/tstRTStrFormat.cpp	(revision 29783)
@@ -434,4 +434,5 @@
     CHECK42("%4RU32",  (uint32_t)42, "  42");
     CHECK42("%04RU32", (uint32_t)42, "0042");
+    CHECK42("%.4RU32", (uint32_t)42, "0042");
 
     CHECK42("%RU64", (uint64_t)112345987345ULL, "112345987345");
@@ -439,4 +440,5 @@
     CHECK42("%14RU64",  (uint64_t)4, "             4");
     CHECK42("%014RU64", (uint64_t)4, "00000000000004");
+    CHECK42("%.14RU64", (uint64_t)4, "00000000000004");
 
     CHECK42("%RU8", (uint8_t)1, "1");
@@ -454,6 +456,6 @@
     CHECK42("%5RX64",   UINT64_C(0x42), "   42");
     CHECK42("%05RX64",  UINT64_C(0x42), "00042");
-    CHECK42("%.5RX64",  UINT64_C(0x42), "   42");
-    CHECK42("%.05RX64", UINT64_C(0x42), "   42");
+    CHECK42("%.5RX64",  UINT64_C(0x42), "00042");
+    CHECK42("%.05RX64", UINT64_C(0x42), "00042"); /* '0' is ignored */
 
     CHECK42("%RX8", (uint8_t)1, "1");
