115 lines
2.3 KiB
Diff
115 lines
2.3 KiB
Diff
--- perl-5.8.7/pp_sort.c.bz172587 2005-04-08 05:31:47.000000000 -0400
|
|
+++ perl-5.8.7/pp_sort.c 2005-11-07 12:57:07.000000000 -0500
|
|
@@ -1510,6 +1510,7 @@
|
|
|
|
if (gimme != G_ARRAY) {
|
|
SP = MARK;
|
|
+ EXTEND(SP,1);
|
|
RETPUSHUNDEF;
|
|
}
|
|
|
|
--- perl-5.8.7/pp_hot.c.bz172587 2005-04-22 10:12:27.000000000 -0400
|
|
+++ perl-5.8.7/pp_hot.c 2005-11-07 12:55:16.000000000 -0500
|
|
@@ -639,12 +639,12 @@
|
|
}
|
|
}
|
|
SP = ORIGMARK;
|
|
- PUSHs(&PL_sv_yes);
|
|
+ XPUSHs(&PL_sv_yes);
|
|
RETURN;
|
|
|
|
just_say_no:
|
|
SP = ORIGMARK;
|
|
- PUSHs(&PL_sv_undef);
|
|
+ XPUSHs(&PL_sv_undef);
|
|
RETURN;
|
|
}
|
|
|
|
--- perl-5.8.7/pp_sys.c.bz172587 2005-04-27 18:12:46.000000000 -0400
|
|
+++ perl-5.8.7/pp_sys.c 2005-11-07 13:03:39.000000000 -0500
|
|
@@ -429,13 +429,16 @@
|
|
SV *tmpsv;
|
|
char *tmps;
|
|
STRLEN len;
|
|
- if (SP - MARK != 1) {
|
|
+ if (SP - MARK > 1) {
|
|
dTARGET;
|
|
do_join(TARG, &PL_sv_no, MARK, SP);
|
|
tmpsv = TARG;
|
|
SP = MARK + 1;
|
|
- }
|
|
- else {
|
|
+ }
|
|
+ else if (SP == MARK ) {
|
|
+ tmpsv = &PL_sv_no;
|
|
+ EXTEND(SP, 1);
|
|
+ } else {
|
|
tmpsv = TOPs;
|
|
}
|
|
tmps = SvPV(tmpsv, len);
|
|
@@ -3517,7 +3520,7 @@
|
|
I32 value = (I32)apply(PL_op->op_type, MARK, SP);
|
|
|
|
SP = MARK;
|
|
- PUSHi(value);
|
|
+ XPUSHi(value);
|
|
RETURN;
|
|
#else
|
|
DIE(aTHX_ PL_no_func, "chown");
|
|
@@ -4127,7 +4130,7 @@
|
|
if (errno != EAGAIN) {
|
|
value = -1;
|
|
SP = ORIGMARK;
|
|
- PUSHi(value);
|
|
+ XPUSHi(value);
|
|
if (did_pipes) {
|
|
PerlLIO_close(pp[0]);
|
|
PerlLIO_close(pp[1]);
|
|
@@ -4176,7 +4179,7 @@
|
|
STATUS_CURRENT = -1;
|
|
}
|
|
}
|
|
- PUSHi(STATUS_CURRENT);
|
|
+ XPUSHi(STATUS_CURRENT);
|
|
RETURN;
|
|
}
|
|
if (did_pipes) {
|
|
@@ -4222,7 +4225,7 @@
|
|
STATUS_NATIVE_SET(value);
|
|
do_execfree();
|
|
SP = ORIGMARK;
|
|
- PUSHi(result ? value : STATUS_CURRENT);
|
|
+ XPUSHi(result ? value : STATUS_CURRENT);
|
|
#endif /* !FORK or VMS */
|
|
RETURN;
|
|
}
|
|
@@ -4275,7 +4278,7 @@
|
|
}
|
|
|
|
SP = ORIGMARK;
|
|
- PUSHi(value);
|
|
+ XPUSHi(value);
|
|
RETURN;
|
|
}
|
|
|
|
--- perl-5.8.7/pp.c.bz172587 2005-05-16 11:30:13.000000000 -0400
|
|
+++ perl-5.8.7/pp.c 2005-11-07 12:56:32.000000000 -0500
|
|
@@ -721,7 +721,7 @@
|
|
while (MARK < SP)
|
|
do_chop(TARG, *++MARK);
|
|
SP = ORIGMARK;
|
|
- PUSHTARG;
|
|
+ XPUSHTARG;
|
|
RETURN;
|
|
}
|
|
|
|
@@ -739,7 +739,7 @@
|
|
|
|
while (SP > MARK)
|
|
count += do_chomp(POPs);
|
|
- PUSHi(count);
|
|
+ XPUSHi(count);
|
|
RETURN;
|
|
}
|
|
|