Check for PBX numbers in tel2name.
[utils.git] / tel2name
index 562b133..f9744bc 100755 (executable)
--- a/tel2name
+++ b/tel2name
@@ -25,9 +25,7 @@ sub yplookup {
        }
        push @matches, $match;
     }
-    for $match (@matches) {
-       print "$match\n";
-    }
+    return @matches;
 }
 
 sub wplookup {
@@ -49,9 +47,7 @@ sub wplookup {
        }
        push @matches, $match;
     }
-    for $match (@matches) {
-       print "$match\n";
-    }
+    return @matches;
 }
 
 $tel = $ARGV[0];
@@ -68,12 +64,27 @@ if(open NT, $ENV{"HOME"} . "/phone/nametab") {
 
 $yppid = open YP, "-|";
 if($yppid == 0) {
-    yplookup $tel;
+    $mod = 0;
+    bt: while(1) {
+       if(@matches = yplookup $tel) {
+           for $match (@matches) {
+               print $match;
+               print " ($tel)" if $mod;
+               print "\n";
+           }
+           last bt;
+       }
+       last bt if !($tel =~ /(.+)[^0](0*)$/);
+       $tel = $1 . "0" . $2;
+       $mod = 1;
+    }
     exit 0;
 }
 $wppid = open WP, "-|";
 if($wppid == 0) {
-    wplookup $tel;
+    for $match (wplookup $tel) {
+       print "$match\n";
+    }
     exit 0;
 }
 binmode(YP, ":utf8");