Skip to content
Snippets Groups Projects
Commit ed4f3963 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Merge remote-tracking branch 'origin/master' into new_config_format

parents d8f09190 c6c42c0c
No related branches found
No related tags found
No related merge requests found
/* asc2ans.c */
/* Converts Synchronet Ctrl-A codes into ANSI escape sequences */
/* $Id: asc2ans.c,v 1.12 2020/05/09 23:06:53 rswindell Exp $ */
/****************************************************************************
* @format.tab-size 4 (Plain Text/Source Code File Header) *
* @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) *
......@@ -17,21 +13,9 @@
* See the GNU General Public License for more details: gpl.txt or *
* http://www.fsf.org/copyleft/gpl.html *
* *
* Anonymous FTP access to the most recent released source is available at *
* ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net *
* *
* Anonymous CVS access to the development source and modification history *
* is available at cvs.synchro.net:/cvsroot/sbbs, example: *
* cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs login *
* (just hit return, no password is necessary) *
* cvs -d :pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs checkout src *
* *
* For Synchronet coding style and modification guidelines, see *
* http://www.synchro.net/source.html *
* *
* You are encouraged to submit any modifications (preferably in Unix diff *
* format) via e-mail to mods@synchro.net *
* *
* Note: If this box doesn't appear square, then you need to fix your tabs. *
****************************************************************************/
......
......@@ -1091,10 +1091,17 @@ void sbbs_t::privchat(bool forced, int node_num)
lseek(in,0L,SEEK_SET);
ch=0;
utime(inpath,NULL);
if(read(in,&ch,1) != 1)
int rd = read(in,&ch,1);
if(rd != 1) {
lprintf(LOG_ERR, "read character from %s returned %d instead of 1", inpath, rd);
ch = 0;
}
(void)lseek(in,-1L,SEEK_CUR);
if(!ch) break; /* char from other node */
if(ch < ' ')
lprintf(LOG_DEBUG, "read control character %u (%s) from %s", ch, c_escape_char(ch), inpath);
else
lprintf(LOG_DEBUG, "read character '%c' from %s", ch, inpath);
activity=1;
if(sys_status&SS_SPLITP && !remote_activity) {
ansi_getxy(&x,&y);
......@@ -1162,7 +1169,13 @@ void sbbs_t::privchat(bool forced, int node_num)
}
}
ch=0;
write(in,&ch,1);
int wr = write(in,&ch,1);
if(wr != 1)
lprintf(LOG_ERR, "write of character 0x%02X to %s returned %d", ch, inpath, wr);
else if(ch < ' ')
lprintf(LOG_DEBUG, "wrote control character %u (%s) to %s", ch, c_escape_char(ch), inpath);
else
lprintf(LOG_DEBUG, "wrote character '%c' to %s", ch, inpath);
if(!(sys_status&SS_SPLITP))
localchar=remotechar;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment