diff --git a/src/sbbs3/chat.cpp b/src/sbbs3/chat.cpp index ed8a1e55392b359281821e75303da385d28d75f2..5a1ab8ab39edd8567f5ab5bdd9737cef472fee48 100644 --- a/src/sbbs3/chat.cpp +++ b/src/sbbs3/chat.cpp @@ -1085,8 +1085,16 @@ 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; + } else { + 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); + } (void)lseek(in,-1L,SEEK_CUR); if(!ch) break; /* char from other node */ activity=1; @@ -1156,7 +1164,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;