Fix a pair of warnings in stb_image.h
This commit is contained in:
parent
b1a0089c4b
commit
16c83cd5fc
75
stb_image.h
75
stb_image.h
@ -53,7 +53,7 @@ RECENT REVISION HISTORY:
|
|||||||
2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes
|
2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes
|
||||||
2.11 (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64
|
2.11 (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64
|
||||||
RGB-format JPEG; remove white matting in PSD;
|
RGB-format JPEG; remove white matting in PSD;
|
||||||
allocate large structures on the stack;
|
allocate large structures on the stack;
|
||||||
correct channel count for PNG & BMP
|
correct channel count for PNG & BMP
|
||||||
2.10 (2016-01-22) avoid warning introduced in 2.09
|
2.10 (2016-01-22) avoid warning introduced in 2.09
|
||||||
2.09 (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED
|
2.09 (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED
|
||||||
@ -96,7 +96,7 @@ RECENT REVISION HISTORY:
|
|||||||
Ryamond Barbiero Paul Du Bois Engin Manap github:snagar
|
Ryamond Barbiero Paul Du Bois Engin Manap github:snagar
|
||||||
Michaelangel007@github Oriol Ferrer Mesia Dale Weiler github:Zelex
|
Michaelangel007@github Oriol Ferrer Mesia Dale Weiler github:Zelex
|
||||||
Philipp Wiesemann Josh Tobin github:rlyeh github:grim210@github
|
Philipp Wiesemann Josh Tobin github:rlyeh github:grim210@github
|
||||||
Blazej Dariusz Roszkowski github:sammyhw
|
Blazej Dariusz Roszkowski github:sammyhw GrayHatter@uTox
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -267,11 +267,11 @@ RECENT REVISION HISTORY:
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
//
|
//
|
||||||
// ADDITIONAL CONFIGURATION
|
// ADDITIONAL CONFIGURATION
|
||||||
//
|
//
|
||||||
// - You can suppress implementation of any of the decoders to reduce
|
// - You can suppress implementation of any of the decoders to reduce
|
||||||
// your code footprint by #defining one or more of the following
|
// your code footprint by #defining one or more of the following
|
||||||
// symbols before creating the implementation.
|
// symbols before creating the implementation.
|
||||||
//
|
//
|
||||||
// STBI_NO_JPEG
|
// STBI_NO_JPEG
|
||||||
// STBI_NO_PNG
|
// STBI_NO_PNG
|
||||||
// STBI_NO_BMP
|
// STBI_NO_BMP
|
||||||
@ -281,11 +281,11 @@ RECENT REVISION HISTORY:
|
|||||||
// STBI_NO_HDR
|
// STBI_NO_HDR
|
||||||
// STBI_NO_PIC
|
// STBI_NO_PIC
|
||||||
// STBI_NO_PNM (.ppm and .pgm)
|
// STBI_NO_PNM (.ppm and .pgm)
|
||||||
//
|
//
|
||||||
// - You can request *only* certain decoders and suppress all other ones
|
// - You can request *only* certain decoders and suppress all other ones
|
||||||
// (this will be more forward-compatible, as addition of new decoders
|
// (this will be more forward-compatible, as addition of new decoders
|
||||||
// doesn't require you to disable them explicitly):
|
// doesn't require you to disable them explicitly):
|
||||||
//
|
//
|
||||||
// STBI_ONLY_JPEG
|
// STBI_ONLY_JPEG
|
||||||
// STBI_ONLY_PNG
|
// STBI_ONLY_PNG
|
||||||
// STBI_ONLY_BMP
|
// STBI_ONLY_BMP
|
||||||
@ -295,7 +295,7 @@ RECENT REVISION HISTORY:
|
|||||||
// STBI_ONLY_HDR
|
// STBI_ONLY_HDR
|
||||||
// STBI_ONLY_PIC
|
// STBI_ONLY_PIC
|
||||||
// STBI_ONLY_PNM (.ppm and .pgm)
|
// STBI_ONLY_PNM (.ppm and .pgm)
|
||||||
//
|
//
|
||||||
// - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still
|
// - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still
|
||||||
// want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB
|
// want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB
|
||||||
//
|
//
|
||||||
@ -1761,7 +1761,7 @@ static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h)
|
|||||||
// magnitude code followed by receive_extend code
|
// magnitude code followed by receive_extend code
|
||||||
int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits);
|
int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits);
|
||||||
int m = 1 << (magbits - 1);
|
int m = 1 << (magbits - 1);
|
||||||
if (k < m) k += (-1 << magbits) + 1;
|
if (k < m) k += (~0U << magbits) + 1;
|
||||||
// if the result is small enough, we can fit it in fast_ac table
|
// if the result is small enough, we can fit it in fast_ac table
|
||||||
if (k >= -128 && k <= 127)
|
if (k >= -128 && k <= 127)
|
||||||
fast_ac[i] = (stbi__int16) ((k << 8) + (run << 4) + (len + magbits));
|
fast_ac[i] = (stbi__int16) ((k << 8) + (run << 4) + (len + magbits));
|
||||||
@ -3594,6 +3594,7 @@ static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp
|
|||||||
|
|
||||||
static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri)
|
static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri)
|
||||||
{
|
{
|
||||||
|
(void)ri; // This unused warning is safe to ignore.
|
||||||
unsigned char* result;
|
unsigned char* result;
|
||||||
stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg));
|
stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg));
|
||||||
j->s = s;
|
j->s = s;
|
||||||
@ -4605,7 +4606,7 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp)
|
|||||||
s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)");
|
s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)");
|
||||||
z->depth = stbi__get8(s); if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return stbi__err("1/2/4/8/16-bit only","PNG not supported: 1/2/4/8/16-bit only");
|
z->depth = stbi__get8(s); if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return stbi__err("1/2/4/8/16-bit only","PNG not supported: 1/2/4/8/16-bit only");
|
||||||
color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG");
|
color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG");
|
||||||
if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG");
|
if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG");
|
||||||
if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG");
|
if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG");
|
||||||
comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG");
|
comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG");
|
||||||
filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG");
|
filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG");
|
||||||
@ -4888,7 +4889,7 @@ static void *stbi__bmp_parse_header(stbi__context *s, stbi__bmp_data *info)
|
|||||||
info->offset = stbi__get32le(s);
|
info->offset = stbi__get32le(s);
|
||||||
info->hsz = hsz = stbi__get32le(s);
|
info->hsz = hsz = stbi__get32le(s);
|
||||||
info->mr = info->mg = info->mb = info->ma = 0;
|
info->mr = info->mg = info->mb = info->ma = 0;
|
||||||
|
|
||||||
if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown");
|
if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown");
|
||||||
if (hsz == 12) {
|
if (hsz == 12) {
|
||||||
s->img_x = stbi__get16le(s);
|
s->img_x = stbi__get16le(s);
|
||||||
@ -4973,7 +4974,7 @@ static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req
|
|||||||
stbi__bmp_data info;
|
stbi__bmp_data info;
|
||||||
STBI_NOTUSED(ri);
|
STBI_NOTUSED(ri);
|
||||||
|
|
||||||
info.all_a = 255;
|
info.all_a = 255;
|
||||||
if (stbi__bmp_parse_header(s, &info) == NULL)
|
if (stbi__bmp_parse_header(s, &info) == NULL)
|
||||||
return NULL; // error code already set
|
return NULL; // error code already set
|
||||||
|
|
||||||
@ -5092,7 +5093,7 @@ static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req
|
|||||||
stbi__skip(s, pad);
|
stbi__skip(s, pad);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if alpha channel is all 0s, replace with all 255s
|
// if alpha channel is all 0s, replace with all 255s
|
||||||
if (target == 4 && all_a == 0)
|
if (target == 4 && all_a == 0)
|
||||||
for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4)
|
for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4)
|
||||||
@ -6537,7 +6538,7 @@ static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp)
|
|||||||
void *p;
|
void *p;
|
||||||
stbi__bmp_data info;
|
stbi__bmp_data info;
|
||||||
|
|
||||||
info.all_a = 255;
|
info.all_a = 255;
|
||||||
p = stbi__bmp_parse_header(s, &info);
|
p = stbi__bmp_parse_header(s, &info);
|
||||||
stbi__rewind( s );
|
stbi__rewind( s );
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
@ -7012,38 +7013,38 @@ This software is available under 2 licenses -- choose whichever you prefer.
|
|||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
ALTERNATIVE A - MIT License
|
ALTERNATIVE A - MIT License
|
||||||
Copyright (c) 2017 Sean Barrett
|
Copyright (c) 2017 Sean Barrett
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
the Software without restriction, including without limitation the rights to
|
the Software without restriction, including without limitation the rights to
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||||
of the Software, and to permit persons to whom the Software is furnished to do
|
of the Software, and to permit persons to whom the Software is furnished to do
|
||||||
so, subject to the following conditions:
|
so, subject to the following conditions:
|
||||||
The above copyright notice and this permission notice shall be included in all
|
The above copyright notice and this permission notice shall be included in all
|
||||||
copies or substantial portions of the Software.
|
copies or substantial portions of the Software.
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
ALTERNATIVE B - Public Domain (www.unlicense.org)
|
ALTERNATIVE B - Public Domain (www.unlicense.org)
|
||||||
This is free and unencumbered software released into the public domain.
|
This is free and unencumbered software released into the public domain.
|
||||||
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
|
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
|
||||||
software, either in source code form or as a compiled binary, for any purpose,
|
software, either in source code form or as a compiled binary, for any purpose,
|
||||||
commercial or non-commercial, and by any means.
|
commercial or non-commercial, and by any means.
|
||||||
In jurisdictions that recognize copyright laws, the author or authors of this
|
In jurisdictions that recognize copyright laws, the author or authors of this
|
||||||
software dedicate any and all copyright interest in the software to the public
|
software dedicate any and all copyright interest in the software to the public
|
||||||
domain. We make this dedication for the benefit of the public at large and to
|
domain. We make this dedication for the benefit of the public at large and to
|
||||||
the detriment of our heirs and successors. We intend this dedication to be an
|
the detriment of our heirs and successors. We intend this dedication to be an
|
||||||
overt act of relinquishment in perpetuity of all present and future rights to
|
overt act of relinquishment in perpetuity of all present and future rights to
|
||||||
this software under copyright law.
|
this software under copyright law.
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user