diff options
author | Yves Orton <demerphq@gmail.com> | 2006-04-27 23:30:00 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2006-04-28 15:29:30 +0000 |
commit | 7bd379e81ea13d83ac434499c69ddde30e5c4259 (patch) | |
tree | 3757e557c4cfa29634e1679af997c866f4fa10a4 /win32/perllib.c | |
parent | ff235dd6d6f5e19e11c9202d4a82fb8e5fbadadd (diff) | |
download | perl-7bd379e81ea13d83ac434499c69ddde30e5c4259.tar.gz |
Merge WinCE and Win32 directories -- Initial patch
Message-ID: <9b18b3110604271430k4de84685jec6535ded195ed94@mail.gmail.com>
p4raw-id: //depot/perl@28003
Diffstat (limited to 'win32/perllib.c')
-rw-r--r-- | win32/perllib.c | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/win32/perllib.c b/win32/perllib.c index 3acfca1204..5ce8fe7694 100644 --- a/win32/perllib.c +++ b/win32/perllib.c @@ -40,6 +40,9 @@ xs_init(pTHX) #ifdef PERL_IMPLICIT_SYS +/* WINCE: include replaced by: +extern "C" void win32_checkTLS(PerlInterpreter *host_perl); +*/ #include "perlhost.h" void @@ -48,11 +51,45 @@ win32_checkTLS(PerlInterpreter *host_perl) dTHX; if (host_perl != my_perl) { int *nowhere = NULL; - *nowhere = 0; +#ifdef _WIN_CE + printf(" ... bad in win32_checkTLS\n"); + printf(" %08X ne %08X\n",host_perl,my_perl); +#endif abort(); } } +#ifdef UNDER_CE +int GetLogicalDrives() { + return 0; /* no logical drives on CE */ +} +int GetLogicalDriveStrings(int size, char addr[]) { + return 0; /* no logical drives on CE */ +} +/* TBD */ +DWORD GetFullPathNameA(LPCSTR fn, DWORD blen, LPTSTR buf, LPSTR *pfile) { + return 0; +} +/* TBD */ +DWORD GetFullPathNameW(CONST WCHAR *fn, DWORD blen, WCHAR * buf, WCHAR **pfile) { + return 0; +} +/* TBD */ +DWORD SetCurrentDirectoryA(LPSTR pPath) { + return 0; +} +/* TBD */ +DWORD SetCurrentDirectoryW(CONST WCHAR *pPath) { + return 0; +} +int xcesetuid(uid_t id){return 0;} +int xceseteuid(uid_t id){ return 0;} +int xcegetuid() {return 0;} +int xcegeteuid(){ return 0;} +#endif + +/* WINCE??: include "perlhost.h" */ + EXTERN_C void perl_get_host_info(struct IPerlMemInfo* perlMemInfo, struct IPerlMemInfo* perlMemSharedInfo, @@ -177,7 +214,7 @@ RunPerl(int argc, char **argv, char **env) * Borland's CRT does the right thing to argv[0] already. */ char szModuleName[MAX_PATH]; - GetModuleFileName(NULL, szModuleName, sizeof(szModuleName)); + Win_GetModuleFileName(NULL, szModuleName, sizeof(szModuleName)); (void)win32_longpath(szModuleName); argv[0] = szModuleName; #endif @@ -254,7 +291,11 @@ DllMain(HANDLE hModule, /* DLL module handle */ setmode( fileno( stderr ), O_BINARY ); _fmode = O_BINARY; #endif + +#ifndef UNDER_CE DisableThreadLibraryCalls((HMODULE)hModule); +#endif + w32_perldll_handle = hModule; set_w32_module_name(); break; @@ -290,6 +331,7 @@ DllMain(HANDLE hModule, /* DLL module handle */ return TRUE; } + #if defined(USE_ITHREADS) && defined(PERL_IMPLICIT_SYS) EXTERN_C PerlInterpreter * perl_clone_host(PerlInterpreter* proto_perl, UV flags) { |