Changeset 237


Ignore:
Timestamp:
May 29, 2009, 8:29:38 AM (16 years ago)
Author:
Herwig Bauernfeind
Message:

Fix for Ticket #85 (by diver) in 3.2 branch

Location:
branches/samba-3.2.x/source
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified branches/samba-3.2.x/source/lib/charcnv.c

    r234 r237  
    5656{
    5757        const char *ret = NULL;
    58 
     58#ifndef __OS2__
    5959        if (ch == CH_UTF16LE) ret = "UTF-16LE";
    6060        else if (ch == CH_UTF16BE) ret = "UTF-16BE";
     61#else
     62        if (ch == CH_UTF16LE) ret = "IBM-1200";
     63        else if (ch == CH_UTF16BE) ret = "IBM-1200";
     64#endif
    6165        else if (ch == CH_UNIX) ret = lp_unix_charset();
    6266        else if (ch == CH_DOS) ret = lp_dos_charset();
     
    8993
    9094        if (!ret || !*ret) ret = "ASCII";
     95        DEBUG(10, ("codepage: %s\n",ret));
    9196        return ret;
    9297}
     
    391396                return 0;
    392397
     398//      DEBUG(10, ("convert_string: 1"));
     399
    393400        if (from != CH_UTF16LE && from != CH_UTF16BE && to != CH_UTF16LE && to != CH_UTF16BE) {
    394401                const unsigned char *p = (const unsigned char *)src;
     
    398405                unsigned char lastp = '\0';
    399406                size_t retval = 0;
     407
     408//      DEBUG(10, ("convert_string: 2"));
    400409
    401410                /* If all characters are ascii, fast path here. */
     
    430439                }
    431440                return retval;
     441//              DEBUG(10, ("convert_string: 3"));
     442
    432443        } else if (from == CH_UTF16LE && to != CH_UTF16LE) {
    433444                const unsigned char *p = (const unsigned char *)src;
     
    470481                }
    471482                return retval;
     483//              DEBUG(10, ("convert_string: 4"));
     484
    472485        } else if (from != CH_UTF16LE && from != CH_UTF16BE && to == CH_UTF16LE) {
    473486                const unsigned char *p = (const unsigned char *)src;
     
    614627
    615628 again:
     629        DEBUG(10,("convert_string_internal: convert_string(%s,%s): srclen=%u destlen=%u\n",
     630        charset_name(from), charset_name(to),
     631        (unsigned int)srclen, (unsigned int)destlen));
    616632
    617633        retval = smb_iconv(descriptor,
  • TabularUnified branches/samba-3.2.x/source/param/loadparm.c

    r235 r237  
    46134613        string_set(&Globals.unix_charset, DEFAULT_UNIX_CHARSET);
    46144614#else
    4615         /* On OS/2, using UTF8 causes problems with display of foreign characters - default to SYSTEM codepage */
    4616         string_set(&Globals.unix_charset, "SYSTEM");
     4615        /* On OS/2, using UTF8 causes problems with display of foreign
     4616           characters - default to IBM-850 codepage */
     4617        string_set(&Globals.unix_charset, "IBM-850");
    46174618#endif
    46184619
     
    46204621        /* If the system supports nl_langinfo(), try to grab the value
    46214622           from the user's locale */
     4623#ifndef __OS2__
     4624        /* this does somehow not work on OS/2 */
    46224625        string_set(&Globals.display_charset, "LOCALE");
     4626#else
     4627        /* On OS/2, using UTF8 causes problems with display of foreign
     4628           characters - default to IBM-850 codepage */
     4629        string_set(&Globals.display_charset, "IBM-850");
     4630#endif 
     4631
    46234632#else
    46244633        string_set(&Globals.display_charset, DEFAULT_DISPLAY_CHARSET);
    46254634#endif
    46264635
     4636#ifndef __OS2__
    46274637        /* Use codepage 850 as a default for the dos character set */
    46284638        string_set(&Globals.dos_charset, DEFAULT_DOS_CHARSET);
     4639#else
     4640        /* On OS/2, using UTF8 causes problems with display of foreign
     4641           characters - default to IBM-850 codepage */
     4642        string_set(&Globals.dos_charset, "IBM-850");
     4643#endif
     4644        /*
    46294645
    46304646        /*
Note: See TracChangeset for help on using the changeset viewer.