summaryrefslogtreecommitdiff
path: root/vtysh
diff options
context:
space:
mode:
authorJoakim Tjernlund <Joakim.Tjernlund@transmode.se>2013-02-23 19:38:37 +0100
committerDavid Lamparter <equinox@opensourcerouting.org>2013-02-23 19:38:37 +0100
commit844ee10416c42debbfbc4d470eb2fe328e060977 (patch)
treea0e49697ba2079ea271b5003c36455e242827051 /vtysh
parent0e4303d3173ecc264b3ec39a863174670bbe2900 (diff)
vtysh: fix false lib path matching in extract.pl.in
The if ($file =~ /lib/) path matching logic is supposed to match Quagga's lib directory only but will match all path having lib in it such as /var/lib/jenkins/quagga/... Fix by matching both lib and file: lib/keychain.c etc. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'vtysh')
-rwxr-xr-xvtysh/extract.pl.in69
1 files changed, 34 insertions, 35 deletions
diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in
index 37763043..d323cdb0 100755
--- a/vtysh/extract.pl.in
+++ b/vtysh/extract.pl.in
@@ -90,41 +90,40 @@ foreach (@ARGV) {
$cmd =~ s/\s+$//g;
# $protocol is VTYSH_PROTO format for redirection of user input
- if ($file =~ /lib/) {
- if ($file =~ /keychain.c/) {
- $protocol = "VTYSH_RIPD";
- }
- if ($file =~ /routemap.c/) {
- $protocol = "VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD|VTYSH_ZEBRA";
- }
- if ($file =~ /filter.c/) {
- $protocol = "VTYSH_ALL";
- }
- if ($file =~ /plist.c/) {
- if ($defun_array[1] =~ m/ipv6/) {
- $protocol = "VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD|VTYSH_ZEBRA";
- } else {
- $protocol = "VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD|VTYSH_ZEBRA";
- }
- }
- if ($file =~ /distribute.c/) {
- if ($defun_array[1] =~ m/ipv6/) {
- $protocol = "VTYSH_RIPNGD";
- } else {
- $protocol = "VTYSH_RIPD";
- }
- }
- if ($file =~ /if_rmap.c/) {
- if ($defun_array[1] =~ m/ipv6/) {
- $protocol = "VTYSH_RIPNGD";
- } else {
- $protocol = "VTYSH_RIPD";
- }
- }
- if ($file =~ /vty.c/) {
- $protocol = "VTYSH_ALL";
- }
- } else {
+ if ($file =~ /lib\/keychain\.c$/) {
+ $protocol = "VTYSH_RIPD";
+ }
+ elsif ($file =~ /lib\/routemap\.c$/) {
+ $protocol = "VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD|VTYSH_ZEBRA";
+ }
+ elsif ($file =~ /lib\/filter\.c$/) {
+ $protocol = "VTYSH_ALL";
+ }
+ elsif ($file =~ /lib\/plist\.c$/) {
+ if ($defun_array[1] =~ m/ipv6/) {
+ $protocol = "VTYSH_RIPNGD|VTYSH_OSPF6D|VTYSH_BGPD|VTYSH_ZEBRA";
+ } else {
+ $protocol = "VTYSH_RIPD|VTYSH_OSPFD|VTYSH_BGPD|VTYSH_ZEBRA";
+ }
+ }
+ elsif ($file =~ /lib\/distribute\.c$/) {
+ if ($defun_array[1] =~ m/ipv6/) {
+ $protocol = "VTYSH_RIPNGD";
+ } else {
+ $protocol = "VTYSH_RIPD";
+ }
+ }
+ elsif ($file =~ /lib\/if_rmap\.c$/) {
+ if ($defun_array[1] =~ m/ipv6/) {
+ $protocol = "VTYSH_RIPNGD";
+ } else {
+ $protocol = "VTYSH_RIPD";
+ }
+ }
+ elsif ($file =~ /lib\/vty\.c$/) {
+ $protocol = "VTYSH_ALL";
+ }
+ else {
($protocol) = ($file =~ /^.*\/([a-z0-9]+)\/[a-zA-Z0-9_\-]+\.c$/);
$protocol = "VTYSH_" . uc $protocol;
}