Index: /trunk/PS-IPP-Config/lib/PS/IPP/Config.pm
===================================================================
--- /trunk/PS-IPP-Config/lib/PS/IPP/Config.pm	(revision 11399)
+++ /trunk/PS-IPP-Config/lib/PS/IPP/Config.pm	(revision 11400)
@@ -1,5 +1,5 @@
 # Copyright (c) 2006  Paul Price, Joshua Hoblitt
 #
-# $Id: Config.pm,v 1.23 2007-01-11 22:13:05 eugene Exp $
+# $Id: Config.pm,v 1.24 2007-01-30 00:41:06 price Exp $
 
 package PS::IPP::Config;
@@ -49,4 +49,9 @@
     my $camera = shift;		# Camera name
 
+    unless (defined $class) {
+	carp "Programming error";
+	exit($PS_EXIT_PROG_ERROR);
+    }
+
     # Get location of ipprc file
     my $name;			# Name of ipprc file
@@ -83,4 +88,9 @@
     my $self = shift;		# Configuration object
     my $name = shift;		# Camera name
+
+    unless (defined $self and defined $name) {
+	carp "Programming error";
+	exit($PS_EXIT_PROG_ERROR);
+    }
 
     my $camera_list = _mdLookupMD($self->{_ipprc}, 'CAMERAS'); # List of cameras
@@ -118,4 +128,9 @@
     my $name = shift;		# datapath name
 
+    unless (defined $self and defined $name) {
+	carp "Programming error";
+	exit($PS_EXIT_PROG_ERROR);
+    }
+
     my $path_list = _mdLookupMD($self->{_ipprc}, 'DATAPATH'); # List of paths
     my $pathname = _mdLookupStr($path_list, $name); # Path of interest
@@ -129,4 +144,9 @@
     my $self = shift;		# Configuration object
     my $name = shift;		# raw name
+
+    unless (defined $self and defined $name) {
+	carp "Programming error";
+	exit($PS_EXIT_PROG_ERROR);
+    }
 
     my $uri = URI->new($name) or die "Unable to parse URI: $name\n"; # URI
@@ -163,4 +183,9 @@
     my $self = shift;		# Configuration object
     my $name = shift;		# raw name
+
+    unless (defined $self and defined $name) {
+	carp "Programming error";
+	exit($PS_EXIT_PROG_ERROR);
+    }
 
     $name = File::Spec->canonpath( $name); # Clean up
@@ -214,4 +239,9 @@
     my $filter = shift;		# Filter name, for extra qualification; optional
 
+    unless (defined $self and defined $name and defined $type) {
+	carp "Programming error";
+	exit($PS_EXIT_PROG_ERROR);
+    }
+
     my $camera = $self->{camera}; # Camera configuration
     unless (defined $camera) {
@@ -267,4 +297,9 @@
     my $component = shift;	# For replacing {CHIP.NAME} and {CELL.NAME}
 
+    unless (defined $self and defined $name and defined $output) {
+	carp "Programming error";
+	exit($PS_EXIT_PROG_ERROR);
+    }
+
     my $camera = $self->{camera}; # Camera configuration
     unless (defined $camera) {
@@ -292,6 +327,12 @@
 
     $filename =~ s/\{OUTPUT\}/$output/;
-    $filename =~ s/\{CHIP\.NAME\}/$component/;
-    $filename =~ s/\{CELL\.NAME\}/$component/;
+    if ($filename =~ /\{CHIP\.NAME\}/) {
+	unless (defined $component) {
+	    carp "Programming error";
+	    exit($PS_EXIT_PROG_ERROR);
+	}
+	$filename =~ s/\{CHIP\.NAME\}/$component/;
+	$filename =~ s/\{CELL\.NAME\}/$component/;
+    }
 
     return $filename;
@@ -321,4 +362,9 @@
     my $name = shift;		# Name of item to look up
 
+    unless (defined $mdc and defined $name) {
+	carp "Programming error";
+	exit($PS_EXIT_PROG_ERROR);
+    }
+
     # Iterate through the array of hashes
     foreach my $item (@$mdc) {
@@ -339,4 +385,9 @@
     my $name = shift;		# Name of item to look ip
 
+    unless (defined $mdc and defined $name) {
+	carp "Programming error";
+	exit($PS_EXIT_PROG_ERROR);
+    }
+
     # Iterate through the array of hashes
     foreach my $item (@$mdc) {
@@ -357,4 +408,9 @@
     my $mdc = shift;		# Metadata config to look up
     my $name = shift;		# Name of item to look ip
+
+    unless (defined $mdc and defined $name) {
+	carp "Programming error";
+	exit($PS_EXIT_PROG_ERROR);
+    }
 
     # Iterate through the array of hashes
