Mercurial > audlegacy
diff audacious/util.c @ 1613:9becbe564217 trunk
[svn] - chardet patch for Russian language witten by Valentine Sinitsyn.
author | yaz |
---|---|
date | Sat, 02 Sep 2006 08:24:10 -0700 |
parents | 705d4c089fce |
children | 6e477dd65024 |
line wrap: on
line diff
--- a/audacious/util.c Wed Aug 30 06:14:33 2006 -0700 +++ b/audacious/util.c Sat Sep 02 08:24:10 2006 -0700 @@ -58,6 +58,7 @@ #ifdef USE_CHARDET #include "../libguess/libguess.h" + #include "../librcd/librcd.h" #ifdef HAVE_UDET #include <libudet_c.h> #endif @@ -1469,6 +1470,24 @@ encoding = (char *)guess_kr(str, strlen(str)); if (!encoding) goto fallback; + } else if(!strncasecmp("russian", det, sizeof("russian"))) { + rcd_russian_charset res = rcdGetRussianCharset(str, strlen(str)); + switch(res) { + case RUSSIAN_CHARSET_WIN: + encoding = "CP1251"; + break; + case RUSSIAN_CHARSET_ALT: + encoding = "CP866"; + break; + case RUSSIAN_CHARSET_KOI: + encoding = "KOI8-R"; + break; + case RUSSIAN_CHARSET_UTF8: + encoding = "UTF-8"; + break; + } + if (!encoding) + goto fallback; #ifdef HAVE_UDET } else if (!strncasecmp("universal", det, sizeof("universal"))) { encoding = (char *)detectCharset((char *)str, strlen(str));