summaryrefslogtreecommitdiff
path: root/lang/perl5.16/files/patch-sv.c
diff options
context:
space:
mode:
authorSergey Skvortsov <skv@FreeBSD.org>2009-03-28 20:45:10 +0000
committerSergey Skvortsov <skv@FreeBSD.org>2009-03-28 20:45:10 +0000
commit1a9ef9fa6754e0c0f087f4e7a76e65029a75941c (patch)
treee0596dfc5254e65a6f3de0b5eb6d25f4ad08a7d0 /lang/perl5.16/files/patch-sv.c
parentUpdate to 20081128. Changes include: (diff)
Introduce Perl 5.10.0
Notes
Notes: svn path=/head/; revision=231213
Diffstat (limited to 'lang/perl5.16/files/patch-sv.c')
-rw-r--r--lang/perl5.16/files/patch-sv.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lang/perl5.16/files/patch-sv.c b/lang/perl5.16/files/patch-sv.c
index 4a4a6d840d26..5ee260a4b4bd 100644
--- a/lang/perl5.16/files/patch-sv.c
+++ b/lang/perl5.16/files/patch-sv.c
@@ -1,21 +1,21 @@
--- sv.c
+++ sv.c
-@@ -9813,7 +9813,8 @@ Perl_sv_dup(pTHX_ SV *sstr, CLONE_PARAMS* param)
+@@ -10421,7 +10421,8 @@ Perl_sv_dup(pTHX_ const SV *sstr, CLONE_PARAMS* param)
IoBOTTOM_NAME(dstr) = SAVEPV(IoBOTTOM_NAME(dstr));
break;
case SVt_PVAV:
- if (AvARRAY((AV*)sstr)) {
+ /* avoid cloning an empty array */
-+ if (AvARRAY((AV*)sstr) && AvFILLp((AV*)sstr) >= 0) {
++ if (AvARRAY((AV *)sstr) && AvFILLp((AV *)sstr) >= 0) {
SV **dst_ary, **src_ary;
SSize_t items = AvFILLp((AV*)sstr) + 1;
-@@ -9838,6 +9839,8 @@ Perl_sv_dup(pTHX_ SV *sstr, CLONE_PARAMS* param)
+@@ -10446,6 +10447,8 @@ Perl_sv_dup(pTHX_ const SV *sstr, CLONE_PARAMS* param)
else {
- SvPV_set(dstr, NULL);
+ AvARRAY((AV*)dstr) = NULL;
AvALLOC((AV*)dstr) = (SV**)NULL;
+ AvMAX( (AV *)dstr) = -1;
+ AvFILLp((AV *)dstr) = -1;
}
- AvARYLEN((AV*)dstr) = sv_dup_inc(AvARYLEN((AV*)sstr), param);
break;
+ case SVt_PVHV: