summaryrefslogtreecommitdiff
path: root/lang/perl5.14/files/patch-bug54758
diff options
context:
space:
mode:
authorSergey Skvortsov <skv@FreeBSD.org>2009-04-04 09:06:53 +0000
committerSergey Skvortsov <skv@FreeBSD.org>2009-04-04 09:06:53 +0000
commitd70143844849daaab2b798d1f12f92ba5037be3f (patch)
tree01e3fef15f2eb91721ec1e9ecc54d96ce294a67f /lang/perl5.14/files/patch-bug54758
parentupdate to 0.62.2 (diff)
Add several bugfixes, imported from maint-5.10
(i.e. will be included into forthcoming 5.10.1).
Notes
Notes: svn path=/head/; revision=231575
Diffstat (limited to 'lang/perl5.14/files/patch-bug54758')
-rw-r--r--lang/perl5.14/files/patch-bug5475829
1 files changed, 29 insertions, 0 deletions
diff --git a/lang/perl5.14/files/patch-bug54758 b/lang/perl5.14/files/patch-bug54758
new file mode 100644
index 000000000000..a969568a7e10
--- /dev/null
+++ b/lang/perl5.14/files/patch-bug54758
@@ -0,0 +1,29 @@
+# http://rt.perl.org/rt3/Public/Bug/Display.html?id=54758
+# http://perl5.git.perl.org/perl.git/commitdiff/62b40d2474e7487e6909e1872b6bccdf812c6818?hp=d49025b75d9b5002071bd1a4210654dab5663ef0#patch1
+diff --git a/pp_sort.c b/pp_sort.c
+index 9fe0dad..edfdadf 100644
+--- pp_sort.c
++++ pp_sort.c
+@@ -1557,11 +1557,12 @@ PP(pp_sort)
+ max = AvFILL(av) + 1;
+ if (SvMAGICAL(av)) {
+ MEXTEND(SP, max);
+- p2 = SP;
+ for (i=0; i < max; i++) {
+ SV **svp = av_fetch(av, i, FALSE);
+ *SP++ = (svp) ? *svp : NULL;
+ }
++ SP--;
++ p1 = p2 = SP - (max-1);
+ }
+ else {
+ if (SvREADONLY(av))
+@@ -1717,7 +1718,7 @@ PP(pp_sort)
+ SvREADONLY_off(av);
+ else if (av && !sorting_av) {
+ /* simulate pp_aassign of tied AV */
+- SV** const base = ORIGMARK+1;
++ SV** const base = MARK+1;
+ for (i=0; i < max; i++) {
+ base[i] = newSVsv(base[i]);
+ }