since the "lang" param has not worked, introduce a "keeplocale"
parameter instead.
the default behaviour is the same (set LC_ALL to 'C'), but we can use
the parameter to keep the locale from the host (eg. for the vncshell)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
my $output;
my $afterfork;
my $noerr;
+ my $keeplocale;
eval {
$afterfork = $param{$p};
} elsif ($p eq 'noerr') {
$noerr = $param{$p};
+ } elsif ($p eq 'keeplocale') {
+ $keeplocale = $param{$p};
} else {
die "got unknown parameter '$p' for run_command\n";
}
my $writer = $input && $input =~ m/^<&/ ? $input : IO::File->new();
my $error = IO::File->new();
- # try to avoid locale related issues/warnings
- my $lang = $param{lang} || 'C';
-
my $orig_pid = $$;
eval {
- local $ENV{LC_ALL} = $lang;
+ local $ENV{LC_ALL} = 'C' if !$keeplocale;
# suppress LVM warnings like: "File descriptor 3 left open";
local $ENV{LVM_SUPPRESS_FD_WARNINGS} = "1";