MCPcopy Create free account
hub / github.com/NetHack/NetHack / onMSNHCommand

Function onMSNHCommand

win/win32/mhtext.c:188–234  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

186}
187
188void
189onMSNHCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
190{
191 PNHTextWindow data;
192
193 data = (PNHTextWindow) GetWindowLongPtr(hWnd, GWLP_USERDATA);
194 switch (wParam) {
195 case MSNH_MSG_PUTSTR: {
196 PMSNHMsgPutstr msg_data = (PMSNHMsgPutstr) lParam;
197 TCHAR wbuf[BUFSZ];
198 size_t text_size;
199
200 if (!data->window_text) {
201 text_size = strlen(msg_data->text) + 4;
202 data->window_text =
203 (TCHAR *) malloc(text_size * sizeof(data->window_text[0]));
204 if (data->window_text) {
205 ZeroMemory(data->window_text,
206 text_size * sizeof(data->window_text[0]));
207 }
208 } else {
209 TCHAR *was = data->window_text;
210
211 text_size =
212 _tcslen(data->window_text) + strlen(msg_data->text) + 4;
213 data->window_text = (TCHAR *) realloc(
214 data->window_text, text_size * sizeof(data->window_text[0]));
215 if (!data->window_text) {
216 free(was);
217 }
218 }
219 if (!data->window_text)
220 break;
221
222 _tcscat(data->window_text, NH_A2W(msg_data->text, wbuf, BUFSZ));
223 _tcscat(data->window_text, TEXT("\r\n"));
224 break;
225 }
226
227 case MSNH_MSG_RANDOM_INPUT: {
228 PostMessage(GetDlgItem(hWnd, IDC_TEXT_CONTROL),
229 WM_MSNH_COMMAND, MSNH_MSG_RANDOM_INPUT, 0);
230 }
231 break;
232
233 }
234}
235
236void
237LayoutText(HWND hWnd)

Callers 1

NHTextWndProcFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected