summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorJohn Peacock <jpeacock@rowman.com>2004-08-03 18:23:57 -0400
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2004-08-04 06:19:27 +0000
commitd7aa53827cc12fdf8a697328df844e16aaa58287 (patch)
tree3cdfee90125a42052b481afa420cd15c46d7b005 /sv.c
parent1be326de458e100f1527bf44371fc6d90f6f67fe (diff)
downloadperl-d7aa53827cc12fdf8a697328df844e16aaa58287.tar.gz
Final version object core patch?
Message-ID: <411048BD.3080700@rowman.com> p4raw-id: //depot/perl@23190
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sv.c b/sv.c
index 2cdebd66dc..e71c03c68b 100644
--- a/sv.c
+++ b/sv.c
@@ -9373,6 +9373,18 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
vecsv = svargs[efix ? efix-1 : svix++];
vecstr = (U8*)SvPVx(vecsv,veclen);
vec_utf8 = DO_UTF8(vecsv);
+ /* if this is a version object, we need to return the
+ * stringified representation (which the SvPVX has
+ * already done for us), but not vectorize the args
+ */
+ if ( *q == 'd' && sv_derived_from(vecsv,"version") )
+ {
+ q++; /* skip past the rest of the %vd format */
+ eptr = vecstr;
+ elen = strlen(eptr);
+ vectorize=FALSE;
+ goto string;
+ }
}
else {
vecstr = (U8*)"";