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