/* WINCE.C - stuff for Windows CE
*
- * Time-stamp: <01/08/01 19:29:57 keuchel@w2k>
+ * Time-stamp: <26/10/01 15:25:20 keuchel@keuchelnt>
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
# define getlogin g_getlogin
#endif
-#if defined(PERL_OBJECT)
-# undef do_aspawn
-# define do_aspawn g_do_aspawn
-# undef Perl_do_exec
-# define Perl_do_exec g_do_exec
-#endif
-
static long filetime_to_clock(PFILETIME ft);
static BOOL filetime_from_time(PFILETIME ft, time_t t);
static char * get_emd_part(SV **leading, char *trailing, ...);
DWORD datalen;
retval = XCERegQueryValueExA(handle, valuename, 0, &type, NULL, &datalen);
if (retval == ERROR_SUCCESS && type == REG_SZ) {
- dTHXo;
+ dTHX;
if (!*svp)
*svp = sv_2mortal(newSVpvn("",0));
SvGROW(*svp, datalen);
/* only add directory if it exists */
if (XCEGetFileAttributesA(mod_name) != (DWORD) -1) {
/* directory exists */
- dTHXo;
+ dTHX;
if (!*prev_pathp)
*prev_pathp = sv_2mortal(newSVpvn("",0));
sv_catpvn(*prev_pathp, ";", 1);
char *
win32_get_privlib(const char *pl)
{
- dTHXo;
+ dTHX;
char *stdlib = "lib";
char buffer[MAX_PATH+1];
SV *sv = Nullsv;
static char *
win32_get_xlib(const char *pl, const char *xlib, const char *libname)
{
- dTHXo;
+ dTHX;
char regstr[40];
char pathstr[MAX_PATH+1];
DWORD datalen;
return 0;
}
-#ifndef PERL_OBJECT
-
static UINT timerid = 0;
static VOID CALLBACK TimerProc(HWND win, UINT msg, UINT id, DWORD time)
{
- dTHXo;
+ dTHX;
KillTimer(NULL,timerid);
timerid=0;
sighandler(14);
}
-#endif /* !PERL_OBJECT */
DllExport unsigned int
win32_alarm(unsigned int sec)
{
-#ifndef PERL_OBJECT
/*
* the 'obvious' implentation is SetTimer() with a callback
* which does whatever receiving SIGALRM would do
* Snag is unless something is looking at the message queue
* nothing happens :-(
*/
- dTHXo;
+ dTHX;
if (sec)
{
timerid = SetTimer(NULL,timerid,sec*1000,(TIMERPROC)TimerProc);
timerid=0;
}
}
-#endif /* !PERL_OBJECT */
return 0;
}
DllExport char *
win32_crypt(const char *txt, const char *salt)
{
- dTHXo;
+ dTHX;
#ifdef HAVE_DES_FCRYPT
dTHR;
return des_fcrypt(txt, salt, w32_crypt_buffer);
DllExport void
win32_str_os_error(void *sv, DWORD dwErr)
{
- dTHXo;
+ dTHX;
sv_setpvn((SV*)sv, "Error", 5);
}
return fseek(pf, offset, origin);
}
-// fpos_t seems to be int64 on hpc pro! Really stupid.
-// But maybe someday there will be such large disks in a hpc...
+/* fpos_t seems to be int64 on hpc pro! Really stupid. */
+/* But maybe someday there will be such large disks in a hpc... */
DllExport int
win32_fgetpos(FILE *pf, fpos_t *p)
{
DllExport void*
win32_dynaload(const char* filename)
{
- dTHXo;
+ dTHX;
HMODULE hModule;
hModule = XCELoadLibraryA(filename);
return hModule;
}
-// this is needed by Cwd.pm...
+/* this is needed by Cwd.pm... */
static
XS(w32_GetCwd)
EXTEND(SP,1);
SvPOK_on(sv);
ST(0) = sv;
+#ifndef INCOMPLETE_TAINTS
+ SvTAINTED_on(ST(0));
+#endif
XSRETURN(1);
}
XPUSHs(newSViv(osver.dwMajorVersion));
XPUSHs(newSViv(osver.dwMinorVersion));
XPUSHs(newSViv(osver.dwBuildNumber));
- // WINCE = 3
+ /* WINCE = 3 */
XPUSHs(newSViv(osver.dwPlatformId));
PUTBACK;
}
void
Perl_init_os_extras(void)
{
- dTHXo;
+ dTHX;
char *file = __FILE__;
dXSUB_SYS;
return;
}
-//////////////////////////////////////////////////////////////////////
-
-#ifdef PERL_OBJECT
-# undef this
-# define this pPerl
-#endif
+/* //////////////////////////////////////////////////////////////////// */
void
win32_argv2utf8(int argc, char** argv)
{
- // do nothing...
+ /* do nothing... */
}
void
# endif
}
+/* //////////////////////////////////////////////////////////////////// */
+
+#undef getcwd
+
+char *
+getcwd(char *buf, size_t size)
+{
+ return xcegetcwd(buf, size);
+}
+
+int
+isnan(double d)
+{
+ return _isnan(d);
+}
+