mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 19:22:58 +00:00
[CRT]
Fix bugs in new printf implementation: use buffer size in _snprintf and check for the right failure return value of streamout_char. svn path=/trunk/; revision=50251
This commit is contained in:
parent
90ac7fad2f
commit
d50bc6057e
2 changed files with 14 additions and 14 deletions
|
@ -23,7 +23,7 @@ _snprintf(char *buffer, size_t count, const char *format, ...)
|
|||
stream._base = buffer;
|
||||
stream._ptr = stream._base;
|
||||
stream._charbuf = 0;
|
||||
stream._bufsiz = (unsigned long)-1;
|
||||
stream._bufsiz = count;
|
||||
stream._cnt = stream._bufsiz;
|
||||
stream._flag = 0;
|
||||
stream._tmpfname = 0;
|
||||
|
|
|
@ -301,7 +301,7 @@ streamout(FILE *stream, const TCHAR *format, va_list argptr)
|
|||
(chr = *format++) == _T('%'))
|
||||
{
|
||||
/* Write the character to the stream */
|
||||
if ((written = streamout_char(stream, chr)) == -1) return -1;
|
||||
if ((written = streamout_char(stream, chr)) == 0) return -1;
|
||||
written_all += written;
|
||||
continue;
|
||||
}
|
||||
|
@ -578,7 +578,7 @@ streamout(FILE *stream, const TCHAR *format, va_list argptr)
|
|||
{
|
||||
for (; padding > 0; padding--)
|
||||
{
|
||||
if ((written = streamout_char(stream, _T(' '))) == -1) return -2;
|
||||
if ((written = streamout_char(stream, _T(' '))) == 0) return -1;
|
||||
written_all += written;
|
||||
}
|
||||
}
|
||||
|
@ -595,7 +595,7 @@ streamout(FILE *stream, const TCHAR *format, va_list argptr)
|
|||
if ((flags & FLAG_ALIGN_LEFT) == 0) precision += padding;
|
||||
while (precision-- > 0)
|
||||
{
|
||||
if ((written = streamout_char(stream, _T('0'))) == -1) return -4;
|
||||
if ((written = streamout_char(stream, _T('0'))) == 0) return -1;
|
||||
written_all += written;
|
||||
}
|
||||
|
||||
|
@ -611,7 +611,7 @@ streamout(FILE *stream, const TCHAR *format, va_list argptr)
|
|||
/* Optional right '0' padding */
|
||||
while (precision-- > 0)
|
||||
{
|
||||
if ((written = streamout_char(stream, _T('0'))) == -1) return -6;
|
||||
if ((written = streamout_char(stream, _T('0'))) == 0) return -1;
|
||||
written_all += written;
|
||||
len++;
|
||||
}
|
||||
|
@ -622,7 +622,7 @@ streamout(FILE *stream, const TCHAR *format, va_list argptr)
|
|||
{
|
||||
while (padding-- > 0)
|
||||
{
|
||||
if ((written = streamout_char(stream, _T(' '))) == -1) return -7;
|
||||
if ((written = streamout_char(stream, _T(' '))) == 0) return -1;
|
||||
written_all += written;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue