Has it always worked this way? I can see reading FSC-0056 that it may be interpretted to operate this way (early in the document), but later in
the "sequence definitions" it shows that each EMSI_* command should be terminated with CR (and references earlier that this is a trigger to
flush buffers.)
Well, as far as I can see, there's only one stage (3) where no CR termination is to be used (for obvious reasons).
In steps 1 and 2, both the Calling and Answering system terminate all
sequences with <CR>. In step 3, the Calling system does not terminate
sequences with <CR> as it is explicitly transmitted after possible
protocol start characters. In step 4, the Calling system once again
terminate all sequences with a <CR>.
And you are right. I just checked the source code (the one that some people deny that I have) and there are several parts where DB is doing it all wrong. One part is the CR case that you have found. Impressing! Kudos!
Then again, I can understand that the present maintainer is reluctant to touch the EMSI code. The DBEMSI.PAS file alone was more than 47kB in November 2005 when he asked me to help him clean up the code (also denied after I did -- albeit not this part).
If Nick hadn't spread the rumour that I am lying about helping him port the entire code from TP5 to TP7, including removing loads of crazy DOS code, I might help him clean up the EMSI part as well, but as you can understand, that'll not be happening...
..
--- Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.9.1.16) Gecko/20101125
* Origin:
news://eljaco.se (2:203/2)