X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/beef86d0dda124ca59005846049cf7d60efb69c7..d3d07a5e860f1cde0e234ec7a1aff7111a2c514f:/clientserver.c diff --git a/clientserver.c b/clientserver.c index 2d7c28ff..a3301117 100644 --- a/clientserver.c +++ b/clientserver.c @@ -3,7 +3,7 @@ * * Copyright (C) 1998-2001 Andrew Tridgell * Copyright (C) 2001-2002 Martin Pool - * Copyright (C) 2002-2007 Wayne Davison + * Copyright (C) 2002-2008 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -120,6 +120,10 @@ int start_socket_client(char *host, int remote_argc, char *remote_argv[], set_socket_options(fd, sockopts); +#ifdef ICONV_CONST + setup_iconv(); +#endif + ret = start_inband_exchange(fd, fd, user, remote_argc, remote_argv); return ret ? ret : client_run(fd, fd, -1, argc, argv); @@ -391,7 +395,7 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host) pid_t pre_exec_pid = 0; char *request = NULL; -#ifdef ICONV_CONST +#ifdef ICONV_OPTION iconv_opt = lp_charset(i); if (*iconv_opt) setup_iconv(); @@ -806,6 +810,7 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host) exit_cleanup(RERR_UNSUPPORTED); } +#ifdef ICONV_OPTION if (!iconv_opt) { if (ic_send != (iconv_t)-1) { iconv_close(ic_send); @@ -816,6 +821,7 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host) ic_recv = (iconv_t)-1; } } +#endif if (!numeric_ids && (use_chroot ? lp_numeric_ids(i) != False : lp_numeric_ids(i) == True))