#endif
START_EXTERN_C
-extern char * g_win32_get_privlib(const char *pl, STRLEN *const len);
-extern char * g_win32_get_sitelib(const char *pl, STRLEN *const len);
-extern char * g_win32_get_vendorlib(const char *pl, STRLEN *const len);
extern char * g_getlogin(void);
END_EXTERN_C
return IPERL2HOST(piPerl)->IsLocked();
}
-struct IPerlMem perlMem =
+const struct IPerlMem perlMem =
{
PerlMemMalloc,
PerlMemRealloc,
return IPERL2HOST(piPerl)->IsLockedShared();
}
-struct IPerlMem perlMemShared =
+const struct IPerlMem perlMemShared =
{
PerlMemSharedMalloc,
PerlMemSharedRealloc,
return IPERL2HOST(piPerl)->IsLockedParse();
}
-struct IPerlMem perlMemParse =
+const struct IPerlMem perlMemParse =
{
PerlMemParseMalloc,
PerlMemParseRealloc,
}
char*
-PerlEnvLibPath(struct IPerlEnv* piPerl, const char *pl, STRLEN *const len)
+PerlEnvLibPath(struct IPerlEnv* piPerl, WIN32_NO_REGISTRY_M_(const char *pl) STRLEN *const len)
{
- return g_win32_get_privlib(pl, len);
+ return win32_get_privlib(WIN32_NO_REGISTRY_M_(pl) len);
}
char*
PerlEnvSiteLibPath(struct IPerlEnv* piPerl, const char *pl, STRLEN *const len)
{
- return g_win32_get_sitelib(pl, len);
+ return win32_get_sitelib(pl, len);
}
char*
PerlEnvVendorLibPath(struct IPerlEnv* piPerl, const char *pl,
STRLEN *const len)
{
- return g_win32_get_vendorlib(pl, len);
+ return win32_get_vendorlib(pl, len);
}
void
win32_get_child_IO(ptr);
}
-struct IPerlEnv perlEnv =
+const struct IPerlEnv perlEnv =
{
PerlEnvGetenv,
PerlEnvPutenv,
#endif
}
-struct IPerlStdIO perlStdIO =
+const struct IPerlStdIO perlStdIO =
{
PerlStdIOStdin,
PerlStdIOStdout,
return win32_write(handle, buffer, count);
}
-struct IPerlLIO perlLIO =
+const struct IPerlLIO perlLIO =
{
PerlLIOAccess,
PerlLIOChmod,
return IPERL2HOST(piPerl)->MapPathW(path);
}
-struct IPerlDir perlDir =
+const struct IPerlDir perlDir =
{
PerlDirMakedir,
PerlDirChdir,
return win32_ioctlsocket(s, cmd, argp);
}
-struct IPerlSock perlSock =
+const struct IPerlSock perlSock =
{
PerlSockHtonl,
PerlSockHtons,
SvREFCNT_dec(PL_curstash);
PL_curstash = (HV *)SvREFCNT_inc(PL_defstash);
}
- if (PL_endav && !PL_minus_c)
+ if (PL_endav && !PL_minus_c) {
+ PERL_SET_PHASE(PERL_PHASE_END);
call_list(oldscope, PL_endav);
+ }
status = STATUS_EXIT;
break;
case 3:
int
PerlProcLastHost(struct IPerlProc* piPerl)
{
+ /* this dTHX is unused in an optimized build since CPerlHost::num_hosts
+ is a static */
dTHX;
CPerlHost *h = (CPerlHost*)w32_internal_host;
return h->LastHost();
}
-struct IPerlProc perlProc =
+const struct IPerlProc perlProc =
{
PerlProcAbort,
PerlProcCrypt,