Index: trunk/PS-IPP-Config/lib/PS/IPP/Metadata/Stats.pm
===================================================================
--- trunk/PS-IPP-Config/lib/PS/IPP/Metadata/Stats.pm	(revision 16917)
+++ trunk/PS-IPP-Config/lib/PS/IPP/Metadata/Stats.pm	(revision 17116)
@@ -1,5 +1,5 @@
 # Copyright (c) 2006  Paul Price, Joshua Hoblitt
 #
-# $Id: Stats.pm,v 1.25 2007-10-03 22:49:39 price Exp $
+# $Id: Stats.pm,v 1.26 2008-03-25 03:37:47 price Exp $
 
 package PS::IPP::Metadata::Stats;
@@ -89,5 +89,5 @@
 	my $type = $entry->{type};
 	my $data = $entry->{data};
-	
+
 	if ($type eq "constant") {
 	    if (not defined $entry->{value}) {
@@ -177,4 +177,20 @@
 
     return $self;
+}
+
+# Return 1 if a metadata item value is effectively NULL
+sub _is_null_for_type
+{
+    my ($item) = @_;		# Metadata item
+
+    return 1 unless defined $item->{type} and defined $item->{value};
+
+    if (($item->{type} eq "F32" or $item->{type} eq "F64") and lc($item->{value} eq 'nan')) {
+	return 1;
+    }
+    if ($item->{type} eq "STR" and lc($item->{value}) eq 'null') {
+	return 1;
+    }
+    return 0;
 }
 
@@ -225,5 +241,10 @@
     my $name = $mdItem->{name};        # Name of the item
     my $value = $mdItem->{value}; # Value of the item
-
+    
+    if ( _is_null_for_type($mdItem) and $mdItem->{class} eq 'scalar' ) {
+	print "Stats: Ignoring NULL entry $name\n";
+	return;
+    }
+	
     my $entries = $self->{entries};        # The data
 
