]> Frank Brehm's Git Trees - scripts/solaris.git/commitdiff
Bugfixing bei to_int()
authorFrank Brehm <frank@brehm-online.com>
Wed, 29 Mar 2006 16:15:50 +0000 (16:15 +0000)
committerFrank Brehm <frank@brehm-online.com>
Wed, 29 Mar 2006 16:15:50 +0000 (16:15 +0000)
LogRotate/Common.pm

index d575fe6d6968ee6611ac39df8fdf265de4884c7b..34633132b0e7453e31761ba1175d409ed1cf04ea 100644 (file)
@@ -326,15 +326,15 @@ sub to_int($;$) {
   my $p = verbose() ? __PACKAGE__ . "::to_int(): " : "";
 
   return undef unless defined $val;
-  print $p . "aufgerufen mit '" . $val . "'.\n" if verbose() > 5;
+  print $p . "aufgerufen mit '" . $val . "' (" . ($signed ? 'mit' : 'ohne'). " Vorzeichen) .\n" if verbose() > 5;
   unless ( $val =~ /\d/ ) {
     return undef;
   }
 
   if ( $signed ) {
-    $val =~ s/.*((-\s*)?\d+).*/$1$2/;
+    $val =~ s/^[^\d-]*(?:(-)\s*)?(\d+)\D?.*?/$1$2/;
   } else {
-    $val =~ s/.*(\d+).*/$1/;
+    $val =~ s/^\D*(\d+)\D?.*$/$1/;
   }
   print $p . "Neuer Wert: '" . ( defined($val) ? $val : "<undef>" ) . "'.\n" if verbose() > 5;