Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37791135
en ru br
ALT Linux repos
S:1.2-alt1.1
5.0: 0.2.0-alt2
4.1: 0.2.0-alt1

Group :: System/Libraries
RPM: libguess

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: libguess-ds-cn.patch
Download


diff -dPNur libguess-0.2.0-d7/guess.c libguess-0.2.0-d7-new/guess.c
--- libguess-0.2.0-d7/guess.c	2006-12-05 17:59:32.000000000 +0100
+++ libguess-0.2.0-d7-new/guess.c	2007-06-26 19:56:59.000000000 +0200
@@ -44,7 +44,7 @@
 /* ORDER_** &highest, &second, ... &lowest */
 #define ORDER_JP &utf8, &sjis, &eucj
 #define ORDER_TW &utf8, &big5
-#define ORDER_CN &utf8, &gb2312, &gb18030
+#define ORDER_CN &utf8, &gb2312, &gb18030, &big5
 #define ORDER_KR &utf8, &euck, &johab
 
 /* workaround for that glib's g_convert can't convert
@@ -252,6 +252,8 @@
     guess_dfa gb2312 = DFA_INIT(guess_gb2312_st, guess_gb2312_ar);
     guess_dfa utf8 = DFA_INIT(guess_utf8_st, guess_utf8_ar);
     guess_dfa gb18030 = DFA_INIT(guess_gb18030_st, guess_gb18030_ar);
+    guess_dfa big5 = DFA_INIT(guess_big5_st, guess_big5_ar);
+
     guess_dfa *top = NULL;
 
     guess_dfa *order[] = { ORDER_CN, NULL };
@@ -287,22 +289,27 @@
         }
 
         if (DFA_ALIVE(gb2312)) {
-            if (!DFA_ALIVE(utf8) && !DFA_ALIVE(gb18030))
+            if (!DFA_ALIVE(utf8) && !DFA_ALIVE(gb18030) && !DFA_ALIVE(big5))
                 return "GB2312";
             DFA_NEXT(gb2312, c);
         }
         if (DFA_ALIVE(utf8)) {
-            if (!DFA_ALIVE(gb2312) && !DFA_ALIVE(gb18030))
+            if (!DFA_ALIVE(gb2312) && !DFA_ALIVE(gb18030) && !DFA_ALIVE(big5))
                 return "UTF-8";
             DFA_NEXT(utf8, c);
         }
         if (DFA_ALIVE(gb18030)) {
-            if (!DFA_ALIVE(utf8) && !DFA_ALIVE(gb2312))
+            if (!DFA_ALIVE(utf8) && !DFA_ALIVE(gb2312) && !DFA_ALIVE(big5))
                 return "GB18030";
             DFA_NEXT(gb18030, c);
         }
+        if (DFA_ALIVE(big5)) {
+            if (!DFA_ALIVE(utf8) && !DFA_ALIVE(gb2312) && !DFA_ALIVE(gb18030))
+                return "big5";
+            DFA_NEXT(big5, c);
+        }
 
-        if (!DFA_ALIVE(gb2312) && !DFA_ALIVE(utf8) && !DFA_ALIVE(gb18030)) {
+        if (!DFA_ALIVE(gb2312) && !DFA_ALIVE(utf8) && !DFA_ALIVE(gb18030) && !DFA_ALIVE(big5)) {
             /* we ran out the possibilities */
             return NULL;
         }
@@ -323,6 +330,8 @@
         return "UTF-8";
     if (top == &gb18030)
         return "GB18030";
+    if (top == &big5)
+        return "BIG5";
     return NULL;
 }
 
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin