for (my $i = 0; $i < @files; $i++)
{
my $file = $files[$i];
- my $key = $file->{'plugin_instance'} || '';
+ my $key1 = $file->{'hostname'} || '';
+ my $key2 = $file->{'plugin_instance'} || '';
+ my $key = "$key1-$key2";
$data->{$key} ||= [];
push (@{$data->{$key}}, $file);
my $recursive = @_ ? shift : 0;
my $dh;
my @directories = ();
+ my @files = ();
my $ret = [];
opendir ($dh, $dir) or die ("opendir ($dir): $!");
}
elsif (-f $entry)
{
- my $ident = filename_to_ident ($entry);
- if ($ident)
- {
- push (@$ret, $ident);
- }
+ push (@files, $entry);
}
}
closedir ($dh);
+ push (@$ret, map { filename_to_ident ($_) } sort (@files));
+
if ($recursive > 0)
{
for (@directories)
my $temp = get_files_from_directory ($_, $recursive - 1);
if ($temp && @$temp)
{
- push (@$ret, @$temp);
+ push (@$ret, @$temp);
}
}
}
{
next if ($entry =~ m/^\./);
next if (!-d "$data_dir/$entry");
+ next if (!-r "$data_dir/$entry" or !-x "$data_dir/$entry");
push (@ret, sanitize_hostname ($entry));
}
closedir ($dh);