--- np2/win9x/extromio.cpp 2003/10/22 14:13:25 1.3 +++ np2/win9x/extromio.cpp 2007/11/11 07:11:26 1.8 @@ -1,14 +1,14 @@ #include "compiler.h" +#include "np2.h" +#include "oemtext.h" #include "dosio.h" #include "extromio.h" -extern HINSTANCE hInst; +static const TCHAR str_extrom[] = _T("EXTROM"); -static const char str_extrom[] = "EXTROM"; - -EXTROMH extromio_open(const char *filename, UINT type) { +EXTROMH extromio_open(const OEMCHAR *filename, UINT type) { EXTROMH ret; HRSRC hrsrc; @@ -26,12 +26,18 @@ EXTROMH extromio_open(const char *filena } } else if (type == EXTROMIO_RES) { - hrsrc = FindResource(hInst, filename, str_extrom); +#if defined(OSLANG_UTF8) + TCHAR tchr[MAX_PATH]; + oemtotchar(tchr, NELEMENTS(tchr), filename, -1); + hrsrc = FindResource(g_hInstance, tchr, str_extrom); +#else + hrsrc = FindResource(g_hInstance, filename, str_extrom); +#endif if (hrsrc) { - hg = LoadResource(hInst, hrsrc); + hg = LoadResource(g_hInstance, hrsrc); ret->fh = (void *)LockResource(hg); ret->pos = 0; - ret->size = SizeofResource(hInst, hrsrc); + ret->size = SizeofResource(g_hInstance, hrsrc); return(ret); } } @@ -50,7 +56,7 @@ UINT extromio_read(EXTROMH erh, void *bu else if (erh->type == EXTROMIO_RES) { size = min(size, (UINT)(erh->size - erh->pos)); if (size) { - CopyMemory(buf, ((BYTE *)erh->fh) + erh->pos, size); + CopyMemory(buf, ((UINT8 *)erh->fh) + erh->pos, size); erh->pos += size; } return(size);