blob: 4854c43bf20d89e13c1fd813da97fe8052c16ec3 [file] [log] [blame]
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#include <internal.h>
#include <windows.h>
/**
* Implementation of _ismbblead() function called by crtexewin.c startup code
* for crtdll.dll library which in some versions does not contain this function.
*/
static int __cdecl emu_ismbblead(unsigned int __UNUSED_PARAM(_C))
{
/* Fallback implementation for crtdll.dll version which is not MBCS aware. */
return 0;
}
static int __cdecl init_ismbblead(unsigned int _C);
int (__cdecl *__MINGW_IMP_SYMBOL(_ismbblead))(unsigned int _C) = init_ismbblead;
static int __cdecl init_ismbblead(unsigned int _C)
{
HMODULE crtdll;
int (__cdecl *func)(unsigned int _C) = NULL;
crtdll = GetModuleHandleA("crtdll.dll");
if (crtdll)
func = (int (__cdecl *)(unsigned int _C))GetProcAddress(crtdll, "_ismbblead");
if (!func)
func = emu_ismbblead;
return (__MINGW_IMP_SYMBOL(_ismbblead) = func)(_C);
}
int __cdecl _ismbblead(unsigned int _C);
int __cdecl _ismbblead(unsigned int _C)
{
return __MINGW_IMP_SYMBOL(_ismbblead)(_C);
}