summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2014-09-12 21:55:58 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2014-09-13 19:16:09 -0400
commitb782b15af1ca1d6a80d661731448a42e12571efc (patch)
tree8d8e1f3dc984b2c387ae954bb325554d84600e05 /sv.c
parentf88c7f62044e3b2357ce5c704f70862516afbbae (diff)
downloadperl-b782b15af1ca1d6a80d661731448a42e12571efc.tar.gz
Untangle the fp value retrieval.
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/sv.c b/sv.c
index 8b84680212..149bbea952 100644
--- a/sv.c
+++ b/sv.c
@@ -11794,16 +11794,17 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN p
goto unknown;
}
- /* now we need (long double) if intsize == 'q', else (double) */
- fv = (args) ?
+ /* now we need (long double) if intsize == 'q', else (double) */
+ if (args) {
#if LONG_DOUBLESIZE > DOUBLESIZE
- intsize == 'q' ?
- va_arg(*args, long double) :
- va_arg(*args, double)
+ fv = intsize == 'q' ?
+ va_arg(*args, long double) : va_arg(*args, double);
#else
- va_arg(*args, double)
+ fv = va_arg(*args, double);
#endif
- : SvNV(argsv);
+ }
+ else
+ fv = SvNV(argsv);
need = 0;
/* frexp() (or frexpl) has some unspecified behaviour for