1 /**************** RCMsg C Program Source Code File (.C) ****************/
2 /* PROGRAM NAME: RCMSG                                                 */
3 /* -------------                                                       */
4 /*  Version 1.3                                                        */
5 /*                                                                     */
6 /* COPYRIGHT                                                           */
7 /* ----------                                                          */
8 /*  (C) Copyright to the author Olivier BERTRAND:  2005 - 2014         */
9 /*                                                                     */
10 /* WHAT THIS PROGRAM DOES                                              */
11 /* -----------------------                                             */
12 /*  This program simulates LoadString.                                 */
13 /*                                                                     */
14 /***********************************************************************/
15 #if !defined(XMSG)
16 #include <stdio.h>
17 #include <string.h>
18 #include "resource.h"
19 #include "rcmsg.h"
20 #if defined(NEWMSG)
21 #include "msgid.h"
22 #endif   // NEWMSG
23 
24 #if !defined(_WIN32)
25 #define stricmp  strcasecmp
26 #endif   // !_WIN32
27 
28 char *msglang(void);
29 
GetMsgid(int id)30 const char *GetMsgid(int id)
31   {
32   const char *p = NULL;
33 
34   // This conditional until a real fix is found for MDEV-7304
35 #if defined(FRENCH)
36   if (!stricmp(msglang(), "french"))
37     switch (id) {
38 #include "frids.h"
39 #if defined(NEWMSG)
40 #include "frcas.h"
41 #endif   // NEWMSG
42     } // endswitch(id)
43 
44   else    // English
45 #endif   // FRENCH
46     switch (id) {
47 #include "enids.h"
48 #if defined(NEWMSG)
49 #include "encas.h"
50 #endif   // NEWMSG
51     } // endswitch(id)
52 
53   return p;
54   } // end of GetMsgid
55 
GetRcString(int id,char * buf,int bufsize)56 int GetRcString(int id, char *buf, int bufsize)
57   {
58   const char *p = NULL;
59   char msg[32];
60 
61   if (!(p = GetMsgid(id))) {
62     sprintf(msg, "ID=%d unknown", id);
63     p = msg;
64     } // endif p
65 
66   return sprintf(buf, "%.*s", bufsize-1, p);
67   } // end of GetRcString
68 
69 #endif // !XMSG
70