diff options
| author | François Andriot <francois.andriot@free.fr> | 2015-09-14 01:29:51 +0200 |
|---|---|---|
| committer | Slávek Banko <slavek.banko@axis.cz> | 2015-09-14 01:30:37 +0200 |
| commit | 44ada1e19e5ab531c223154ce5e523236f14c483 (patch) | |
| tree | 0a5390b1df48aca38b2a2aaf7f62b5c5f7edb2b0 /kernel/kls_dds/dds.cpp | |
| parent | ae5ba4db112a6398401197a4abd453cc909c71af (diff) | |
| download | libksquirrel-44ada1e19e5ab531c223154ce5e523236f14c483.tar.gz libksquirrel-44ada1e19e5ab531c223154ce5e523236f14c483.zip | |
Fix build warningsr14.0.2
Signed-off-by: François Andriot <francois.andriot@free.fr>
(cherry picked from commit 5fdf91b73be14ea616505bdd98c8002c94804172)
Diffstat (limited to 'kernel/kls_dds/dds.cpp')
| -rw-r--r-- | kernel/kls_dds/dds.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/kls_dds/dds.cpp b/kernel/kls_dds/dds.cpp index c5551f0..4205816 100644 --- a/kernel/kls_dds/dds.cpp +++ b/kernel/kls_dds/dds.cpp @@ -564,7 +564,12 @@ static void FREE_ROWS(RGBAP **A, const int H) void GetBits( uchar bit_array[16] ) { - uint b = (uint &) bits[0]; + // uint b = (uint &) bits[0]; + /* avoid a warning + * "dereferencing type-punned pointer will break strict-aliasing rules" + * TODO: check endianness issues (but that was probably broken anyway) */ + uint b; + memcpy(&b, &bits[0], sizeof(b)); bit_array[0] = uchar(b & 0x07); b >>= 3; bit_array[1] = uchar(b & 0x07); b >>= 3; bit_array[2] = uchar(b & 0x07); b >>= 3; @@ -574,7 +579,8 @@ static void FREE_ROWS(RGBAP **A, const int H) bit_array[6] = uchar(b & 0x07); b >>= 3; bit_array[7] = uchar(b & 0x07); b >>= 3; - b = (uint &) bits[3]; + // b = (uint &) bits[3]; + memcpy(&b, &bits[3], sizeof(b)); bit_array[8] = uchar(b & 0x07); b >>= 3; bit_array[9] = uchar(b & 0x07); b >>= 3; bit_array[10] = uchar(b & 0x07); b >>= 3; |
