Commit b61665d5 authored by Wayne Davison's avatar Wayne Davison

Reposition the call to setup_iconv() so that it gets called only once

is a local_server copy, and so that arg-parsing code doesn't interfere
with the sending of a remote charset value.
parent 38943d29
......@@ -448,13 +448,16 @@ static pid_t do_cmd(char *cmd, char *machine, char *user, char **remote_argv, in
*f_out_p = from_gen_pipe[1];
*f_in_p = batch_fd;
ret = -1; /* no child pid */
setup_iconv();
} else if (local_server) {
/* If the user didn't request --[no-]whole-file, force
* it on, but only if we're not batch processing. */
if (whole_file < 0 && !write_batch)
whole_file = 1;
ret = local_child(argc, args, f_in_p, f_out_p, child_main);
setup_iconv();
} else {
setup_iconv();
if (protect_args) {
int fd;
#ifdef ICONV_OPTION
......@@ -1476,7 +1479,9 @@ int main(int argc,char *argv[])
if (write_batch < 0)
dry_run = 1;
if (am_daemon && !am_server)
if (am_server)
setup_iconv();
else if (am_daemon)
return daemon_main();
if (am_server && protect_args) {
......
......@@ -1249,7 +1249,6 @@ int parse_arguments(int *argc_p, const char ***argv_p, int frommain)
else
need_unsorted_flist = 1;
}
setup_iconv();
#endif
if (protect_args == 1) {
......
......@@ -144,6 +144,7 @@ pid_t local_child(int argc, char **argv, int *f_in, int *f_out,
close(to_child_pipe[0]);
if (from_child_pipe[1] != STDOUT_FILENO)
close(from_child_pipe[1]);
setup_iconv();
child_main(argc, argv);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment