Description of wildcard file expansion with the L2 linker (version 2.2.6) Greg Lee, November 1984 The linker option "-*" requests a special version of the runtime code in WILD.CCC to be used instead of that in C.CCC. The file WILD.CCC must of course be present. In case a program is linked with this option, all ambiguous file names on the command line are expanded, and the resulting list of arguments is sorted alphabetically and converted to lower case before the main function is called. These actions are invisible from the point of view of the program -- that is, no special initialization or reserving of memory space is required. The expanded and sorted list is accessed through argv and argc in the ordinary way. Notes on usage: 1. Arguments surrounded by double quotes are passed along unchanged to the new processed list, except that the quotes are removed, and the argument without the quotes is sorted along with all the other arguments. This is also true of arguments which do not begin with hyphen (see 4 below) and do not contain "?" or "*". 2. Any ambiguous file name given on the command line may include a disk drive and/or user designation. After expansion and sorting, the drive or user designation is appended to the corresponding file names, provided it differs from the current default drive and user. 3. If a file satisfies more than one ambiguous reference, it will appear more than once in the final list. That is, duplicate names are not removed. 4. Arguments beginning with a hyphen are treated as flag lists which modify the processing in various ways. (Use double quotes to pass flags through to the main program.) The following are implemented: -s include files with the system attribute -y exclude files without the system attribute -a include files from all user areas -u use upper case 5. The "!" provision of WILDEXP.C to exclude names is not implemented. 6. The code to do the extra processing is 1k bytes long. (This is about 1k less than was required by WILDEXP.C.) 7. Memory space between the end of the externals and the top of the tpa is used as work space. 20 bytes are required for each name that will appear on the final sorted list. The list itself is placed above the top of the stack before the main program is entered, so there will be no inteference with the main program's use of memory, except that somewhat less will be available. (In my system a small program leaves enough memory space to list 2500 file names.) 8. The source code for WILD.CCC is in CCC.MAC and the include file WILD.MAC. To prepare a new version: In CCC.MAC, set WILDV to true, then A>m80 =ccc A>l80 wild.ccc/n,ccc/e