jejones@ea.UUCP (10/05/84)
(This is redundant with a letter that has gone out to an OS-9 mailing list, but worth sending to the net in general. If you haven't sent your preferences re a net.[micro.]os9, please do so...) If you have the Microware C compiler, you may have noticed some small things that don't work the way you want. I've mumbled about some of them here on the net, e.g. creat() forcing owner read/write, public read permission on all files it creates; chown() not working; getopt() not letting you get to some of the options (perhaps defined since it was written--e.g. getopt 14, which gives you device name, file manager name, and device driver name for the file associated with an open path). Good news: source to these things (and others) come with the C compiler. (People with CoCo OS-9, please confirm/deny; I expect it to be the same for you, but don't know.) Look on the distribution disk for SOURCES/SYS. The source is in assembler (RMA, or c.asm), but it's there and readily tweakable. (Do watch out for compatibility!) Not only that, but source to cstart (the thing that does various jobs of initialization and primitive argument parsing) is there as well. One can hack up specialized versions of cstart and link them in to one's code for various nefarious purposes. (For instance, a friend is hacking on a mailer, and standard cstart's parameter line parsing turns RFC822 addresses into fubar. We're going to bypass stuff so that his program sees two arguments--program name and unhacked parameter line, which can be read with scanf or moral equivalent.) Happy hacking, James Jones