diff options
author | dcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db> | 2014-11-25 09:48:54 +0000 |
---|---|---|
committer | dcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db> | 2014-11-25 09:48:54 +0000 |
commit | b218cb3e17f8be5f35632629dc333354b8438719 (patch) | |
tree | b65008216a4eaf480298fa0151a14c55b38b49be | |
parent | 84c2256f6e81e08b9d8ac8af7276e960718c8fd5 (diff) |
Restore the JPP() and JMETHOD() macros. Even though libjpeg-turbo doesn't use them anymore, other software apparently does:
https://bugzilla.redhat.com/show_bug.cgi?id=1164815
https://bugs.kde.org/show_bug.cgi?id=340944
https://bugzilla.mozilla.org/show_bug.cgi?id=1093615
git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1431 632fc199-4ca6-4c93-a231-07263d6284db
-rw-r--r-- | ChangeLog.txt | 8 | ||||
-rw-r--r-- | jmorecfg.h | 10 | ||||
-rw-r--r-- | jpeglib.h | 10 |
3 files changed, 28 insertions, 0 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt index ac6aad3..bdb1708 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -52,6 +52,14 @@ were not actually usable on any platform except OS X and Windows, because those functions were not included in the libturbojpeg mapfile. This has been fixed. +[11] Restored the JPP() and JMETHOD() macros in the libjpeg-turbo header files. +libjpeg-turbo no longer supports compilers that don't support prototype +parameters, so the JPP() and JMETHOD() macros are no longer needed, but some +software packages still use them to define their own prototypes. A pretty +good argument can be made that this is a bad practice on the part of the +software in question, but since this affects more than one package, it's just +easier to fix it here. + 1.3.90 (1.4 beta1) ================== @@ -180,6 +180,16 @@ typedef unsigned int JDIMENSION; #define EXTERN(type) extern type +/* Originally, this macro was used as a way of defining function prototypes + * for both modern compilers as well as older compilers that did not support + * prototype parameters. libjpeg-turbo no longer supports these older + * compilers, but the macro is still included because there is some software + * out there that uses it. + */ + +#define JMETHOD(type,methodname,arglist) type (*methodname) arglist + + /* * On a few systems, type boolean and/or its values FALSE, TRUE may appear * in standard header files. Or you may have conflicts with application- @@ -875,6 +875,16 @@ struct jpeg_memory_mgr { typedef boolean (*jpeg_marker_parser_method) (j_decompress_ptr cinfo); +/* Originally, this macro was used as a way of defining function prototypes + * for both modern compilers as well as older compilers that did not support + * prototype parameters. libjpeg-turbo no longer supports these older + * compilers, but the macro is still included because there is some software + * out there that uses it. + */ + +#define JPP(arglist) arglist + + /* Default error-management setup */ EXTERN(struct jpeg_error_mgr *) jpeg_std_error (struct jpeg_error_mgr * err); |