summaryrefslogtreecommitdiff
path: root/emu/Nt/vlrt.c
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2008-07-03 13:47:22 +0000
committerCharles.Forsyth <devnull@localhost>2008-07-03 13:47:22 +0000
commitaf3b6167bf93b1526982d7adfc2d48b8f06432ae (patch)
treeba056c6d0cf02838741fba1834b680584159893e /emu/Nt/vlrt.c
parentfb67f84de5f6afd71842d1609df0f26d4c16f798 (diff)
20080703-1447
Diffstat (limited to 'emu/Nt/vlrt.c')
-rw-r--r--emu/Nt/vlrt.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/emu/Nt/vlrt.c b/emu/Nt/vlrt.c
index c9ef9c9a..43313a29 100644
--- a/emu/Nt/vlrt.c
+++ b/emu/Nt/vlrt.c
@@ -13,21 +13,8 @@
typedef struct Vlong Vlong;
struct Vlong
{
- union
- {
- struct
- {
- ulong lo;
- ulong hi;
- };
- struct
- {
- ushort lols;
- ushort loms;
- ushort hils;
- ushort hims;
- };
- };
+ ulong lo;
+ ulong hi;
};
void abort(void);
@@ -102,11 +89,11 @@ _mulv(Vlong *r, Vlong a, Vlong b)
void
_d2v(Vlong *y, double d)
{
- union { double d; struct Vlong; } x;
+ Vlong x;
ulong xhi, xlo, ylo, yhi;
int sh;
- x.d = d;
+ *(double*)&x = d;
xhi = (x.hi & 0xfffff) | 0x100000;
xlo = x.lo;