1 #include <glib.h>
2 #include <glib/gi18n.h>
3 #include <locale.h>
4 #include "date-endian.h"
5
6 static int verbose = 0;
7
8 static void
print_endianess(const char * lang)9 print_endianess (const char *lang)
10 {
11 DateEndianess endianess;
12
13 if (lang != NULL) {
14 setlocale (LC_TIME, lang);
15 endianess = date_endian_get_for_lang (lang, verbose);
16 } else {
17 endianess = date_endian_get_default (verbose);
18 }
19 if (verbose)
20 g_print ("\t\t%s\n", date_endian_to_string (endianess));
21 }
22
main(int argc,char ** argv)23 int main (int argc, char **argv)
24 {
25 GDir *dir;
26 const char *name;
27
28 setlocale (LC_ALL, "");
29 bind_textdomain_codeset ("libc", "UTF-8");
30
31 if (argv[1] != NULL) {
32 verbose = 1;
33
34 if (g_str_equal (argv[1], "-c"))
35 print_endianess (NULL);
36 else
37 print_endianess (argv[1]);
38 return 0;
39 }
40
41 dir = g_dir_open ("/usr/share/i18n/locales/", 0, NULL);
42 if (dir == NULL) {
43 /* Try with /usr/share/locale/
44 * https://bugzilla.gnome.org/show_bug.cgi?id=646780 */
45 dir = g_dir_open ("/usr/share/locale/", 0, NULL);
46 if (dir == NULL) {
47 return 1;
48 }
49 }
50
51 while ((name = g_dir_read_name (dir)) != NULL)
52 print_endianess (name);
53
54 g_dir_close (dir);
55
56 return 0;
57 }
58