When running BBS DOSBox's softmodem does not correctly handle
escape characters properly nor does it properly transition
to command mode:
Characters are swallowed instead of passed-through, this causes
issue when transmitting strings with the plus character.
Additional characters before and after the escape sequence don't
reset the counters causing switch to command mode even if not
intended. For example, connect to a remote and type a+++ it
switches to command mode, it should not. The attached proposed
patch fixes the escape handling:
Transmission pause is checked before and after the escape
sequence, so <pause>+++<pause> is the correct
sequence.</pause></pause> Extra characters cause the counters to
be reset so no unwanted switch is triggered. Use register S12 to
set the pause timer in 1/50th of seconds, default is 50 = 1 sec.
Plus characters are passed to the remote. With this fix I'm able
to run a BBS software and do file transfers with XModem and ZModem
without problems.
Imported-from: https://sourceforge.net/p/dosbox/patches/287/
Crash happened due to mismatch between internationalization string and
parameters passed to WriteOut.
Also, print newline after output if no error occured.
Fixes V576 warning from PVS-Studio - in this case PVS is somewhat
pedantic, as it warns about printf'ing of malloc'ed memory and risk the
associated problems in OOM situations.
In this case it can be a problem, as LOG_MSG aka GFX_ShowMsg
allocates memory during printing in result an error message could cause
stack overflow, although it's extremely unlikely on modern OSes.
Avoid triggering this warning by using memory-safe container and using
C++11 data() accessor to vector internal buffer; in case of OOM
situation, stack will be unrolled and program should exit with nice
error message.
This is a small issue pointed out by Coverity; this variable might be
later used uninitialized in several places.
Making this change to test if Coverity updates report summary only after
the numbers actually changed (we just had fresh scan, but Coverity keeps
showing summary from few days ago).
Revisions 4314 and 4315 were reverted:
- r4314 introduced several technical issues; keeping it away from
the master branch until some improvements will land in SVN.
- r4315 touches code related to overlay, which was completely removed when
porting to SDL2; this revert makes future merge commit cleaner.