-#ifdef PERL_OBJECT
-
-EXTERN_C void
-perl_construct(PerlInterpreter* my_perl)
-{
- CPerlObj* pPerl = (CPerlObj*)my_perl;
- try
- {
- Perl_construct();
- }
- catch(...)
- {
- win32_fprintf(stderr, "%s\n",
- "Error: Unable to construct data structures");
- perl_free(my_perl);
- }
-}
-
-EXTERN_C void
-perl_destruct(PerlInterpreter* my_perl)
-{
- CPerlObj* pPerl = (CPerlObj*)my_perl;
-#ifdef DEBUGGING
- Perl_destruct();
-#else
- try
- {
- Perl_destruct();
- }
- catch(...)
- {
- }
-#endif
-}
-
-EXTERN_C void
-perl_free(PerlInterpreter* my_perl)
-{
- CPerlObj* pPerl = (CPerlObj*)my_perl;
- void *host = w32_internal_host;
-#ifdef DEBUGGING
- Perl_free();
-#else
- try
- {
- Perl_free();
- }
- catch(...)
- {
- }
-#endif
- win32_delete_internal_host(host);
- PERL_SET_THX(NULL);
-}
-
-EXTERN_C int
-perl_run(PerlInterpreter* my_perl)
-{
- CPerlObj* pPerl = (CPerlObj*)my_perl;
- int retVal;
-#ifdef DEBUGGING
- retVal = Perl_run();
-#else
- try
- {
- retVal = Perl_run();
- }
- catch(...)
- {
- win32_fprintf(stderr, "Error: Runtime exception\n");
- retVal = -1;
- }
-#endif
- return retVal;
-}
-
-EXTERN_C int
-perl_parse(PerlInterpreter* my_perl, void (*xsinit)(CPerlObj*), int argc, char** argv, char** env)
-{
- int retVal;
- CPerlObj* pPerl = (CPerlObj*)my_perl;
-#ifdef DEBUGGING
- retVal = Perl_parse(xsinit, argc, argv, env);
-#else
- try
- {
- retVal = Perl_parse(xsinit, argc, argv, env);
- }
- catch(...)
- {
- win32_fprintf(stderr, "Error: Parse exception\n");
- retVal = -1;
- }
-#endif
- *win32_errno() = 0;
- return retVal;
-}
-
-#undef PL_perl_destruct_level
-#define PL_perl_destruct_level int dummy
-
-#endif /* PERL_OBJECT */