SOURCES: poldek-both_langs.patch (NEW) - show Polish descriptions in the pl...

witekfl witekfl at pld-linux.org
Tue Dec 9 21:59:51 CET 2008


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);
+     }
+ }
+ 
================================================================


More information about the pld-cvs-commit mailing list