Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / programs / dtdocbook / xlate_locale / xlate_locale.c
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 #include <stdlib.h>
24 #include <stdio.h>
25 #include "LocaleXlate.h"
26 #include "XlationSvc.h"
27
28 int
29 main()
30 {
31 _DtXlateDb  myDb = NULL;
32 char        myPlatform[_DtPLATFORM_MAX_LEN+1];
33 char       *locale;
34 char       *newLocale;
35 int         execVer;
36 int         compVer;
37
38 locale = getenv("LANG");
39 if (!locale || (strcmp(locale, "C") == 0) || (strcmp(locale, "POSIX") == 0)) {
40      puts("C.ISO-8859-1");
41      exit(0);
42 }
43
44 if ((_DtLcxOpenAllDbs(&myDb) != 0) ||
45     (_DtXlateGetXlateEnv(myDb,myPlatform,&execVer,&compVer) != 0)) {
46     fprintf(stderr,
47             "Warning: could not open locale translation database.\n");
48     exit(1);
49 }
50
51 if (_DtLcxXlateOpToStd(myDb,
52                         myPlatform,
53                         execVer,
54                         DtLCX_OPER_SETLOCALE,
55                         locale,
56                         &newLocale,
57                         NULL,
58                         NULL,
59                         NULL)) {
60         fprintf(stderr,
61                 "Warning: could not translate local to CDE locale\n");
62 }
63
64 puts(newLocale);
65
66 _DtLcxCloseDb(&myDb);
67 }