Subject: | STDOUT Redirection Problem in command method |
In the sub method $args variable is executed as a bash command. Not the $command variable. Therefore, the output and error data are not in @var array. The STDOUT redirection doen not happen.
Subject: | SmbClientParser_error_handling.patch |
--- ../../in_mefinod_blue/alte_entwicklung/lib/Filesys/SmbClientParser.pm 2004-04-14 23:52:54.000000000 +0200
+++ Filesys/SmbClientParser.pm 2014-06-27 11:44:11.447580423 +0200
@@ -34,6 +34,7 @@ package Filesys::SmbClientParser;
# - Update all exec command: add >&1 for Solaris output on STDERR
# - Add NT_STATUS_ message detection for error
+
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
@@ -553,8 +554,9 @@ sub byname {(lc $a->{name}) cmp (lc $b->
#------------------------------------------------------------------------------
sub command {
my ($self,$args,$command, $smbscript)=@_;
- $command.=" >&1";
- print " ==> SmbClientParser::command $args\n"
+ #$command.=" >&1";
+ $args .=" 2>&1";
+ print " ==> SmbClientParser::command->\$args $args\n" . " ==> SmbClientParser::command->\$command $command\n"
if ($self->{"DEBUG"} > 0);
my $er;
@@ -572,6 +574,7 @@ sub command {
my @var = `$pargs`;
my $var=join(' ',@var ) ;
+ #print " ==> SmbClientParser::command->\$var $var\n" if ($self->{"DEBUG"} > 0); #Zur Info
# Quick return if no answer
return 1 if (!$var);