summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorHugo van der Sanden <hv@crypt.org>2008-11-08 13:29:57 +0000
committerMarcus Holland-Moritz <mhx-perl@gmx.net>2008-11-09 04:22:15 +0000
commit53f65a9ef4a04e5ea5160b41d8a2658d35d8f4e5 (patch)
treebb4730c128ffb44ce052c2ff303525467a725bcc /sv.c
parent8d06e08c4f7bbcd6ede7e25da37c216be42278e5 (diff)
downloadperl-53f65a9ef4a04e5ea5160b41d8a2658d35d8f4e5.tar.gz
"Perl_newSVpvf("%lld")" is broken
Message-Id: <200811081329.mA8DTv7e018896@zen.crypt.org> Plus some test cases. p4raw-id: //depot/perl@34780
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/sv.c b/sv.c
index 65b62491f2..000cfd2158 100644
--- a/sv.c
+++ b/sv.c
@@ -9557,8 +9557,11 @@ Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
case 'l': iv = va_arg(*args, long); break;
case 'V': iv = va_arg(*args, IV); break;
default: iv = va_arg(*args, int); break;
+ case 'q':
#ifdef HAS_QUAD
- case 'q': iv = va_arg(*args, Quad_t); break;
+ iv = va_arg(*args, Quad_t); break;
+#else
+ goto unknown;
#endif
}
}
@@ -9569,8 +9572,11 @@ Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
case 'l': iv = (long)tiv; break;
case 'V':
default: iv = tiv; break;
+ case 'q':
#ifdef HAS_QUAD
- case 'q': iv = (Quad_t)tiv; break;
+ iv = (Quad_t)tiv; break;
+#else
+ goto unknown;
#endif
}
}
@@ -9642,8 +9648,11 @@ Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
case 'l': uv = va_arg(*args, unsigned long); break;
case 'V': uv = va_arg(*args, UV); break;
default: uv = va_arg(*args, unsigned); break;
+ case 'q':
#ifdef HAS_QUAD
- case 'q': uv = va_arg(*args, Uquad_t); break;
+ uv = va_arg(*args, Uquad_t); break;
+#else
+ goto unknown;
#endif
}
}
@@ -9654,8 +9663,11 @@ Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
case 'l': uv = (unsigned long)tuv; break;
case 'V':
default: uv = tuv; break;
+ case 'q':
#ifdef HAS_QUAD
- case 'q': uv = (Uquad_t)tuv; break;
+ uv = (Uquad_t)tuv; break;
+#else
+ goto unknown;
#endif
}
}
@@ -9941,8 +9953,11 @@ Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
default: *(va_arg(*args, int*)) = i; break;
case 'l': *(va_arg(*args, long*)) = i; break;
case 'V': *(va_arg(*args, IV*)) = i; break;
+ case 'q':
#ifdef HAS_QUAD
- case 'q': *(va_arg(*args, Quad_t*)) = i; break;
+ *(va_arg(*args, Quad_t*)) = i; break;
+#else
+ goto unknown;
#endif
}
}