--- color_space.pp_orig	2012-02-06 04:32:48 +1100
+++ color_space.pp	2012-02-05 22:26:42 +1100
@@ -426,10 +426,10 @@
 		/* construct white point */
 		double xyY[3] = { $w(d=>0), $w(d=>1), 1.0 };
 		double xyz_white[3];
-		xyY2xyz( &xyY, &xyz_white );
+		xyY2xyz( &xyY[0], &xyz_white[0] );
 
 		threadloop %{
-	        xyz2lab( $P(xyz), &xyz_white, $P(lab) );
+	        xyz2lab( $P(xyz), &xyz_white[0], $P(lab) );
 		%}
     ',
 	Doc => undef,
@@ -439,7 +439,7 @@
 		/* construct white point */
 		double xyY[3] = { $w(d=>0), $w(d=>1), 1.0 };
 		double xyz_white[3];
-		xyY2xyz( &xyY, &xyz_white );
+		xyY2xyz( &xyY[0], &xyz_white[0] );
 
 		threadloop %{
 			/* First check for bad values */
@@ -450,7 +450,7 @@
 				/* skip to the next xyz triple */
 			}
 			else {
-				xyz2lab( $P(xyz), &xyz_white, $P(lab) );
+				xyz2lab( $P(xyz), &xyz_white[0], $P(lab) );
 			}
 		%}
     ',
@@ -464,10 +464,10 @@
 		/* construct white point */
 		double xyY[3] = { $w(d=>0), $w(d=>1), 1.0 };
 		double xyz_white[3];
-		xyY2xyz( &xyY, &xyz_white );
+		xyY2xyz( &xyY[0], &xyz_white[0] );
 
 		threadloop %{
-	        lab2xyz( $P(lab), &xyz_white, $P(xyz) );
+	        lab2xyz( $P(lab), &xyz_white[0], $P(xyz) );
 		%}
     ',
 	Doc => undef,
@@ -477,7 +477,7 @@
 		/* construct white point */
 		double xyY[3] = { $w(d=>0), $w(d=>1), 1.0 };
 		double xyz_white[3];
-		xyY2xyz( &xyY, &xyz_white );
+		xyY2xyz( &xyY[0], &xyz_white[0] );
 
 		threadloop %{
 			/* First check for bad values */
@@ -488,7 +488,7 @@
 				/* skip to the next lab triple */
 			}
 			else {
-				lab2xyz( $P(lab), &xyz_white, $P(xyz) );
+				lab2xyz( $P(lab), &xyz_white[0], $P(xyz) );
 			}
 		%}
     ',
