//\r
// Get the first character from the format string\r
//\r
- FormatCharacter = (*Format | (*(Format + 1) << 8)) & FormatMask;\r
+ FormatCharacter = ((*Format & 0xff) | (*(Format + 1) << 8)) & FormatMask;\r
\r
//\r
// Loop until the end of the format string is reached or the output buffer is full\r
//\r
for (Done = FALSE; !Done; ) {\r
Format += BytesPerFormatCharacter;\r
- FormatCharacter = (*Format | (*(Format + 1) << 8)) & FormatMask;\r
+ FormatCharacter = ((*Format & 0xff) | (*(Format + 1) << 8)) & FormatMask;\r
switch (FormatCharacter) {\r
case '.': \r
Flags |= PRECISION; \r
for (Count = 0; ((FormatCharacter >= '0') && (FormatCharacter <= '9')); ){\r
Count = (Count * 10) + FormatCharacter - '0';\r
Format += BytesPerFormatCharacter;\r
- FormatCharacter = (*Format | (*(Format + 1) << 8)) & FormatMask;\r
+ FormatCharacter = ((*Format & 0xff) | (*(Format + 1) << 8)) & FormatMask;\r
}\r
Format -= BytesPerFormatCharacter;\r
if ((Flags & PRECISION) == 0) {\r
Flags &= (~ARGUMENT_UNICODE);\r
ArgumentString = "<null string>";\r
}\r
+ //\r
+ // Set the default precision for string to be zero if not specified.\r
+ //\r
+ if ((Flags & PRECISION) == 0) {\r
+ Precision = 0;\r
+ }\r
break;\r
\r
case 'c':\r
//\r
// Get the next character from the format string\r
//\r
- FormatCharacter = (*Format | (*(Format + 1) << 8)) & FormatMask;\r
+ FormatCharacter = ((*Format & 0xff) | (*(Format + 1) << 8)) & FormatMask;\r
}\r
\r
//\r