From 56f150b1c47c9781275b01543fd78fdffac273d5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Iv=C3=A1n=20Matellanes?= Date: Mon, 29 Jun 2015 10:01:53 +0200 Subject: [PATCH] msvcirt: Add implementation of streambuf::sputbackc. --- dlls/msvcirt/msvcirt.c | 10 ++++++++++ dlls/msvcirt/msvcirt.spec | 4 ++-- dlls/msvcrt20/msvcrt20.spec | 4 ++-- dlls/msvcrt40/msvcrt40.spec | 4 ++-- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/dlls/msvcirt/msvcirt.c b/dlls/msvcirt/msvcirt.c index 70e92e7a79c..a56fd61284e 100644 --- a/dlls/msvcirt/msvcirt.c +++ b/dlls/msvcirt/msvcirt.c @@ -365,6 +365,7 @@ int __thiscall streambuf_overflow(streambuf *this, int c) /* ?pbackfail@streambuf@@UAEHH@Z */ /* ?pbackfail@streambuf@@UEAAHH@Z */ DEFINE_THISCALL_WRAPPER(streambuf_pbackfail, 8) +#define call_streambuf_pbackfail(this, c) CALL_VTBL_FUNC(this, 36, int, (streambuf*, int), (this, c)) int __thiscall streambuf_pbackfail(streambuf *this, int c) { TRACE("(%p %d)\n", this, c); @@ -657,6 +658,15 @@ void __thiscall streambuf_stossc(streambuf *this) } } +/* ?sputbackc@streambuf@@QAEHD@Z */ +/* ?sputbackc@streambuf@@QEAAHD@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_sputbackc, 8) +int __thiscall streambuf_sputbackc(streambuf *this, char ch) +{ + TRACE("(%p %d)\n", this, ch); + return call_streambuf_pbackfail(this, ch); +} + /****************************************************************** * ??1ios@@UAE@XZ (MSVCRTI.@) * class ios & __thiscall ios::-ios<<(void) diff --git a/dlls/msvcirt/msvcirt.spec b/dlls/msvcirt/msvcirt.spec index 913f18607a3..f14821e18dc 100644 --- a/dlls/msvcirt/msvcirt.spec +++ b/dlls/msvcirt/msvcirt.spec @@ -702,8 +702,8 @@ # @ extern ?sh_write@filebuf@@2HB # static int const filebuf::sh_write @ thiscall -arch=win32 ?snextc@streambuf@@QAEHXZ(ptr) streambuf_snextc @ cdecl -arch=win64 ?snextc@streambuf@@QEAAHXZ(ptr) streambuf_snextc -@ stub -arch=win32 ?sputbackc@streambuf@@QAEHD@Z # int __thiscall streambuf::sputbackc(char) -@ stub -arch=win64 ?sputbackc@streambuf@@QEAAHD@Z +@ thiscall -arch=win32 ?sputbackc@streambuf@@QAEHD@Z(ptr long) streambuf_sputbackc +@ cdecl -arch=win64 ?sputbackc@streambuf@@QEAAHD@Z(ptr long) streambuf_sputbackc @ thiscall -arch=win32 ?sputc@streambuf@@QAEHH@Z(ptr long) streambuf_sputc @ cdecl -arch=win64 ?sputc@streambuf@@QEAAHH@Z(ptr long) streambuf_sputc @ thiscall -arch=win32 ?sputn@streambuf@@QAEHPBDH@Z(ptr str long) streambuf_sputn diff --git a/dlls/msvcrt20/msvcrt20.spec b/dlls/msvcrt20/msvcrt20.spec index f37d8761b88..c7dd0358891 100644 --- a/dlls/msvcrt20/msvcrt20.spec +++ b/dlls/msvcrt20/msvcrt20.spec @@ -690,8 +690,8 @@ # @ extern ?sh_write@filebuf@@2HB @ thiscall -arch=win32 ?snextc@streambuf@@QAEHXZ(ptr) msvcirt.?snextc@streambuf@@QAEHXZ @ cdecl -arch=win64 ?snextc@streambuf@@QEAAHXZ(ptr) msvcirt.?snextc@streambuf@@QEAAHXZ -@ stub -arch=win32 ?sputbackc@streambuf@@QAEHD@Z -@ stub -arch=win64 ?sputbackc@streambuf@@QEAAHD@Z +@ thiscall -arch=win32 ?sputbackc@streambuf@@QAEHD@Z(ptr long) msvcirt.?sputbackc@streambuf@@QAEHD@Z +@ cdecl -arch=win64 ?sputbackc@streambuf@@QEAAHD@Z(ptr long) msvcirt.?sputbackc@streambuf@@QEAAHD@Z @ thiscall -arch=win32 ?sputc@streambuf@@QAEHH@Z(ptr long) msvcirt.?sputc@streambuf@@QAEHH@Z @ cdecl -arch=win64 ?sputc@streambuf@@QEAAHH@Z(ptr long) msvcirt.?sputc@streambuf@@QEAAHH@Z @ thiscall -arch=win32 ?sputn@streambuf@@QAEHPBDH@Z(ptr str long) msvcirt.?sputn@streambuf@@QAEHPBDH@Z diff --git a/dlls/msvcrt40/msvcrt40.spec b/dlls/msvcrt40/msvcrt40.spec index 9173aef3ab2..bda6e2c1a99 100644 --- a/dlls/msvcrt40/msvcrt40.spec +++ b/dlls/msvcrt40/msvcrt40.spec @@ -762,8 +762,8 @@ # @ extern ?sh_write@filebuf@@2HB @ thiscall -arch=win32 ?snextc@streambuf@@QAEHXZ(ptr) msvcirt.?snextc@streambuf@@QAEHXZ @ cdecl -arch=win64 ?snextc@streambuf@@QEAAHXZ(ptr) msvcirt.?snextc@streambuf@@QEAAHXZ -@ stub -arch=win32 ?sputbackc@streambuf@@QAEHD@Z -@ stub -arch=win64 ?sputbackc@streambuf@@QEAAHD@Z +@ thiscall -arch=win32 ?sputbackc@streambuf@@QAEHD@Z(ptr long) msvcirt.?sputbackc@streambuf@@QAEHD@Z +@ cdecl -arch=win64 ?sputbackc@streambuf@@QEAAHD@Z(ptr long) msvcirt.?sputbackc@streambuf@@QEAAHD@Z @ thiscall -arch=win32 ?sputc@streambuf@@QAEHH@Z(ptr long) msvcirt.?sputc@streambuf@@QAEHH@Z @ cdecl -arch=win64 ?sputc@streambuf@@QEAAHH@Z(ptr long) msvcirt.?sputc@streambuf@@QEAAHH@Z @ thiscall -arch=win32 ?sputn@streambuf@@QAEHPBDH@Z(ptr str long) msvcirt.?sputn@streambuf@@QAEHPBDH@Z -- 2.11.4.GIT