The R Project SVN R

Rev

Rev 52128 | Rev 52799 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 52128 Rev 52753
Line 652... Line 652...
652
 
652
 
653
 
653
 
654
void * Riconv_open (const char* tocode, const char* fromcode)
654
void * Riconv_open (const char* tocode, const char* fromcode)
655
{
655
{
656
#if defined Win32 || __APPLE__
656
#if defined Win32 || __APPLE__
657
    const char *cp = "UTF-8";
-
 
658
# ifdef Win32
657
# ifdef Win32
-
 
658
    const char *cp = "ASCII";
659
#  ifndef SUPPORT_UTF8_WIN32 /* Always, at present */
659
#  ifndef SUPPORT_UTF8_WIN32 /* Always, at present */
660
    char to[20] = "";
660
    char to[20] = "";
661
    if (localeCP > 0) {snprintf(to, 20, "CP%d", localeCP); cp = to;}
661
    if (localeCP > 0) {snprintf(to, 20, "CP%d", localeCP); cp = to;}
662
#  endif
662
#  endif
663
# else /* __APPLE__ */
663
# else /* __APPLE__ */
-
 
664
    const char *cp = "UTF-8";
664
    if (latin1locale) cp = "ISO-8859-1";
665
    if (latin1locale) cp = "ISO-8859-1";
665
    else if (!utf8locale) cp = locale2charset(NULL);
666
    else if (!utf8locale) cp = locale2charset(NULL);
666
# endif
667
# endif
667
    if (!*tocode && !*fromcode) return iconv_open(cp, cp);
668
    if (!*tocode && !*fromcode) return iconv_open(cp, cp);
668
    if(!*tocode)  return iconv_open(cp, fromcode);
669
    if(!*tocode)  return iconv_open(cp, fromcode);