*** empty log message ***
[m17n/m17n-test.git] / langname.c
1 #include <stdio.h>
2 #include <m17n.h>
3
4 int
5 main (int argc, char **argv)
6 {
7   MPlist *plist, *pl;
8   MSymbol utf8, lang, script, territory;
9
10   if (argc < 2)
11     {
12       fprintf (stderr, "Usage: langname LANG [SCRIPT [TERRITORY]]\n");
13       exit (1);
14     }
15
16   M17N_INIT ();
17   utf8 = msymbol ("utf-8");
18   lang = msymbol (argv[1]);
19   if (argc > 2)
20     {
21       script = msymbol (argv[2]);
22       if (argc > 3)
23         territory = msymbol (argv[3]);
24       else
25         territory = Mnil;
26     }
27   else
28     script = territory = Mnil;
29
30   plist = mlanguage_list ();
31   for (pl = plist; mplist_key (pl) != Mnil; pl = mplist_next (pl))
32     {
33       MSymbol target = (MSymbol) mplist_value (pl);
34       MPlist *p = mlanguage_name_list (lang, target, script, territory);
35
36       if (p)
37         {
38           printf ("%s:", msymbol_name (target));
39           mconv_encode_stream (utf8, (MText *) mplist_value (p), stdout);
40           putchar ('\n');
41         }
42     }
43   m17n_object_unref (plist);
44   M17N_FINI ();
45   exit (0);
46 }