I've been playing a bit:
I fixed the things that most annoyed me about "ls":
- it treated all its args as directories, even if they weren't,
so you got filel contents as dir entries
- it didn't sort its output; I just made it alphabetical with a qsort()
I'll make patches if anyone's interested
In the course of doing that, I thnk I found a kernel bug with
executable caching, or perhaps a filesystem bug. For a while I
was being confused because none of my changes were taking place -
I even put a 'printf("FOO!");' at the start of main. Even if I
rm'd the binary and all the .o's, remade and typed "./ls", I got
the old version. A file called "ls~" appeared which I couldn't
delete ("cannot unlink: busy", but if I "mv ls~ .." I could make
a new one which worked. Once I'd finished and copied it into
/vsta/bin, the same thing happened. This was on a dos filesystem.
I also got effects where "rm *" would delete everything, but it
would complain about files not existing as it deleted them. That
is, "cam" would be on a floppy, I'd type "rm *" and it would complain
that cam isn't there (but it would be deleted). If there were 5
files on the disk, it might complain about 1 or 2 of them.
I changed the idle loop to use the "hlt" instruction rather than just
busy-waiting. This keeps CPUs much cooler on fast machines and saves
batteries on my notebook.
J
Received on Tue Nov 1 20:01:35 1994
This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:10 PDT