The answer is simple... I'm using Blink instead of Alink. If you
wanted the code even smaller, you could strip the files (but strip doesn't
work all the time so I've stopped using it).
>a bit.) Of course, I still don't have btoa.c, and I have no idea what the
>code for checkbreak and resetbreak look like, but shucks; - people in hell
>want ice water.
Checking for ^C-^F does not require magic.... they are simply signals
(I think the #define is in DOS.H or DOSEXTENS.H). To check for them, you
simply get the mask with SetSignal(0,0) and check the ^C mask, and to reset
them, you do a similar call with SetSignal(something,something), (I forgot
exactly what), which simply resets the signal. The next time you hit ^C, the
signal will be set again, etc...
The new-version of MY.LIB also has some invisible enhancements.
Specifically, it handles buffering data when your reading it backwards
(assuming you have a big enough buffer). That is, if you read a small
segment, Seek backwards a bundle, then read again. Before it would always
anchor it's buffer at the seek position and thus have to reload everytime
you did a reverse seek.
One minor note with Asyncronous I/O: When Asyncronous I/O is on, you will never
hear about write errors for that particular xstdio file pointer. I'll stick
it in sometime. Also, remember that xputc() doesn't work.
I hope to post the library yet again (since it's so small) with ALL these minor
bugs fixed. Again, anyone wishing the latest source can mail me.
ARPANET:
For those people on the ArpaNet, you can get my SHELL and MY.LIB via
anonymous ftp to ucbvax.Berkeley.EDU and cd to pub/amiga. The fully fixed
MY.LIB will be placed on vax By Monday November 10 (i.e. I will make the fixes
and get it on sometime Sunday).
-Matt