source: trunk/stdcode/msg.c@ 3

Last change on this file since 3 was 3, checked in by erdmann, 8 years ago

fixing 2 bugs in mmi_customdll.c, unpacking STDCODE.RAR into its own directory, removing all binaries (.obj, .exe) from repo

  • Property svn:eol-style set to native
File size: 4.3 KB
RevLine 
[3]1
2// ù Ä ÄÄÄÄÍÍ = Ä ù Ä = ÍÍÄÄÄÄ Ä ù
3// ³ ³
4// ÜÛÛÛÛÛÛÛÜ ÜÛÜ ÜÛÛÛÛÛÛÛÛÜ ú úÄÄÄÍÄÄÍÄÍÍÄÄÍÍÍÍÄÍÍÍÍÍÍÍÍÍÎÄ
5// ³ ÛÛÛÛßßßÛÛÛÛ ÛÛÛÛÛ ÛÛÛß ßÛÛÛ ³ MSG-Help Calls º
6// º ÛÛÛÛÜÜÜÛÛÛÛ ÛÛÛÛÛ ÛÛÛÜ ÜÛÛÛ º ú ÄÄÄÄÍÄÍÍÄÄÍÍÍÍÄÍÍÍÍÍÍÍÍÄÍÍÍÍÍÎÄ
7// º ÛÛÛÛÛÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛÛÛÛÛß º Section: MMOS/2 for eCS º
8// º ÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛ ÛÛÛÛ ßÛÛÛÛÜ º ³ Created: 28/10/02 º
9// ³ ßÛÛß ßÛÛß ßÛß ßÛÛß ßÛÛß ³ ³ Last Modified: ³
10// ÜÜÜ ³ Number Of Modifications: 000 ³
11// ù ÜÛÛß ù ³ INCs required: *none* ³
12// ÄÄÄÄÄÄÄ ÜÛÛß º Written By: Martin Kiewitz ³
13// ³ Ú¿Ú¿³ÜÛÛÛÜÜÛÛÛÜ ³ º (c) Copyright by ³
14// º ÀÙ³ÀÙßÛÛÛßßÜÛÛß º º AiR ON-Line Software '02 ú
15// º ÄÄÄÄÄÄÄ ÜÛÛÝ º º All rights reserved.
16// º ÜÛÛÛÄÄÄÄÄÄÄÄÄ º ÄÎÍÍÍÄÍÍÍÍÍÄÍÍÍÍÄÍÍÄÄÍÄÄÍÄÄÄúÄÄ ú
17// º ÜÛÛÛݳ ³Ú¿³³Ä º
18// ³ ÜÛÛÛÛ Àij³ÀÙ³Ä ³
19// ßÛÛÛÛÝÄÄÄÄÄÄÄÄÄÄ
20// ³ ßß ³
21// ù ÄŽ-=’iç éï-Liïî SéŸâW’çî=-ÃÄÄ ù
22
23
24#define INCL_NOPMAPI
25#define INCL_BASE
26#define INCL_DOSMODULEMGR
27#include <os2.h>
28#include <malloc.h>
29
30#include <global.h>
31#include <msg.h>
32
33PCHAR MSG_Filename = 0;
34CHAR MSG_Insert[5][MSG_INSERTMAXLEN] = {{0}};
35PCHAR MSG_InsertTable[9] = {(PCHAR)&MSG_Insert[0], (PCHAR)&MSG_Insert[1],
36 (PCHAR)&MSG_Insert[2], (PCHAR)&MSG_Insert[3],
37 (PCHAR)&MSG_Insert[4], 0, 0, 0, 0};
38
39BOOL MSG_Init (PSZ MsgFile) {
40 CHAR TempBuffer[1024];
41
42 MSG_Filename = MsgFile;
43 if (MSG_Get(TempBuffer, 1024, 0))
44 return TRUE;
45 printf ("%s not found, execution aborted.\n", MSG_Filename);
46 return FALSE;
47 }
48
49VOID MSG_Print (MSGID MessageID) {
50 CHAR TempBuffer[2048];
51 ULONG MessageLen = 0;
52
53 if (DosGetMessage(MSG_InsertTable, 5, TempBuffer, 2048, (ULONG)MessageID, MSG_Filename, &MessageLen))
54 return;
55 TempBuffer[MessageLen] = 0;
56 printf (TempBuffer);
57 }
58
59VOID MSG_fPrint (HFILE FileHandle, MSGID MessageID) {
60 CHAR TempBuffer[2048];
61 ULONG MessageLen = 0;
62 ULONG Written;
63
64 if (DosGetMessage(MSG_InsertTable, 5, TempBuffer, 2048, (ULONG)MessageID, MSG_Filename, &MessageLen))
65 return;
66 TempBuffer[MessageLen] = 0;
67 DosWrite (FileHandle, &TempBuffer, MessageLen, &Written);
68 }
69
70BOOL MSG_Get (PCHAR DestPtr, ULONG DestMaxLength, MSGID MessageID) {
71 ULONG MessageLen = 0;
72
73 if (DosGetMessage(MSG_InsertTable, 5, DestPtr, DestMaxLength, (ULONG)MessageID, MSG_Filename, &MessageLen))
74 return FALSE;
75 DestPtr[MessageLen] = 0;
76 return TRUE;
77 }
78
79BOOL MSG_FillInsert (ULONG InsertNo, MSGID MessageID) {
80 CHAR TempBuffer[MSG_INSERTMAXLEN];
81 ULONG MessageLen = 0;
82
83 if ((InsertNo==0) || (InsertNo>5)) return FALSE;
84 InsertNo--;
85 if (DosGetMessage(MSG_InsertTable, 5, TempBuffer, MSG_INSERTMAXLEN, (ULONG)MessageID, MSG_Filename, &MessageLen)) {
86 MSG_Insert[InsertNo][0] = 0;
87 return FALSE;
88 }
89 memcpy (&MSG_Insert[InsertNo], TempBuffer, MessageLen);
90 MSG_Insert[InsertNo][MessageLen] = 0;
91 return TRUE;
92 }
93
94BOOL MSG_SetInsertViaPSZ (ULONG InsertNo, PSZ String) {
95 ULONG StringLen = strlen(String);
96
97 if ((InsertNo==0) || (InsertNo>5)) return FALSE;
98 InsertNo--;
99 if (StringLen>=MSG_INSERTMAXLEN) StringLen = MSG_INSERTMAXLEN-1;
100 memcpy (MSG_Insert[InsertNo], String, StringLen);
101 MSG_Insert[InsertNo][StringLen] = 0;
102 return TRUE;
103 }
104
105BOOL MSG_SetInsertViaString (ULONG InsertNo, PCHAR StringPtr, ULONG StringLen) {
106 if ((InsertNo==0) || (InsertNo>5)) return FALSE;
107 InsertNo--;
108 if (StringLen>=MSG_INSERTMAXLEN) StringLen = MSG_INSERTMAXLEN-1;
109 memcpy (MSG_Insert[InsertNo], StringPtr, StringLen);
110 MSG_Insert[InsertNo][StringLen] = 0;
111 return TRUE;
112 }
113
114BOOL MSG_SetInsertFileLocation (ULONG InsertNo, PSZ FileName, ULONG LineNo) {
115 ULONG StringLen = strlen(FileName);
116
117 if ((InsertNo==0) || (InsertNo>5)) return FALSE;
118 InsertNo--;
119 if (StringLen>=(MSG_INSERTMAXLEN-6)) StringLen = MSG_INSERTMAXLEN-7;
120 memcpy (MSG_Insert[InsertNo], FileName, StringLen);
121 MSG_Insert[InsertNo][StringLen] = ':';
122 ultoa (LineNo, &MSG_Insert[InsertNo][StringLen+1], 10);
123 return TRUE;
124 }
Note: See TracBrowser for help on using the repository browser.