(upr_player): A print function must not change its text argument!
This commit is contained in:
parent
968e754447
commit
7e186ed7a8
1 changed files with 8 additions and 8 deletions
|
@ -194,12 +194,13 @@ upr_player(struct player *pl, int id, char *buf
|
||||||
register char *bp; /* bp is message text */
|
register char *bp; /* bp is message text */
|
||||||
register int standout = 0;
|
register int standout = 0;
|
||||||
char printbuf[2]; /* bp is message text */
|
char printbuf[2]; /* bp is message text */
|
||||||
|
char ch;
|
||||||
|
|
||||||
printbuf[0] = '\0';
|
printbuf[0] = '\0';
|
||||||
printbuf[1] = '\0';
|
printbuf[1] = '\0';
|
||||||
|
|
||||||
bp = buf;
|
bp = buf;
|
||||||
while (*bp != '\0') {
|
while ((ch = *bp++)) {
|
||||||
if (pl->curid != -1 && pl->curid != id) {
|
if (pl->curid != -1 && pl->curid != id) {
|
||||||
io_puts(pl->iop, "\n");
|
io_puts(pl->iop, "\n");
|
||||||
pl->curid = -1;
|
pl->curid = -1;
|
||||||
|
@ -207,13 +208,13 @@ upr_player(struct player *pl, int id, char *buf
|
||||||
if (pl->curid == -1)
|
if (pl->curid == -1)
|
||||||
outid(pl, id);
|
outid(pl, id);
|
||||||
|
|
||||||
if (*bp < 0) { /* looking for standout bit 0x80 */
|
if (ch & 0x80) {
|
||||||
if (standout == 0) {
|
if (standout == 0) {
|
||||||
printbuf[0] = 0x0e;
|
printbuf[0] = 0x0e;
|
||||||
io_puts(pl->iop, printbuf);
|
io_puts(pl->iop, printbuf);
|
||||||
standout = 1;
|
standout = 1;
|
||||||
}
|
}
|
||||||
*bp &= 0x7f;
|
ch &= 0x7f;
|
||||||
} else {
|
} else {
|
||||||
if (standout == 1) {
|
if (standout == 1) {
|
||||||
printbuf[0] = 0x0f;
|
printbuf[0] = 0x0f;
|
||||||
|
@ -221,17 +222,16 @@ upr_player(struct player *pl, int id, char *buf
|
||||||
standout = 0;
|
standout = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (*bp == '\n') {
|
if (ch == '\n') {
|
||||||
if (pl->command && (pl->command->c_flags & C_MOD))
|
if (pl->command && (pl->command->c_flags & C_MOD))
|
||||||
io_write(pl->iop, bp, 1, IO_NOWAIT);
|
io_write(pl->iop, &ch, 1, IO_NOWAIT);
|
||||||
else
|
else
|
||||||
io_write(pl->iop, bp, 1, IO_WAIT);
|
io_write(pl->iop, &ch, 1, IO_WAIT);
|
||||||
pl->curid = -1;
|
pl->curid = -1;
|
||||||
} else {
|
} else {
|
||||||
printbuf[0] = *bp;
|
printbuf[0] = ch;
|
||||||
io_puts(pl->iop, printbuf);
|
io_puts(pl->iop, printbuf);
|
||||||
}
|
}
|
||||||
bp++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue