summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--emu/Nt/vlrt.c21
-rw-r--r--include/version.h2
3 files changed, 7 insertions, 18 deletions
diff --git a/CHANGES b/CHANGES
index 2021c38d..4da3ee4c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+20080703
+ remove anonymous unions (and unused structs) from unpacking structures in emu/Nt/vlrt.c, not that it's used
20080617
win-x11a.c add sqweek's change to pass on KeyRelease values (but perhaps 1-byte values are no longer enough?)
20080614
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;
diff --git a/include/version.h b/include/version.h
index d1ac9eb1..20122cdb 100644
--- a/include/version.h
+++ b/include/version.h
@@ -1 +1 @@
-#define VERSION "Fourth Edition (20080629)"
+#define VERSION "Fourth Edition (20080703)"