Commit Graph

2173 Commits

Author SHA1 Message Date
Fabian Giesen ab69a04d0a Merge branch 'dev' of github.com:nothings/stb into dev 2021-07-07 01:30:58 -07:00
Fabian Giesen c38ec91d22 stb_divide: Fix integer overflow issues
We've established the signs of values before so we can carefully
jiggle the expressions to be guaranteed overflow-free; the tests
for <0 here were meant to check if the value was "still negative",
i.e. if the sum did not underflow below INT_MIN, and we can
rewrite that using algebra to be overflow-free.

We need an extra case in the Euclidean dvision for
INT_MIN / INT_MIN which is a bit annoying but trivial; finally,
for two's complement platforms, note that abs(x) = (x > 0) ? x : -x
does not work (since for x=INT_MIN, -x still gives INT_MIN),
but the equivalent formulation for _negative_ absolute value
(x < 0) ? x : -x is always in range and overflow-free, so
rewrite the relevant expressions using that negative absolute
value instead.

Fixes issue #741.
2021-07-07 01:27:15 -07:00
Sean Barrett fc5b791228 stb_truetype: fix SDF handling of multiple move_to commands in a row 2021-07-07 01:21:37 -07:00
Sean Barrett ca0e6d06d8 stb_c_lexer: don't define default macro definitions on non-implementation includes 2021-07-07 00:57:43 -07:00
Sean Barrett 84e7a4ae24 stb_c_lexer: fix NUL eof test so it compiles 2021-07-07 00:43:40 -07:00
Sean Barrett 08e4b18650 Merge branch 'dev' of https://github.com/nothings/stb into dev 2021-07-07 00:39:10 -07:00
Sean Barrett a32aeefd6b Merge branch 'patch-1' of https://github.com/t-mw/stb into dev 2021-07-07 00:34:43 -07:00
Sean Barrett 95372dc4f8 stb.h: fix bug in stb_readdir caused by change to stb_strncpy 2021-07-07 00:29:19 -07:00
Randy dcb1116f13 ossfuzz: improve code coverage
fix .gif pattern matching
add netpbm test images derived from the public domain pngsuite
added more image types (downloaded in Dockerfile)
2021-07-06 21:50:18 -07:00
Randy b77192742d oss-fuzz: integrate with CIFuzz 2021-07-06 21:47:13 -07:00
Devendranath Thadi 9f98546022 Travis-ci: added support for ppc64le 2021-07-06 21:45:40 -07:00
Fabian Giesen 6ca560c9af stb_image: Update documentation for de-iPhone flag
It's default off, not default on.

Fixes issue #651.
2021-07-06 21:40:31 -07:00
Fabian Giesen 15d2dc5c51 stb_tilemap_editor: Update contributors 2021-07-06 21:25:41 -07:00
Werner Stoop 77eedd4fcf stb_tilemap_editor: Several fixes.
Re-added calls to `stbte__hittest()`, fixed some compiler errors.
Also fixed some GCC warnings about unused variables when
STBTE__COLORPICKER and STBTE_ALLOW_LINK is not defined.
2021-07-06 21:24:25 -07:00
Fabian Giesen 21bfcbbc3d stb_tilemap_editor: Update version, credits 2021-07-06 21:07:34 -07:00
Rob Loach b18c989dc2 stb_tilemap_editor: Fix variable usage 2021-07-06 21:06:39 -07:00
Fabian Giesen 7e10880f53 stb_image: Update credits 2021-07-06 20:47:30 -07:00
Vladimír Vondruš 2c8cd33e2e stb_image: make unpremultiply and de-iPhone flags thread_local.
Follows the change done for vertical flipping in
eb48fbdced for these two options as well.
2021-07-06 20:46:41 -07:00
Fabian Giesen b691fc4305 stb_truetype: Remove dead assignments
Confirmed from the OpenType spec that there's nothing missing
here. (These were just annotations listing the total sizes of
the tables, but this is not used for anything here.)

Fixes issue #704.
2021-07-06 20:39:35 -07:00
ocornut 44f046af0c stb_textedit: Fix paste failure handling breaking undo stack
Could lead to freezes.

Fixes issue #734.
2021-07-06 20:30:55 -07:00
Fabian Giesen eb677dda6e stb_textedit: Update credit, version history 2021-07-06 20:25:16 -07:00
Louis Schnellbach 85bc8060be Support for Page Up/Down
(changes from ocornut/imgui/commit/ec945f44)
2021-07-06 20:23:26 -07:00
Fabian Giesen 76a0a00874 stb.h: _MSC_VER in readdir_raw -> _WIN32
For MinGW.
2021-07-06 20:19:51 -07:00
Fabian Giesen e817b4a998 stb_ds: Fix typos in docs. 2021-07-06 20:17:12 -07:00
Fabian Giesen ba5cc43d33 stb_truetype: Fix stbtt__solve_cubic comment 2021-07-06 20:10:22 -07:00
Fabian Giesen a5d989c358 stb_truetype: Tabs->spaces
Whitespace only.
2021-07-06 20:07:12 -07:00
Fabian Giesen 1e82fd4a4e stb_image: BMP v4/v5 header parsing fixes
As per MS's own docs, should ignore the r/g/b bitmasks in the
header unless BI_BITFIELDS compression is selected. Factor out
setting the default masks since that now exists in two branches.

Add some more checking for unsupported compression formats and
illegal bpp/compression combinations while I'm at it.

Fixes issue #783.
2021-07-04 22:17:57 -07:00
Fabian Giesen 17bc84e15d stb_image: stbi__bmp_info only rewind stream on error
To be consistent with the other info functions.

Fixes issue #892.
2021-07-04 21:47:13 -07:00
Fabian Giesen ab18d9b250 stb_image: Fix two bugs found via VC++ /analyze
Also fixes issue #366.
2021-07-04 21:42:44 -07:00
Fabian Giesen e5fd7f6ce0 stb: Remove stua entirely
As per issue 634, Stua "will be deleted from stb.h" soonish. That
was 3 years ago, which should be plenty of warning, and the
language has been de-facto orphaned and undocumented for a
good while longer than that.

Fixes issue #634.
2021-07-04 21:09:20 -07:00
Fabian Giesen 70136cd5f1 stb_vorbis: Change imdct_step3_inner_s_loop_ld654
Released Clang 12 generates bad code for the original loop in here.
While this is a compiler bug plain and simple, we still have to deal
with it.

This is related to the SLP vectorizer, and in particular the two
reverse subtracts in the butterflies for the second half to avoid
unary negates.

Use the more regular dataflow that has the unary negates in it
(we can at least fold one of them into a constant, namely for A2)
and introduce a few temporaries that also make alias analysis (and
possible block-level vectorization) a whole let easier while I'm at
it.

This fixes the codegen issues on Clang 12, which now produces a
working decoder, and I expect the single unary negate that we
actually gain per iteration of this loop is not a significant
perf concern. (There are bigger fish to fry here regardless.)

Fixes issue #1152.
2021-07-04 20:54:18 -07:00
Fabian Giesen 0d47d17002 stb_vorbis: Set error on open_memory with NULL data
"Unexpected EOF" seems like the closest match from the error
codes we have.

Fixes issue #1123.
2021-07-04 19:26:31 -07:00
Fabian Giesen 0def11ae17 stb_vorbis: Fix some unused variables.
Fixes issue #817.
2021-07-04 16:35:45 -07:00
Fabian Giesen 39a0641385 stb_vorbis: Clarify lifetime of pushdata *output buffers
Fixes issue #929.
2021-07-04 16:25:33 -07:00
Fabian Giesen d5613c9511 stb_vorbis: A few UB fixes.
Fixes issue #1018.
2021-07-04 16:19:46 -07:00
Fabian Giesen c817c9621e stb_vorbis: Add missing cast to uint to avoid UB
Fixes issue #574.
2021-07-04 16:12:32 -07:00
Fabian Giesen e31da438e8 stb_vorbis: Fix unused parameter warnings.
Some parameters do not get used, or only when certain config
defines are set. Explicitly mark them as unused to make compilers
happy.

Fixes issue #396.
2021-07-04 16:08:30 -07:00
Fabian Giesen 904ecbfc37 stb_vorbis: Remove spurious assignment to val
This is definitely unnecessary, or at least I can't find anything
in the Vorbis spec that would indicate anything special happening
here.

Fixes issue #816.
2021-07-04 03:15:43 -07:00
Fabian Giesen 5300d55277 stb_vorbis: Include alloca.h on Sun targets
See PR #1006.
2021-07-04 03:00:17 -07:00
morlad (iLeitgeb) 6fe053614c stb_vorbis: Fix memory leak in stb_vorbis
When start_decoder() fails it may already have allocated memory
for .vendor and/or .comment_list. Call vorbis_deinit() to free
any allocated memory.

Fixes issue #1051.
2021-07-04 02:52:24 -07:00
Fabian Giesen 2e3a6e8222 stb_vorbis: Move asserts around a bit
Not an actual bug, it just looked wonky, but this code runs
with code lengths that are verified to be in range (<32) by
the length-reading code. Anyway.

Fixes issue #901.
2021-07-04 02:43:00 -07:00
Johannes Schultz 3f671b870f stb_vorbis: rename BUFFER_SIZE macro to STB_BUFFER_SIZE
Fixes issue #1076.
2021-07-04 02:31:31 -07:00
Fabian Giesen a5e40739ac stb_image_write: Fix define tested for sprintf_s
Fixes issue 744.
2021-07-04 01:39:10 -07:00
Fabian Giesen ba3ba9b78c stb_image_write: Disable HDR writer completely in NO_STDIO build
Fixes issue #793, hopefully.
2021-07-04 01:39:10 -07:00
Fabian Giesen 76f55ac210 stb_image_write: STBI_WINDOWS_UTF8 -> STBIW_WINDOWS_UTF8
Fixes issue #925.
2021-07-04 01:39:10 -07:00
Fabian Giesen 81bcfa9043 stb_image_write: Remove tabs
Whitespace-only change.
2021-07-04 01:39:10 -07:00
Fabian Giesen 82f9950cea stb_image: Update credits 2021-07-04 01:39:10 -07:00
Eugene Golushkov db864a1e30 stb_image: fix building by MSVC for Windows 10 on ARM 2021-07-04 01:39:10 -07:00
Fabian Giesen 2506215e8a stb_image: Key Win32 UTF-8 support off _WIN32 not _MSC_VER
So that it also works on MinGW.

Fixes issue #729.
2021-07-04 01:39:10 -07:00
Fabian Giesen 991f1f6419 stb_image: Fix wrong buffer sizes passed to MultiByteToWideChar
Fixes issue #772.
2021-07-04 01:39:10 -07:00