void MSG_WriteString (sizebuf_t *sb, const char *s)
{
- if (!s)
- SZ_Write (sb, (unsigned char *)"", 1);
+ if (!s || !*s)
+ MSG_WriteChar (sb, 0);
else
SZ_Write (sb, (unsigned char *)s, (int)strlen(s)+1);
}
void MSG_WriteUnterminatedString (sizebuf_t *sb, const char *s)
{
- if (s)
+ if (s && *s)
SZ_Write (sb, (unsigned char *)s, (int)strlen(s));
}
{
if (j < n)
{
- if (d[j] >= ' ' && d[j] <= 127)
+ // color change prefix character has to be treated specially
+ if (d[j] == STRING_COLOR_TAG)
+ {
+ *cur++ = STRING_COLOR_TAG;
+ *cur++ = STRING_COLOR_TAG;
+ }
+ else if (d[j] >= ' ')
*cur++ = d[j];
else
*cur++ = '.';