Index: trunk/psLib/src/imageops/psImageInterpolate.c
===================================================================
--- trunk/psLib/src/imageops/psImageInterpolate.c	(revision 12741)
+++ trunk/psLib/src/imageops/psImageInterpolate.c	(revision 12756)
@@ -7,6 +7,6 @@
  *  @author Paul Price, IfA
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-04-04 22:42:02 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-04-05 23:57:42 $
  *
  *  Copyright 2004-2007 Institute for Astronomy, University of Hawaii
@@ -95,5 +95,5 @@
                 *imageValue = options->image->data.TYPE[yInt][xInt]; \
             } \
-            if (varianceValue) { \
+            if (varianceValue && options->variance) { \
                 *varianceValue = options->variance->data.TYPE[yInt][xInt]; \
             } \
@@ -118,5 +118,5 @@
         }
 
-        if (maskValue) {
+        if (maskValue && options->mask) {
             *maskValue = options->mask->data.PS_TYPE_MASK_DATA[yInt][xInt];
         }
@@ -256,6 +256,6 @@
 
     // Check the mask value
-    if (maskValue) {
-        const psImage *mask = options->mask; // Image mask
+    const psImage *mask = options->mask; // Image mask
+    if (maskValue && mask) {
         psMaskType maskVal = options->maskVal; // Mask value
         double badValue = 0.0;          // Amount of flux in bad pixels
@@ -282,6 +282,6 @@
 
     // Finally, the variance
-    if (varianceValue) {
-        const psImage *variance = options->variance; // Image variance
+    const psImage *variance = options->variance; // Image variance
+    if (varianceValue && variance) {
         *varianceValue = 0.0;
 
@@ -469,6 +469,6 @@
 
     // Check the mask value
-    if (maskValue) {
-        const psImage *mask = options->mask; // Image mask
+    const psImage *mask = options->mask; // Image mask
+    if (maskValue && mask) {
         psMaskType maskVal = options->maskVal; // Mask value
         double badValue = 0.0;          // Amount of flux in bad pixels
@@ -499,6 +499,6 @@
 
     // Finally, the variance
-    if (varianceValue) {
-        const psImage *variance = options->variance; // Image variance
+    const psImage *variance = options->variance; // Image variance
+    if (varianceValue && variance) {
         *varianceValue = 0.0;
 
@@ -549,10 +549,10 @@
 
     PS_ASSERT_IMAGE_NON_NULL(image, false);
-    if (varianceValue) {
+    if (varianceValue && variance) {
         PS_ASSERT_IMAGE_NON_NULL(variance, false);
         PS_ASSERT_IMAGE_TYPE(variance, image->type.type, false);
         PS_ASSERT_IMAGES_SIZE_EQUAL(variance, image, false);
     }
-    if (maskValue) {
+    if (maskValue && mask) {
         PS_ASSERT_IMAGE_NON_NULL(mask, false);
         PS_ASSERT_IMAGE_TYPE(mask, PS_TYPE_MASK, false);
