plugins/perl/perl-common.c

changeset 11318
13fa1d5134f3
parent 11290
136722ebf145
child 12837
91261adc87b3
equal deleted inserted replaced
11317:d2b5c786aac3 11318:13fa1d5134f3
32 return 0; 32 return 0;
33 } 33 }
34 34
35 static MGVTBL vtbl_free_object = 35 static MGVTBL vtbl_free_object =
36 { 36 {
37 NULL, NULL, NULL, NULL, magic_free_object 37 NULL, NULL, NULL, NULL, magic_free_object, NULL, NULL
38 }; 38 };
39 39
40 static SV * 40 static SV *
41 create_sv_ptr(void *object) 41 create_sv_ptr(void *object)
42 { 42 {
176 execute_perl(const char *function, int argc, char **args) 176 execute_perl(const char *function, int argc, char **args)
177 { 177 {
178 int count = 0, i, ret_value = 1; 178 int count = 0, i, ret_value = 1;
179 SV *sv_args[argc]; 179 SV *sv_args[argc];
180 STRLEN na; 180 STRLEN na;
181 PERL_SET_CONTEXT(my_perl); 181 dSP;
182 PERL_SET_CONTEXT(my_perl);
182 /* 183 /*
183 * Set up the perl environment, push arguments onto the 184 * Set up the perl environment, push arguments onto the
184 * perl stack, then call the given function 185 * perl stack, then call the given function
185 */ 186 */
186 dSP; 187 SPAGAIN;
187 ENTER; 188 ENTER;
188 SAVETMPS; 189 SAVETMPS;
189 PUSHMARK(sp); 190 PUSHMARK(sp);
190 191
191 for (i = 0; i < argc; i++) { 192 for (i = 0; i < argc; i++) {

mercurial