summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2014-08-22 10:56:10 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2014-08-22 15:18:49 -0400
commitfc0f129beb8db78ea29e976328efbe5df2f7aaf8 (patch)
tree2e7d8ec6f83377f33980dddf4ab1c04ac279964b
parentd98292cc88b8c823e911dca3e59a28b3e3fd6fec (diff)
downloadperl-fc0f129beb8db78ea29e976328efbe5df2f7aaf8.tar.gz
If this format ever happens, it is probably left-aligned.
(Having unused bytes in the left/low/front makes no sense.)
-rwxr-xr-xConfigure3
-rw-r--r--sv.c5
2 files changed, 3 insertions, 5 deletions
diff --git a/Configure b/Configure
index ccc6df4a20..90094aaee5 100755
--- a/Configure
+++ b/Configure
@@ -6842,8 +6842,7 @@ int main() {
printf("3\n");
exit(0);
}
- if (b[LONGDBLSIZE - 11] == 0x00 && b[LONGDBLSIZE - 10] == 0xBF &&
- b[LONGDBLSIZE - 1] == 0xCD) {
+ if (b[0] == 0xBF && b[9] == 0xCD && b[10] == 0x00) {
/* is there ever big-endian 80-bit, really? */
printf("4\n");
exit(0);
diff --git a/sv.c b/sv.c
index 017ab87178..0de25950ab 100644
--- a/sv.c
+++ b/sv.c
@@ -10716,10 +10716,9 @@ S_hextract(pTHX_ const NV nv, int* exponent, U8* vhex, U8* vend)
HEXTRACT_COUNT(ix, 2);
}
# elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN
- /* The last 8 bytes are the mantissa/fraction.
- * (does this format ever happen?) */
+ /* (does this format ever happen?) */
/* There explicitly is *no* implicit bit in this case. */
- for (ix = LONGDBLSIZE - 8; ix < LONGDBLSIZE; ix++) {
+ for (ix = 0; ix < 8; ix++) {
if (vend)
HEXTRACT_OUTPUT(ix);
else