q = strchr(p, ':');\r
if (q) {\r
if (q - p >= sizeof(mfp->faceName))\r
- ExitArgError(_("Font name too long:"), name);\r
+ ExitArgError(_("Font name too long:"), name, TRUE);\r
memcpy(mfp->faceName, p, q - p);\r
mfp->faceName[q - p] = NULLCHAR;\r
p = q + 1;\r
while (*p && !isdigit(*p)) {\r
*q++ = *p++;\r
if (q - mfp->faceName >= sizeof(mfp->faceName))\r
- ExitArgError(_("Font name too long:"), name);\r
+ ExitArgError(_("Font name too long:"), name, TRUE);\r
}\r
while (q > mfp->faceName && q[-1] == ' ') q--;\r
*q = NULLCHAR;\r
}\r
- if (!*p) ExitArgError(_("Font point size missing:"), name);\r
+ if (!*p) ExitArgError(_("Font point size missing:"), name, TRUE);\r
mfp->pointSize = (float) atof(p);\r
mfp->bold = (strchr(p, 'b') != NULL);\r
mfp->italic = (strchr(p, 'i') != NULL);\r
}\r
bs++;\r
}\r
- ExitArgError(_("Unrecognized board size value"), name);\r
+ ExitArgError(_("Unrecognized board size value"), name, TRUE);\r
}\r
\r
void\r
struct stat st;\r
FILE *f;\r
\r
- if (ms->data) free(ms->data);\r
+ if (ms->data && ms->flag) free(ms->data);\r
ms->data = NULL;\r
\r
switch (ms->name[0]) {\r
HANDLE h = FindResource(hInst, ms->name + 1, "WAVE");\r
if (h == NULL) break;\r
ms->data = (void *)LoadResource(hInst, h);\r
+ ms->flag = 0; // not maloced, so cannot be freed!\r
if (h == NULL) break;\r
ok = TRUE;\r
}\r
if (f == NULL) break;\r
if (fstat(fileno(f), &st) < 0) break;\r
ms->data = malloc(st.st_size);\r
+ ms->flag = 1;\r
if (fread(ms->data, st.st_size, 1, f) < 1) break;\r
fclose(f);\r
ok = TRUE;\r
MyPlaySound(&sounds[(int)SoundAlarm]);\r
}\r
\r
+VOID\r
+PlayTellSound()\r
+{\r
+ MyPlaySound(&textAttribs[ColorTell].sound);\r
+}\r
+\r
\r
VOID\r
EchoOn()\r