Unified · Split
| @@ -1,3 +1,5 @@ | |||
| 1 | 20080703 | ||
| 2 | remove anonymous unions (and unused structs) from unpacking structures in emu/Nt/vlrt.c, not that it's used | ||
| 1 | 20080617 | 3 | 20080617 |
| 2 | win-x11a.c add sqweek's change to pass on KeyRelease values (but perhaps 1-byte values are no longer enough?) | 4 | win-x11a.c add sqweek's change to pass on KeyRelease values (but perhaps 1-byte values are no longer enough?) |
| 3 | 20080614 | 5 | 20080614 |
| @@ -13,21 +13,8 @@ · 12 unmodified lines | |||
| 13 | typedef struct Vlong Vlong; | 13 | typedef struct Vlong Vlong; |
| 14 | struct Vlong | 14 | struct Vlong |
| 15 | { | 15 | { |
| 16 | union | 16 | ulong lo; |
| 17 | { | 17 | ulong hi; |
| 18 | struct | ||
| 19 | { | ||
| 20 | ulong lo; | ||
| 21 | ulong hi; | ||
| 22 | }; | ||
| 23 | struct | ||
| 24 | { | ||
| 25 | ushort lols; | ||
| 26 | ushort loms; | ||
| 27 | ushort hils; | ||
| 28 | ushort hims; | ||
| 29 | }; | ||
| 30 | }; | ||
| 31 | }; | 18 | }; |
| 32 | 19 | ||
| 33 | void abort(void); | 20 | void abort(void); |
| @@ -102,11 +89,11 @@ _mulv(Vlong *r, Vlong a, Vlong b) · 68 unmodified lines | |||
| 102 | void | 89 | void |
| 103 | _d2v(Vlong *y, double d) | 90 | _d2v(Vlong *y, double d) |
| 104 | { | 91 | { |
| 105 | union { double d; struct Vlong; } x; | 92 | Vlong x; |
| 106 | ulong xhi, xlo, ylo, yhi; | 93 | ulong xhi, xlo, ylo, yhi; |
| 107 | int sh; | 94 | int sh; |
| 108 | 95 | ||
| 109 | x.d = d; | 96 | *(double*)&x = d; |
| 110 | 97 | ||
| 111 | xhi = (x.hi & 0xfffff) | 0x100000; | 98 | xhi = (x.hi & 0xfffff) | 0x100000; |
| 112 | xlo = x.lo; | 99 | xlo = x.lo; |
| @@ -1 +1 @@ | |||
| 1 | #define VERSION "Fourth Edition (20080629)" | 1 | #define VERSION "Fourth Edition (20080703)" |