home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
BDSC
/
BDSC-2
/
L2-225.ARK
/
WILDCCC.DOC
< prev
Wrap
Text File
|
1988-05-21
|
3KB
|
64 lines
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