- Timestamp:
- 05/27/05 03:15:20 (4 years ago)
- svk:copy_cache_prev:
- 5515
- Location:
- src/perl5
- Files:
-
- 4 modified
-
perl5.c (modified) (5 diffs)
-
perl5.h (modified) (1 diff)
-
pugsembed.c (modified) (2 diffs)
-
pugsembed.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/perl5/perl5.c
r3941 r3943 199 199 200 200 SV * 201 perl5_apply(SV *sub, SV *inv, SV** args, SV*env, int cxt)201 perl5_apply(SV *sub, SV *inv, SV** args, void *env, int cxt) 202 202 { 203 203 SV **arg; … … 210 210 SAVETMPS; 211 211 212 if (env != NULL) { 213 sv = get_sv("pugs::env", 1); 214 save_item(sv); 215 sv_setsv(sv, env); 216 } 212 pugs_setenv(env); 217 213 218 214 PUSHMARK(SP); … … 251 247 } 252 248 253 void *perl5_set_svref (const char *name, void *val)249 void perl5_set_svref (const char *name, void *val) 254 250 { 255 251 /* fprintf(stderr, "setsvref: name: %s, mkvalref: %p\n", name, val); */ … … 264 260 265 261 SV * 266 perl5_eval(char *code, SV*env, int cxt)262 perl5_eval(char *code, void *env, int cxt) 267 263 { 268 264 dSP; … … 272 268 SAVETMPS; 273 269 274 if (env != NULL) { 275 sv = get_sv("pugs::env", 1); 276 save_item(sv); 277 sv_setsv(sv, env); 278 } 270 pugs_setenv(env); 279 271 280 272 sv = newSVpv(code, 0); -
src/perl5/perl5.h
r3938 r3943 11 11 SV * perl5_newSViv ( int iv ); 12 12 SV * perl5_newSVnv ( double iv ); 13 SV * perl5_apply(SV *sub, SV *inv, SV** args, SV*env, int cxt);13 SV * perl5_apply(SV *sub, SV *inv, SV** args, void *env, int cxt); 14 14 bool perl5_can(SV *inv, char *subname); 15 SV * perl5_eval(char *code, SV*env, int cxt);15 SV * perl5_eval(char *code, void *env, int cxt); 16 16 SV * perl5_get_sv ( const char *name ); 17 void *perl5_set_svref ( const char *name, void *sv );17 void perl5_set_svref ( const char *name, void *sv ); -
src/perl5/pugsembed.c
r3941 r3943 6 6 { 7 7 if (!sv_isa(sv, "pugs")) { 8 fprintf(stderr, "bad cast\n"); 9 sv_dump(sv); 8 10 return (pugs_MkSvRef(sv)); 9 11 } 12 fprintf(stderr, "good cast\n"); 10 13 IV tmp = SvIV((SV*)SvRV(sv)); 11 14 return ((Val *)tmp); … … 30 33 return (sv); 31 34 } 35 36 Val *pugs_getenv () 37 { 38 SV** rv = hv_fetch(PL_modglobal, "PugsEnv", 7, 0); 39 if (*rv == NULL) 40 Perl_croak(aTHX_ "hate software so much"); 41 IV tmp = SvIV((SV*)SvRV(*rv)); 42 return ((Val *)tmp); 43 } 44 45 void pugs_setenv ( Val *env ) 46 { 47 if (env == NULL) { return; } 48 49 SV *sv = newSV(0); 50 sv_setref_pv(sv, "pugs", env); 51 hv_store(PL_modglobal, "PugsEnv", 7, sv, 0); 52 } -
src/perl5/pugsembed.h
r3929 r3943 23 23 SV *pugs_MkValRef ( Val *val ); 24 24 25 Val *pugs_getenv (); 26 void pugs_setenv ( Val *env ); 27
