4 #include "patchlevel.h"
7 static void xs_init _((void));
8 static PerlInterpreter *my_perl;
16 #else /* def(CAN_PROTOTYPE) */
17 main(int argc, char **argv, char **env)
18 #endif /* def(CAN_PROTOTYPE) */
24 #ifdef INDIRECT_BGET_MACROS
26 #endif /* INDIRECT_BGET_MACROS */
29 PERL_SYS_INIT(&argc,&argv);
31 #if PATCHLEVEL > 3 || (PATCHLEVEL == 3 && SUBVERSION >= 1)
32 perl_init_i18nl10n(1);
34 perl_init_i18nl14n(1);
38 my_perl = perl_alloc();
45 perl_construct( my_perl );
50 cshlen = strlen(cshname);
57 fp = fopen(argv[1], "rb");
59 fp = fopen(argv[1], "r");
72 New(666, fakeargv, argc + 4, char *);
73 fakeargv[0] = argv[0];
77 for (i = 1; i < argc; i++)
78 fakeargv[i + 3] = argv[i];
79 fakeargv[argc + 3] = 0;
81 exitstatus = perl_parse(my_perl, xs_init, argc + 3, fakeargv, NULL);
85 sv_setpv(GvSV(gv_fetchpv("0", TRUE, SVt_PV)), argv[0]);
89 #ifdef INDIRECT_BGET_MACROS
91 bs.fgetc = (int(*) _((void*)))fgetc;
92 bs.fread = (int(*) _((char*,size_t,size_t,void*)))fread;
97 #endif /* INDIRECT_BGET_MACROS */
99 exitstatus = perl_run( my_perl );
101 perl_destruct( my_perl );
102 perl_free( my_perl );