/* Register any extra external extensions */
-char *staticlinkmodules[] = {
+const char * const staticlinkmodules[] = {
"DynaLoader",
/* other similar records will be included from "perllibst.h" */
#define STATIC1
{
int exitstatus;
PerlInterpreter *my_perl, *new_perl = NULL;
- OSVERSIONINFO osver;
- char szModuleName[MAX_PATH];
- char *arg0 = argv[0];
- char *ansi = NULL;
bool use_environ = (env == environ);
- osver.dwOSVersionInfoSize = sizeof(osver);
- GetVersionEx(&osver);
-
- if (osver.dwMajorVersion > 4) {
- WCHAR widename[MAX_PATH];
- GetModuleFileNameW(NULL, widename, sizeof(widename)/sizeof(WCHAR));
- argv[0] = ansi = win32_ansipath(widename);
- }
- else {
- Win_GetModuleFileName(NULL, szModuleName, sizeof(szModuleName));
- (void)win32_longpath(szModuleName);
- argv[0] = szModuleName;
- }
-
#ifdef PERL_GLOBAL_STRUCT
#define PERLVAR(prefix,var,type) /**/
#define PERLVARA(prefix,var,type) /**/
if (use_environ)
env = environ;
- exitstatus = perl_parse(my_perl, xs_init, argc, argv, env);
- if (!exitstatus) {
+ if (!perl_parse(my_perl, xs_init, argc, argv, env)) {
#if defined(TOP_CLONE) && defined(USE_ITHREADS) /* XXXXXX testing */
new_perl = perl_clone(my_perl, 1);
- exitstatus = perl_run(new_perl);
+ (void) perl_run(new_perl);
PERL_SET_THX(my_perl);
#else
- exitstatus = perl_run(my_perl);
+ (void) perl_run(my_perl);
#endif
}
- perl_destruct(my_perl);
+ exitstatus = perl_destruct(my_perl);
perl_free(my_perl);
#ifdef USE_ITHREADS
if (new_perl) {
PERL_SET_THX(new_perl);
- perl_destruct(new_perl);
+ exitstatus = perl_destruct(new_perl);
perl_free(new_perl);
}
#endif
- /* At least the Borland RTL wants to free argv[] after main() returns. */
- argv[0] = arg0;
- if (ansi)
- win32_free(ansi);
-
PERL_SYS_TERM();
return (exitstatus);
EXTERN_C /* GCC in C++ mode mangles the name, otherwise */
#endif
BOOL APIENTRY
-DllMain(HANDLE hModule, /* DLL module handle */
+DllMain(HINSTANCE hModule, /* DLL module handle */
DWORD fdwReason, /* reason called */
LPVOID lpvReserved) /* reserved */
{
* initialization or a call to LoadLibrary.
*/
case DLL_PROCESS_ATTACH:
-/* #define DEFAULT_BINMODE */
-#ifdef DEFAULT_BINMODE
- setmode( fileno( stdin ), O_BINARY );
- setmode( fileno( stdout ), O_BINARY );
- setmode( fileno( stderr ), O_BINARY );
- _fmode = O_BINARY;
-#endif
-
#ifndef UNDER_CE
DisableThreadLibraryCalls((HMODULE)hModule);
#endif