rconn%brl@sri-unix.UUCP (06/05/83)
From: Rick Conn <rconn@brl> I noted an earlier message from the ARPA Net from someone who wanted to add some more utilities to the ZCPR2 System. In response to this message and other direct requests for informa- tion, I'm starting to write a new document on how to use TEMPLATE to write utilities which fit into the ZCPR2 System. By fitting into the system, I am referring to being able to reference named directories, follow paths, and adapt to different ZCPR2 environs by installation via GENINS. I hope my reply to the earlier mes- sage did not discourage the writer, particularly since the only pointer I could really give was to look at the source to TEMPLATE and a couple of utilities to see how it was done. Note that this has no impact on the utilities in the PD. They will still function as per their design, and they should run under ZCPR2 as they do under CP/M. What I am hoping will come of this is the development of a consistent set of ZCPR2 utilities by people other than myself. For instance, the utilities in the distribution are consistent in the following senses: 1. they can reference named directories XDIR JEFF:, ERASE MYDIR:*.DOC, etc 2. they can accept file lists when it makes sense ERASE f1,f2,f3,f4.*,mydir:f5.*,... 3. their command syntax is similar COMMAND <file list> <options> or COMMAND /<options> 4. GENINS can install ALL of them for different environs 5. they can search along paths when necessary HELP MYHELP looks along a path for MYHELP.HLP 6. built-in documentation is available and is invoked in the same way COMMAND // or COMMAND /<invalid option> TEMPLATE supports designs such as what I am describing quite nicely. The programmer need only "fill in the blanks" for the initialization routines, deinit routines, function performed, banner, built-in documentation, etc. The rest of TEMPLATE does the work of path searching, named directory conversion, command line processing, etc. The work performed by the programmer boils down to writing a function which is passed the FCB for an unambi- guious file, and the process is already logged into the directory in which that file resides (if it exists). Clearly, TEMPLATE is not an end-all to all situations yet, and as I get into the paper, you are likely to see one or more new versions of TEMPLATE come out before the paper is fin- ished. Rick