summaryrefslogtreecommitdiff
path: root/win32/perllib.c
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2006-04-27 23:30:00 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2006-04-28 15:29:30 +0000
commit7bd379e81ea13d83ac434499c69ddde30e5c4259 (patch)
tree3757e557c4cfa29634e1679af997c866f4fa10a4 /win32/perllib.c
parentff235dd6d6f5e19e11c9202d4a82fb8e5fbadadd (diff)
downloadperl-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.c46
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) {