|
@@ -500,6 +500,36 @@ Returns:
|
|
|
return len;
|
|
|
}
|
|
|
|
|
|
+CHAR16 *
|
|
|
+VPoolPrint (
|
|
|
+ IN CHAR16 *fmt,
|
|
|
+ va_list args
|
|
|
+ )
|
|
|
+/*++
|
|
|
+
|
|
|
+Routine Description:
|
|
|
+
|
|
|
+ Prints a formatted unicode string to allocated pool using va_list argument.
|
|
|
+ The caller must free the resulting buffer.
|
|
|
+
|
|
|
+Arguments:
|
|
|
+
|
|
|
+ fmt - The format string
|
|
|
+ args - The arguments in va_list form
|
|
|
+
|
|
|
+Returns:
|
|
|
+
|
|
|
+ Allocated buffer with the formatted string printed in it.
|
|
|
+ The caller must free the allocated buffer. The buffer
|
|
|
+ allocation is not packed.
|
|
|
+
|
|
|
+--*/
|
|
|
+{
|
|
|
+ POOL_PRINT spc;
|
|
|
+ ZeroMem (&spc, sizeof(spc));
|
|
|
+ _PoolCatPrint (fmt, args, &spc, _PoolPrint);
|
|
|
+ return spc.str;
|
|
|
+}
|
|
|
|
|
|
CHAR16 *
|
|
|
PoolPrint (
|
|
@@ -525,18 +555,14 @@ Returns:
|
|
|
|
|
|
--*/
|
|
|
{
|
|
|
- POOL_PRINT spc;
|
|
|
- va_list args;
|
|
|
-
|
|
|
- ZeroMem (&spc, sizeof(spc));
|
|
|
+ va_list args;
|
|
|
+ CHAR16 *pool;
|
|
|
va_start (args, fmt);
|
|
|
- _PoolCatPrint (fmt, args, &spc, _PoolPrint);
|
|
|
+ pool = VPoolPrint(fmt, args);
|
|
|
va_end (args);
|
|
|
- return spc.str;
|
|
|
+ return pool;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
CHAR16 *
|
|
|
CatPrint (
|
|
|
IN OUT POOL_PRINT *Str,
|