Belt-and-braces check
[irspy-moved-to-github.git] / lib / ZOOM / IRSpy / Utils.pm
index 82c7ece..de1e690 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Utils.pm,v 1.32 2007-05-11 13:54:42 mike Exp $
+# $Id: Utils.pm,v 1.36 2007-09-20 10:12:19 mike Exp $
 
 package ZOOM::IRSpy::Utils;
 
@@ -35,6 +35,7 @@ sub utf8param {
     die "utf8param() called with value '$value'" if defined $value;
 
     my $raw = $r->param($key);
+    return undef if !defined $raw;
     my $cooked = decode_utf8($raw);
     warn "converted '$raw' to '", $cooked, "'\n" if $cooked ne $raw;
     return $cooked;
@@ -204,6 +205,9 @@ sub irspy_identifier2target {
 sub _irspy_identifier2target {
     my($id) = @_;
 
+    confess "_irspy_identifier2target(): id is undefined"
+       if !defined $id;
+
     my($protocol, $target) = ($id =~ /(.*?):(.*)/);
     if (uc($protocol) eq "Z39.50") {
        return "tcp:$target";
@@ -253,8 +257,7 @@ sub modify_xml_document {
                    my $child = $node->firstChild();
                    if (ref $child && ref $child eq "XML::LibXML::Text") {
                        $old = $child->getData();
-                       print STDERR "child='$child', old=", _renderchars($old), "\n"
-                           if $key eq "title";
+                       #print STDERR "child='$child', old=", _renderchars($old), "\n" if $key eq "title";
                    }
                }
                next if $value eq $old;
@@ -263,7 +266,7 @@ sub modify_xml_document {
                my $child = new XML::LibXML::Text($value);
                $node->appendChild($child);
                push @changes, $ref;
-               print STDERR "Elem $key ($xpath): ", _renderchars($old), " -> '", _renderchars($value), "\n";
+               #print STDERR "Elem $key ($xpath): ", _renderchars($old), " -> '", _renderchars($value), "\n";
            } else {
                warn "unexpected node type $node";
            }
@@ -399,7 +402,7 @@ sub inheritance_tree {
 # This function is made available in xslt using the register_function call
 sub xslt_strcmp {
     my ($arg1, $arg2) = @_;
-    return ($arg1->to_literal()) cmp ($arg2->to_literal());
+    return "$arg1" cmp "$arg2";
 }