When non-Latin alphabet characters are encountered in weekday and month names, 
the English defaults are used.  This closes Debian bug #726125.

Also, numbers are now printed when encountered in weekday and month names 
(e.g., Swahili).
---
 wmtime/wmtime/wmtime.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/wmtime/wmtime/wmtime.c b/wmtime/wmtime/wmtime.c
index 85cfbba..6609b59 100644
--- a/wmtime/wmtime/wmtime.c
+++ b/wmtime/wmtime/wmtime.c
@@ -183,6 +183,7 @@ void get_lang(void)
                do {
                        ret = iconv(icd, &inp, &insize, &outp, &outsize);
                } while (outsize > 0 && ret > 0);
+               if (strstr(outbuf,"?") != NULL) return;
                for (outp = outbuf, outsize = 0; *outp != 0 && outsize < 2;
                    outp++, outsize++)
                        day_of_week[i][outsize] = toupper(*outp);
@@ -195,6 +196,7 @@ void get_lang(void)
                do {
                        ret = iconv(icd, &inp, &insize, &outp, &outsize);
                } while (outsize > 0 && ret > 0);
+               if (strstr(outbuf,"?") != NULL) return;
                for (outp = outbuf, outsize = 0; *outp != 0 && outsize < 3;
                    outp++, outsize++)
                        mon_of_year[i][outsize] = toupper(*outp);
@@ -413,7 +415,10 @@ void DrawDate(int wkday, int dom, int month) {
 
        k = 5;
        for (i=0; i<2; i++) {
-               copyXPMArea((*p-'A')*6, 74, 6, 9, k, 49);
+               if (*p < 'A') 
+                       copyXPMArea((*p-'0')*6, 64, 6, 9, k, 49);
+               else
+                       copyXPMArea((*p-'A')*6, 74, 6, 9, k, 49);
                k += 6;
                p++;
        }
@@ -426,7 +431,10 @@ void DrawDate(int wkday, int dom, int month) {
        copyXPMArea(61, 64, 4, 9, k, 49);
        k += 4;
        for (i=0; i<3; i++) {
-               copyXPMArea((*p-'A')*6, 74, 6, 9, k, 49);
+               if (*p < 'A') 
+                       copyXPMArea((*p-'0')*6, 64, 6, 9, k, 49);
+               else
+                       copyXPMArea((*p-'A')*6, 74, 6, 9, k, 49);
                k += 6;
                p++;
        }
-- 
1.8.1.2


-- 
To unsubscribe, send mail to [email protected].

Reply via email to