Author: witekfl                      Date: Tue Dec  9 20:59:51 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- show Polish descriptions in the pl_PL locale.

---- Files affected:
SOURCES:
   poldek-both_langs.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/poldek-both_langs.patch
diff -u /dev/null SOURCES/poldek-both_langs.patch:1.1
--- /dev/null   Tue Dec  9 21:59:51 2008
+++ SOURCES/poldek-both_langs.patch     Tue Dec  9 21:59:45 2008
@@ -0,0 +1,60 @@
+--- poldek-0.30-cvs20080820.23/misc.c.old      2008-12-09 21:38:51.000000000 
+0100
++++ poldek-0.30-cvs20080820.23/misc.c  2008-12-09 21:38:54.000000000 +0100
+@@ -646,6 +646,14 @@ static char *cut_country_code (const cha
+     return newlang;
+ }
+ 
++
++static inline void n_array_push_check_dup(tn_array *langs, char *value)
++{
++    if (n_array_bsearch(langs, value) == NULL)
++      n_array_push(langs, n_strdup(value));
++      
++}
++
+ /*
+  * lang_match_avlangs:
+  *
+@@ -656,24 +664,36 @@ static char *cut_country_code (const cha
+ static inline void lang_match_avlangs(tn_array *avlangs, tn_array *r_langs,
+                                       const char *lang, int *has_C)
+ {
++    char lang_utf8[32];
+     char *cut = NULL;
+     
+     /* first try */
+     if (n_array_bsearch(avlangs, lang)) {
+-      if (strcmp(lang, "C") == 0)
++      if (strcmp(lang, "C") == 0) {
+           *has_C = 1;
+-      
+-      n_array_push(r_langs, n_strdup(lang));
++      } else {
++          n_snprintf(lang_utf8, sizeof(lang_utf8), "%s.UTF-8", lang);
++          if (n_array_bsearch(avlangs, lang_utf8)) {
++              n_array_push_check_dup(r_langs, lang_utf8);
++          }
++      }
++      n_array_push_check_dup(r_langs, lang);
+     }
+     
+     /* second try, without country code */
+     if ((cut = cut_country_code(lang))) {
+       if (n_array_bsearch(avlangs, cut)) {
+-          if (strcmp(cut, "C") == 0)
++          if (strcmp(cut, "C") == 0) {
+               *has_C = 1;
+-          
+-          n_array_push(r_langs, cut);
++          } else {
++                n_snprintf(lang_utf8, sizeof(lang_utf8), "%s.UTF-8", cut);
++              if (n_array_bsearch(avlangs, lang_utf8)) {
++                  n_array_push_check_dup(r_langs, lang_utf8);
++              }
++          }
++          n_array_push_check_dup(r_langs, cut);
+       }
++      free(cut);
+     }
+ }
+ 
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to