Change 33024 by [EMAIL PROTECTED] on 2008/01/21 11:49:38
More places that could be using G_WANT, not picked up by change 33021.
Affected files ...
... //depot/perl/ext/threads/threads.xs#144 edit
... //depot/perl/pp_ctl.c#664 edit
Differences ...
==== //depot/perl/ext/threads/threads.xs#144 (xtext) ====
Index: perl/ext/threads/threads.xs
--- perl/ext/threads/threads.xs#143~31880~ 2007-09-17 04:19:20.000000000
-0700
+++ perl/ext/threads/threads.xs 2008-01-21 03:49:38.000000000 -0800
@@ -452,7 +452,7 @@
SPAGAIN;
for (ii=len-1; ii >= 0; ii--) {
SV *sv = POPs;
- if (jmp_rc == 0 && (! (thread->gimme & G_VOID))) {
+ if (jmp_rc == 0 && (thread->gimme & G_WANT) != G_VOID) {
av_store(params, ii, SvREFCNT_inc(sv));
}
}
@@ -1122,7 +1122,7 @@
MUTEX_LOCK(&thread->mutex);
/* Get the return value from the call_sv */
/* Objects do not survive this process - FIXME */
- if (! (thread->gimme & G_VOID)) {
+ if ((thread->gimme & G_WANT) != G_VOID) {
AV *params_copy;
PerlInterpreter *other_perl;
CLONE_PARAMS clone_params;
@@ -1459,8 +1459,8 @@
CODE:
PERL_UNUSED_VAR(items);
thread = S_SV_to_ithread(aTHX_ ST(0));
- ST(0) = (thread->gimme & G_ARRAY) ? &PL_sv_yes :
- (thread->gimme & G_VOID) ? &PL_sv_undef
+ ST(0) = ((thread->gimme & G_WANT) == G_ARRAY) ? &PL_sv_yes :
+ ((thread->gimme & G_WANT) == G_VOID) ? &PL_sv_undef
/* G_SCALAR */ : &PL_sv_no;
/* XSRETURN(1); - implied */
==== //depot/perl/pp_ctl.c#664 (text) ====
Index: perl/pp_ctl.c
--- perl/pp_ctl.c#663~33022~ 2008-01-21 01:04:54.000000000 -0800
+++ perl/pp_ctl.c 2008-01-21 03:49:38.000000000 -0800
@@ -2999,9 +2999,9 @@
&& cLISTOPx(cUNOPx(PL_eval_root)->op_first)->op_last->op_type
== OP_REQUIRE)
scalar(PL_eval_root);
- else if (gimme & G_VOID)
+ else if ((gimme & G_WANT) == G_VOID)
scalarvoid(PL_eval_root);
- else if (gimme & G_ARRAY)
+ else if ((gimme & G_WANT) == G_ARRAY)
list(PL_eval_root);
else
scalar(PL_eval_root);
End of Patch.