From 9f171d3f9c52c9be5fa281d9b7d8ad7c22f66c27 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 4 Feb 2009 10:57:58 -0800 Subject: Vyatta::Config - don't use global handle for opendir Global file handles are trap waiting to happen. --- lib/Vyatta/Config.pm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/Vyatta/Config.pm b/lib/Vyatta/Config.pm index 86c8455..4b3690f 100755 --- a/lib/Vyatta/Config.pm +++ b/lib/Vyatta/Config.pm @@ -85,9 +85,9 @@ sub listNodes { } #print "DEBUG Vyatta::Config->listNodes(): path = $path\n"; - opendir DIR, "$path" or return (); - @nodes = grep !/^\./, readdir DIR; - closedir DIR; + opendir my $dir, "$path" or return (); + @nodes = grep !/^\./, readdir $dir; + closedir $dir; my @nodes_modified = (); while (@nodes) { @@ -120,9 +120,9 @@ sub listOrigNodes { } #print "DEBUG Vyatta::Config->listNodes(): path = $path\n"; - opendir DIR, "$path" or return (); - @nodes = grep !/^\./, readdir DIR; - closedir DIR; + opendir my $dir, "$path" or return (); + @nodes = grep !/^\./, readdir $dir; + closedir $dir; my @nodes_modified = (); while (@nodes) { @@ -155,9 +155,9 @@ sub listOrigNodesNoDef { } #print "DEBUG Vyatta::Config->listNodes(): path = $path\n"; - opendir DIR, "$path" or return (); - @nodes = grep !/^\./, readdir DIR; - closedir DIR; + opendir my $dir, "$path" or return (); + @nodes = grep !/^\./, readdir $dir; + closedir $dir; my @nodes_modified = (); while (@nodes) { @@ -484,9 +484,9 @@ sub hasTmplChildren { my $tpath = $self->getTmplPath($cfg_path_ref); return unless $tpath; - opendir(TDIR, $tpath) or return; - my @tchildren = grep !/^node\.def$/, (grep !/^\./, (readdir TDIR)); - closedir TDIR; + opendir (my $tdir, $tpath) or return; + my @tchildren = grep !/^node\.def$/, (grep !/^\./, (readdir $tdir)); + closedir $tdir; return (scalar(@tchildren) > 0); } -- cgit v1.2.3