msvcirt: Implement some ostream stubs.
This commit is contained in:
parent
5bb6e4ab8c
commit
f2b0e3168a
|
@ -16,6 +16,9 @@
|
|||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
|
@ -24,6 +27,61 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(msvcirt);
|
||||
|
||||
typedef struct {
|
||||
LPVOID VTable;
|
||||
} class_ostream;
|
||||
|
||||
#ifdef __i386__ /* thiscall functions are i386-specific */
|
||||
|
||||
#define THISCALL(func) __thiscall_ ## func
|
||||
#define THISCALL_NAME(func) __ASM_NAME("__thiscall_" #func)
|
||||
#define DEFINE_THISCALL_WRAPPER(func) \
|
||||
extern void THISCALL(func)(); \
|
||||
__ASM_GLOBAL_FUNC(__thiscall_ ## func, \
|
||||
"popl %eax\n\t" \
|
||||
"pushl %ecx\n\t" \
|
||||
"pushl %eax\n\t" \
|
||||
"jmp " __ASM_NAME(#func) )
|
||||
#else /* __i386__ */
|
||||
|
||||
#define THISCALL(func) func
|
||||
#define THISCALL_NAME(func) __ASM_NAME(#func)
|
||||
#define DEFINE_THISCALL_WRAPPER(func) /* nothing */
|
||||
|
||||
#endif /* __i386__ */
|
||||
|
||||
/******************************************************************
|
||||
* ??6ostream@@QAEAAV0@H@Z (MSVCRTI.@)
|
||||
* class ostream & __thiscall ostream::operator<<(int)
|
||||
*/
|
||||
DEFINE_THISCALL_WRAPPER(MSVCIRT_operator_sl_int)
|
||||
void * __stdcall MSVCIRT_operator_sl_int(class_ostream * _this, int integer)
|
||||
{
|
||||
FIXME("(%p)->(%d) stub\n", _this, integer);
|
||||
return _this;
|
||||
}
|
||||
|
||||
/******************************************************************
|
||||
* ??6ostream@@QAEAAV0@PBD@Z (MSVCRTI.@)
|
||||
* class ostream & __thiscall ostream::operator<<(char const *)
|
||||
*/
|
||||
DEFINE_THISCALL_WRAPPER(MSVCIRT_operator_sl_pchar)
|
||||
void * __stdcall MSVCIRT_operator_sl_pchar(class_ostream * _this, const char * string)
|
||||
{
|
||||
FIXME("(%p)->(%s) stub\n", _this, string);
|
||||
return _this;
|
||||
}
|
||||
|
||||
/******************************************************************
|
||||
* ?endl@@YAAAVostream@@AAV1@@Z (MSVCRTI.@)
|
||||
* class ostream & __cdecl endl(class ostream &)
|
||||
*/
|
||||
void * CDECL MSVCIRT_endl(class_ostream * _this)
|
||||
{
|
||||
FIXME("(%p)->() stub\n", _this);
|
||||
return _this;
|
||||
}
|
||||
|
||||
BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
|
||||
{
|
||||
switch (reason)
|
||||
|
|
|
@ -134,7 +134,7 @@
|
|||
@ stub ??6ostream@@QAEAAV0@E@Z # class ostream & __thiscall ostream::operator<<(unsigned char)
|
||||
@ stub ??6ostream@@QAEAAV0@F@Z # class ostream & __thiscall ostream::operator<<(short)
|
||||
@ stub ??6ostream@@QAEAAV0@G@Z # class ostream & __thiscall ostream::operator<<(unsigned short)
|
||||
@ stub ??6ostream@@QAEAAV0@H@Z # class ostream & __thiscall ostream::operator<<(int)
|
||||
@ cdecl -i386 -norelay ??6ostream@@QAEAAV0@H@Z(ptr long) __thiscall_MSVCIRT_operator_sl_int # class ostream & __thiscall ostream::operator<<(int)
|
||||
@ stub ??6ostream@@QAEAAV0@I@Z # class ostream & __thiscall ostream::operator<<(unsigned int)
|
||||
@ stub ??6ostream@@QAEAAV0@J@Z # class ostream & __thiscall ostream::operator<<(long)
|
||||
@ stub ??6ostream@@QAEAAV0@K@Z # class ostream & __thiscall ostream::operator<<(unsigned long)
|
||||
|
@ -145,7 +145,7 @@
|
|||
@ stub ??6ostream@@QAEAAV0@P6AAAVios@@AAV1@@Z@Z # class ostream & __thiscall ostream::operator<<(class ios & (__cdecl*)(class ios &))
|
||||
@ stub ??6ostream@@QAEAAV0@PAVstreambuf@@@Z # class ostream & __thiscall ostream::operator<<(class streambuf *)
|
||||
@ stub ??6ostream@@QAEAAV0@PBC@Z # class ostream & __thiscall ostream::operator<<(signed char const *)
|
||||
@ stub ??6ostream@@QAEAAV0@PBD@Z # class ostream & __thiscall ostream::operator<<(char const *)
|
||||
@ cdecl -i386 -norelay ??6ostream@@QAEAAV0@PBD@Z(ptr ptr) __thiscall_MSVCIRT_operator_sl_pchar # class ostream & __thiscall ostream::operator<<(char const *)
|
||||
@ stub ??6ostream@@QAEAAV0@PBE@Z # class ostream & __thiscall ostream::operator<<(unsigned char const *)
|
||||
@ stub ??6ostream@@QAEAAV0@PBX@Z # class ostream & __thiscall ostream::operator<<(void const *)
|
||||
@ stub ??7ios@@QBEHXZ # int __thiscall ios::operator!(void)const
|
||||
|
@ -268,7 +268,7 @@
|
|||
@ stub ?eback@streambuf@@IBEPADXZ # char * __thiscall streambuf::eback(void)const
|
||||
@ stub ?ebuf@streambuf@@IBEPADXZ # char * __thiscall streambuf::ebuf(void)const
|
||||
@ stub ?egptr@streambuf@@IBEPADXZ # char * __thiscall streambuf::egptr(void)const
|
||||
@ stub ?endl@@YAAAVostream@@AAV1@@Z # class ostream & __cdecl endl(class ostream &)
|
||||
@ cdecl ?endl@@YAAAVostream@@AAV1@@Z(ptr) MSVCIRT_endl # class ostream & __cdecl endl(class ostream &)
|
||||
@ stub ?ends@@YAAAVostream@@AAV1@@Z # class ostream & __cdecl ends(class ostream &)
|
||||
@ stub ?eof@ios@@QBEHXZ # int __thiscall ios::eof(void)const
|
||||
@ stub ?epptr@streambuf@@IBEPADXZ # char * __thiscall streambuf::epptr(void)const
|
||||
|
|
Loading…
Reference in New Issue