diff options
author | Gurusamy Sarathy <gsar@engin.umich.edu> | 1997-06-13 15:34:36 +1200 |
---|---|---|
committer | Tim Bunce <Tim.Bunce@ig.co.uk> | 1997-08-07 00:00:00 +1200 |
commit | d6602a8c317a25957738ed94749408b8c40cda5f (patch) | |
tree | 156b01f27e3a17f57538297573e8fb34f2bfd6e4 /perl.c | |
parent | d1f3fb15f579862f85c82ed69eba4baa20281b3c (diff) | |
download | perl-d6602a8c317a25957738ed94749408b8c40cda5f.tar.gz |
Re: Calling Perl from within C from within Perl
On Mon, 30 Jun 1997 13:26:33 EDT, Kenneth Albanowski wrote:
>[GIMME after perl_call*() coredumps]
>Is perl_call_sv mucking with the current op? That's the only problem that
>looks vaguely reasonable.
op will be null after perl_call_sv(), and GIMME looks in op to
find the context. I tend to use GIMME only in the declaration
initializers, so have never run into this trap before.
I recommend this patch.
p5p-msgid: 199706301829.OAA05426@aatma.engin.umich.edu
private-msgid: 199706301842.OAA05569@aatma.engin.umich.edu
Diffstat (limited to 'perl.c')
-rw-r--r-- | perl.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -1017,6 +1017,7 @@ I32 flags; /* See G_* flags in cop.h */ bool oldcatch = CATCH_GET; dJMPENV; int ret; + OP* oldop = op; if (flags & G_DISCARD) { ENTER; @@ -1139,6 +1140,7 @@ I32 flags; /* See G_* flags in cop.h */ FREETMPS; LEAVE; } + op = oldop; return retval; } |