aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2014-11-25 09:48:54 +0000
committerdcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2014-11-25 09:48:54 +0000
commitb218cb3e17f8be5f35632629dc333354b8438719 (patch)
treeb65008216a4eaf480298fa0151a14c55b38b49be
parent84c2256f6e81e08b9d8ac8af7276e960718c8fd5 (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.txt8
-rw-r--r--jmorecfg.h10
-rw-r--r--jpeglib.h10
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)
==================
diff --git a/jmorecfg.h b/jmorecfg.h
index 36fe971..0ee8f50 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 27045a4..b708970 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);