Discussion:
[png-mng-implement] Microsoft suggests using abort() instead of ExitProcess(0)
Max Stepin
2017-02-17 13:28:51 UTC
Permalink
Their reasoning:

https://github.com/Microsoft/vcpkg/blob/master/docs/example-3-patch-libpng.md

What do you guys think?
Glenn Randers-Pehrson
2017-02-17 13:44:00 UTC
Permalink
They want to patch libpng/pngconf.h to fix their mistake, which is to
define _WINDOWS without
providing ExitProcess().

They reject the idea of passing PNG_ABORT=abort() just because.

Glenn
Post by Max Stepin
https://github.com/Microsoft/vcpkg/blob/master/docs/example-3-patch-libpng.md
What do you guys think?
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
png-mng-implement mailing list
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
Glenn Randers-Pehrson
2017-02-17 13:47:53 UTC
Permalink
BTW it seems that we've already gotten rid of ExitProcess() in libpng17,
and always use "abort()" by default if PNG_ABORT is undefined.

Glenn

On Fri, Feb 17, 2017 at 8:44 AM, Glenn Randers-Pehrson
Post by Glenn Randers-Pehrson
They want to patch libpng/pngconf.h to fix their mistake, which is to
define _WINDOWS without
providing ExitProcess().
They reject the idea of passing PNG_ABORT=abort() just because.
Glenn
Post by Max Stepin
https://github.com/Microsoft/vcpkg/blob/master/docs/example-3-patch-libpng.md
What do you guys think?
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
png-mng-implement mailing list
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
John Bowler
2017-02-17 17:44:22 UTC
Permalink
I agree completely with Glenn. The original code was there because at
least one official version of Windows (it might have been Windows CE)
had a defective C library which did not include a number of ISO C-90
functions.

There always was a better fix anyway; for OS implementations that do
not offer C-90 conformant library code write wrapper functions
specific to the OS and link with that. There are very very few, if
any, such operating systems these days.

John Bowler

Loading...