2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
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)
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
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these libraries and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
23 /* $TOG: DtGetMessage.c /main/10 1998/07/30 12:12:25 mgreess $ */
25 * (c) Copyright 1995 Digital Equipment Corporation.
26 * (c) Copyright 1993, 1994, 1995 Hewlett-Packard Company
27 * (c) Copyright 1993, 1994, 1995 International Business Machines Corp.
28 * (c) Copyright 1993, 1994, 1995 Sun Microsystems, Inc.
29 * (c) Copyright 1993, 1994, 1995 Novell, Inc.
30 * (c) Copyright 1995 FUJITSU LIMITED.
31 * (c) Copyright 1995 Hitachi.
33 /******************************************************************************
35 * File Name: DtGetMessage.c
37 * Contains the function for getting localized strings.
39 *****************************************************************************/
41 #ifndef NO_MESSAGE_CATALOG
46 #include "DtSvcLock.h"
48 /*****************************************************************************
50 * Function: Dt11GetMessage
54 * char *filename - Filename to open.
56 * int set - The message catalog set number.
58 * int n - The message number.
60 * char *s - The default message if the message is not
61 * retrieved from a message catalog.
63 * Returns: the string for set 'set' and number 'n'.
65 *****************************************************************************/
76 static nl_catd nlmsg_fd;
77 static char *nlmsg_filename = NULL;
80 if ( NULL == nlmsg_filename || 0 != strcmp(nlmsg_filename, filename) )
82 nlmsg_fd = catopen(filename, NL_CAT_LOCALE);
86 nlmsg_filename = NULL;
88 nlmsg_filename = strdup(filename);
90 msg=catgets(nlmsg_fd,set,n,s);
91 _DtSvcProcessUnlock();