Blob Blame Raw
From 789b763bff1701ef31bd077ae49671dfe1c82a51 Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@redhat.com>
Date: Wed, 4 Sep 2013 17:13:49 +0200
Subject: [PATCH] Add support for LCMS version 2.x.

---
 dcraw.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/dcraw.c b/dcraw.c
index 96e3d1f..4b280b5 100644
--- a/dcraw.c
+++ b/dcraw.c
@@ -80,7 +80,13 @@ typedef unsigned long long UINT64;
 #include <jpeglib.h>		/* Decode compressed Kodak DC120 photos */
 #endif				/* and Adobe Lossy DNGs */
 #ifndef NO_LCMS
-#include <lcms.h>		/* Support color profiles */
+#ifdef USE_LCMS2
+#include <lcms2.h>		/* Support color profiles */
+#else
+#undef USE_LCMS1
+#define USE_LCMS1
+#include <lcms.h>
+#endif
 #endif
 #ifdef LOCALEDIR
 #include <libintl.h>
@@ -8581,6 +8587,15 @@ notraw:
 }
 
 #ifndef NO_LCMS
+#ifdef USE_LCMS2
+static void lcms2_error_show_handler (cmsContext ContextID,
+                                      cmsUInt32Number ErrorCode,
+                                      const char *Text)
+{
+  fprintf (stderr, "lcms2: Error #%d; %s\n", ErrorCode, Text);
+}
+#endif
+
 void CLASS apply_profile (const char *input, const char *output)
 {
   char *prof;
@@ -8589,7 +8604,11 @@ void CLASS apply_profile (const char *input, const char *output)
   FILE *fp;
   unsigned size;
 
+#ifdef USE_LCMS2
+  cmsSetLogErrorHandler (lcms2_error_show_handler);
+#else
   cmsErrorAction (LCMS_ERROR_SHOW);
+#endif
   if (strcmp (input, "embed"))
     hInProfile = cmsOpenProfileFromFile (input, "r");
   else if (profile_length) {
-- 
1.8.3.1