Hi Brian!
Actually, yes. I have been fighting my way through the maze of source/diffs
and more diffs and monitoring how things worked, and why I seem to have a bunch
of unmatched flags, and why....
The biggest problem is that for any size article received in transport(), I
have to fully complete the processing of that article or quote in 1/4 second.
That is because my tty driver will toss data when I get more than 256
characters behind in reading the data stream.
I have been trying to optimize some of the code and move other tasks around in
order to get closer to the goal. Among the changes...(1) Calculate the checksum
while receiving the packet - not afterwards. This eliminates a pass through
the data while the 1/4 second clock is running. (2) stock.c did a lot of
sprintf() then strcat() operations. If you sprintf directly into the line
buffer, then you eliminate unnecessary copying operations.
I also cracked a couple of core dumps and am looking over the editing
operations to see what can be done there. The non breakable space stuff didn't
work right because the non-breakable space was changed to a regular space
before the line was "word wrapped". The search for names of states, etc, needs
to be a binary search.
I'm also considering a pipelined formatting effort which will try to process a
character as far as it can be done as the packet is received, then simply write
the article out when the checksum is validated, or abandon the work done if the
checksum is incorrect...
I will keep you posted as to progress.
-- Richard Schaal Motorola Computer Group M/S AZ43 DW278 2900 South Diablo Way, Tempe, AZ 85252 Voice: (602)438-3519 Fax: (602)438-3836 E-Mail: rschaal@phx.mcd.mot.com "This is a great place to work.... there's a going away party every Friday!"