Commit 3be6ac0d authored by Iván Matellanes's avatar Iván Matellanes Committed by Alexandre Julliard

msvcirt: Set the error flag in writepad without locking.

writepad() is always called between opfx() and osfx(), so the ios object is already locked. Signed-off-by: 's avatarIván Matellanes <matellanes.ivan@gmail.com> Signed-off-by: 's avatarPiotr Caban <piotr@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 0afcd1ae
......@@ -2572,22 +2572,22 @@ ostream* __thiscall ostream_writepad(ostream *this, const char *str1, const char
/* left of the padding */
if (base->flags & (FLAGS_left|FLAGS_internal)) {
if (streambuf_sputn(base->sb, str1, len1) != len1)
ios_clear(base, base->state | IOSTATE_failbit | IOSTATE_badbit);
base->state |= IOSTATE_failbit | IOSTATE_badbit;
if (!(base->flags & FLAGS_internal))
if (streambuf_sputn(base->sb, str2, len2) != len2)
ios_clear(base, base->state | IOSTATE_failbit | IOSTATE_badbit);
base->state |= IOSTATE_failbit | IOSTATE_badbit;
}
/* add padding to fill the width */
for (i = len1 + len2; i < base->width; i++)
if (streambuf_sputc(base->sb, base->fill) == EOF)
ios_clear(base, base->state | IOSTATE_failbit | IOSTATE_badbit);
base->state |= IOSTATE_failbit | IOSTATE_badbit;
/* right of the padding */
if ((base->flags & (FLAGS_left|FLAGS_internal)) != FLAGS_left) {
if (!(base->flags & (FLAGS_left|FLAGS_internal)))
if (streambuf_sputn(base->sb, str1, len1) != len1)
ios_clear(base, base->state | IOSTATE_failbit | IOSTATE_badbit);
base->state |= IOSTATE_failbit | IOSTATE_badbit;
if (streambuf_sputn(base->sb, str2, len2) != len2)
ios_clear(base, base->state | IOSTATE_failbit | IOSTATE_badbit);
base->state |= IOSTATE_failbit | IOSTATE_badbit;
}
return this;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment