Index: /branches/czw_branch/20100427/ippTools/src/difftool.c
===================================================================
--- /branches/czw_branch/20100427/ippTools/src/difftool.c	(revision 28017)
+++ /branches/czw_branch/20100427/ippTools/src/difftool.c	(revision 28018)
@@ -735,24 +735,28 @@
 	}
 	// Set diffRun.software_ver to the appropriate value
-	if (!pxSetRunSoftware(config, "diffRun", "diff_id", diff_id, software_ver)) {
-	  psError(PS_ERR_UNKNOWN, false, "failed to set diffRun.software_ver for diff_id: %" PRId64,
-		  diff_id);
-	  psFree(output);
-	  if (!psDBRollback(config->dbh)) {
-	    psError(PS_ERR_UNKNOWN, false, "database error");
+	if (software_ver) {
+	  if (!pxSetRunSoftware(config, "diffRun", "diff_id", diff_id, software_ver)) {
+	    psError(PS_ERR_UNKNOWN, false, "failed to set diffRun.software_ver for diff_id: %" PRId64,
+		    diff_id);
+	    psFree(output);
+	    if (!psDBRollback(config->dbh)) {
+	      psError(PS_ERR_UNKNOWN, false, "database error");
+	    }
+	    return(false);
 	  }
-	  return(false);
 	}
 	// Set diffRun.maskfrac* to the appropriate values.
-	if (!pxSetRunMaskfrac(config, "diffRun", "diff_id", diff_id, maskfrac_npix, maskfrac_static,
-			      maskfrac_dynamic, maskfrac_magic, maskfrac_advisory)) {
-	  psError(PS_ERR_UNKNOWN, false, "failed to set diffRun.software_ver for diff_id: %" PRId64,
-		  diff_id);
-	  psFree(output);
-	  if (!psDBRollback(config->dbh)) {
-	    psError(PS_ERR_UNKNOWN, false, "database error");
+	if (maskfrac_npix) {
+	  if (!pxSetRunMaskfrac(config, "diffRun", "diff_id", diff_id, maskfrac_npix, maskfrac_static,
+				maskfrac_dynamic, maskfrac_magic, maskfrac_advisory)) {
+	    psError(PS_ERR_UNKNOWN, false, "failed to set diffRun.software_ver for diff_id: %" PRId64,
+		    diff_id);
+	    psFree(output);
+	    if (!psDBRollback(config->dbh)) {
+	      psError(PS_ERR_UNKNOWN, false, "database error");
+	    }
+	    return(false);
 	  }
-	  return(false);
-	}	
+	}
         // set diffRun.state to 'full'
         if (!setdiffRunState(config, diff_id, "full", magicked)) {
