diff --git a/ChangeLog.txt b/ChangeLog.txt index ac6aad33..bdb1708f 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) ================== diff --git a/jmorecfg.h b/jmorecfg.h index 36fe9714..0ee8f502 100644 --- a/jmorecfg.h +++ b/jmorecfg.h @@ -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- diff --git a/jpeglib.h b/jpeglib.h index 27045a42..b7089706 100644 --- a/jpeglib.h +++ b/jpeglib.h @@ -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);