summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xselftest/target/Samba3.pm18
1 files changed, 10 insertions, 8 deletions
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index e8a03e71dc..269601470e 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -12,15 +12,17 @@ use POSIX;
use target::Samba;
sub have_ads($) {
- my ($self);
+ my ($self) = @_;
my $found_ads = 0;
- my $smbd_build_options = Samba::bindir_path($self, "smbd") . " -b";
- my @build_options = `$smbd_build_options`;
- foreach my $option (@build_options) {
- if ($option =~ "WITH_ADS") {
- $found_ads = 1;
- }
- }
+ my $smbd_build_options = Samba::bindir_path($self, "smbd") . " -b|";
+ open(IN, $smbd_build_options) or die("Unable to run $smbd_build_options: $!");
+
+ while (<IN>) {
+ if (/WITH_ADS/) {
+ $found_ads = 1;
+ }
+ }
+ close IN;
# If we were not built with ADS support, pretend we were never even available
return $found_ads;