* Fix some new GCC 4.3 warnings
* Fix many many strict aliasing warnings, now that it's re-enabled
This commit is contained in:
1 parent
7c19978aaa
commit
72dea0a184
19 files changed
+220
-152
No files matched your search
@@ -50,7 +50,10 @@ void R_LoadBMP( const char *name, byte **pic, int *width, int *height )
|
||||
int row, column;
|
||||
byte *buf_p;
|
||||
byte *end;
|
||||
byte *buffer = NULL;
|
||||
union {
|
||||
byte *b;
|
||||
void *v;
|
||||
} buffer;
|
||||
int length;
|
||||
BMPHeader_t bmpHeader;
|
||||
byte *bmpRGBA;
|
||||
@@ -66,8 +69,8 @@ void R_LoadBMP( const char *name, byte **pic, int *width, int *height )
|
||||
//
|
||||
// load the file
|
||||
//
|
||||
length = ri.FS_ReadFile( ( char * ) name, (void **)&buffer);
|
||||
if (!buffer || length < 0) {
|
||||
length = ri.FS_ReadFile( ( char * ) name, &buffer.v);
|
||||
if (!buffer.b || length < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -76,8 +79,8 @@ void R_LoadBMP( const char *name, byte **pic, int *width, int *height )
|
||||
ri.Error( ERR_DROP, "LoadBMP: header too short (%s)\n", name );
|
||||
}
|
||||
|
||||
buf_p = buffer;
|
||||
end = buffer + length;
|
||||
buf_p = buffer.b;
|
||||
end = buffer.b + length;
|
||||
|
||||
bmpHeader.id[0] = *buf_p++;
|
||||
bmpHeader.id[1] = *buf_p++;
|
||||
@@ -119,12 +122,12 @@ void R_LoadBMP( const char *name, byte **pic, int *width, int *height )
|
||||
buf_p += sizeof(bmpHeader.palette);
|
||||
}
|
||||
|
||||
if (buffer + bmpHeader.bitmapDataOffset > end)
|
||||
if (buffer.b + bmpHeader.bitmapDataOffset > end)
|
||||
{
|
||||
ri.Error( ERR_DROP, "LoadBMP: invalid offset value in header (%s)\n", name );
|
||||
}
|
||||
|
||||
buf_p = buffer + bmpHeader.bitmapDataOffset;
|
||||
buf_p = buffer.b + bmpHeader.bitmapDataOffset;
|
||||
|
||||
if ( bmpHeader.id[0] != 'B' && bmpHeader.id[1] != 'M' )
|
||||
{
|
||||
@@ -231,6 +234,6 @@ void R_LoadBMP( const char *name, byte **pic, int *width, int *height )
|
||||
}
|
||||
}
|
||||
|
||||
ri.FS_FreeFile( buffer );
|
||||
ri.FS_FreeFile( buffer.v );
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user