Merge branch 'v4' of /Users/jrmuizel/src/qcms-benoit/git/qcms into v4

Conflicts:
	iccread.c
diff --git a/iccread.c b/iccread.c
index fc9c86a..5662023 100644
--- a/iccread.c
+++ b/iccread.c
@@ -1132,6 +1132,15 @@
 
 static void mAB_release(struct lutmABType *lut)
 {
+	uint8_t i;
+
+	for (i = 0; i < lut->num_in_channels; i++){
+		free(lut->a_curves[i]);
+	}
+	for (i = 0; i < lut->num_out_channels; i++){
+		free(lut->b_curves[i]);
+		free(lut->m_curves[i]);
+	}
 	free(lut);
 }
 
diff --git a/transform_util.c b/transform_util.c
index bcc1a3e..04be323 100644
--- a/transform_util.c
+++ b/transform_util.c
@@ -12,6 +12,7 @@
 #endif
 
 #define PARAMETRIC_CURVE_TYPE 0x70617261 //'para'
+#define QCMS_NEGATIVE_INFINITY (-1.f/0.f)
 
 /* value must be a value between 0 and 1 */
 //XXX: is the above a good restriction to have?
@@ -127,7 +128,7 @@
                 c = 0;
                 e = 0;
                 f = 0;
-                interval = -INFINITY;
+                interval = QCMS_NEGATIVE_INFINITY;
         } else if(count == 1) {
                 a = parameter[1];
                 b = parameter[2];