Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- The iconv-supporting code can now ask filtered_fwrite() to use
[rsync/rsync.git]
/
rsync.c
diff --git
a/rsync.c
b/rsync.c
index
b9db23b
..
48b2520
100644
(file)
--- a/
rsync.c
+++ b/
rsync.c
@@
-21,7
+21,7
@@
process */
#include "rsync.h"
process */
#include "rsync.h"
-#if defined HAVE_ICONV && defined HAVE_ICONV_H
+#if defined HAVE_ICONV
_OPEN
&& defined HAVE_ICONV_H
#include <iconv.h>
#endif
#if defined HAVE_LIBCHARSET_H && defined HAVE_LOCALE_CHARSET
#include <iconv.h>
#endif
#if defined HAVE_LIBCHARSET_H && defined HAVE_LOCALE_CHARSET
@@
-50,15
+50,18
@@
extern int keep_dirlinks;
extern int make_backups;
extern struct stats stats;
extern int make_backups;
extern struct stats stats;
-#if
def HAVE_ICONV
+#if
defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H
iconv_t ic_chck = (iconv_t)-1;
iconv_t ic_chck = (iconv_t)-1;
-static char *default_charset(void)
+static c
onst c
har *default_charset(void)
{
#if defined HAVE_LIBCHARSET_H && defined HAVE_LOCALE_CHARSET
return locale_charset();
#elif defined HAVE_LANGINFO_H && defined HAVE_NL_LANGINFO
{
#if defined HAVE_LIBCHARSET_H && defined HAVE_LOCALE_CHARSET
return locale_charset();
#elif defined HAVE_LANGINFO_H && defined HAVE_NL_LANGINFO
- return nl_langinfo(CODESET);
+ const char *def = nl_langinfo(CODESET);
+ if (strcmp(def, "646") == 0) /* Solaris brain-damage */
+ return "ASCII";
+ return def;
#else
return ""; /* Works with (at the very least) gnu iconv... */
#endif
#else
return ""; /* Works with (at the very least) gnu iconv... */
#endif
@@
-66,7
+69,7
@@
static char *default_charset(void)
void setup_iconv()
{
void setup_iconv()
{
- char *defset = default_charset();
+ c
onst c
har *defset = default_charset();
if (!am_server
&& (ic_chck = iconv_open(defset, defset)) == (iconv_t)-1) {
if (!am_server
&& (ic_chck = iconv_open(defset, defset)) == (iconv_t)-1) {