aboutsummaryrefslogtreecommitdiff
path: root/src/parseTools.js
diff options
context:
space:
mode:
authorAlon Zakai <azakai@mozilla.com>2010-12-28 20:36:23 -0800
committerAlon Zakai <azakai@mozilla.com>2010-12-28 20:36:23 -0800
commit7b0c30e6ad8c660e861bd2e4490e043ebc18c54d (patch)
tree0534e150d37fb7fb62b445514a3f19bf9b857f5f /src/parseTools.js
parent5b7fda278c5f613835ea1a84ef0b39baa4e87936 (diff)
minimal support for 80-bit x87 floats
Diffstat (limited to 'src/parseTools.js')
-rw-r--r--src/parseTools.js3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/parseTools.js b/src/parseTools.js
index 5f94b5cc..1764773b 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -397,6 +397,9 @@ function _IntToHex(x) {
function IEEEUnHex(stringy) {
stringy = stringy.substr(2); // leading '0x';
+ if (stringy.replace(/0/g, '') === '') return 0;
+ while (stringy.length < 16) stringy = '0' + stringy;
+ assert(stringy.length === 16, 'Can only undex 16-digit double numbers, nothing platform-specific');
var top = eval('0x' + stringy[0]);
var neg = !!(top & 8); // sign
if (neg) {