Once again syncing after too long an absence
[p5sagit/p5-mst-13.2.git] / ext / Sys / Syslog / Syslog.pm
index c7ce3de..71f5b82 100644 (file)
@@ -264,7 +264,9 @@ sub xlate {
     $name = uc $name;
     $name = "LOG_$name" unless $name =~ /^LOG_/;
     $name = "Sys::Syslog::$name";
-    eval { &$name } || -1;
+    # Can't have just eval { &$name } || -1 because some LOG_XXX may be zero.
+    my $value = eval { &$name };
+    defined $value ? $value : -1;
 }
 
 sub connect {
@@ -274,8 +276,8 @@ sub connect {
        ($host) = $host_uniq =~ /([A-Za-z0-9_.-]+)/; # allow FQDN (inc _)
     }
     unless ( $sock_type ) {
-        my $udp = getprotobyname('udp');
-        my $syslog = getservbyname('syslog','udp');
+        my $udp = getprotobyname('udp')                 || croak "getprotobyname failed for udp";
+        my $syslog = getservbyname('syslog','udp')      || croak "getservbyname failed";
         my $this = sockaddr_in($syslog, INADDR_ANY);
         my $that = sockaddr_in($syslog, inet_aton($host) || croak "Can't lookup $host");
         socket(SYSLOG,AF_INET,SOCK_DGRAM,$udp)           || croak "socket: $!";