home *** CD-ROM | disk | FTP | other *** search
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- | This document applies to version 3.00 of LU.COM and version
- 2.0 of LRUN.COM.
-
- Copyright (c) 1982, 1983 by Gary P. Novosielski
- All rights reserved.
-
- Permission is hereby granted to copy and distribute this
- document for any non-commercial purpose. Any use of this
- material for commercial advantage without prior written
- consent of the author is prohibited.
-
-
-
- INTRODUCTION
-
- Library Utility (LU) is a program to allow combining of
- multilple files into one larger file. It requires CP/M
- version 2.0 or higher to run.
-
- | Version 3.00 replaces version 2.11. The major revisions are
- | the addition of the -b, and -n operators, and the addition
- | of CRC calculation and checking to improve reliability.
- | Error reporting has also been improved. Major revisions are
- | marked with a vertical bar (|) in the left margin.
-
- The directory information in an LU style library is
- contained in the same file as the data files, or members.
- The amount of space to be allocated to the directory must be
- specified by the user when a new library is created, but can
- be changed when the file is reorganized. The size of each
- directory entry is 32 bytes, which means each four directory
- entries take up one sector of the library file. Currently
- | only 18 bytes of each entry are used, with 14 bytes being
- reserved for use with possible future enhancements. The
- directory itself uses one entry for control information, so
- the number of directory sectors needed for a library of m
- members is (m + 1) / 4, rounded up to the next whole number.
- The user need not be concerned with this discussion, as
- directory size is calculated by the program. All directory
- sizes are input and output in terms of entries, each entry
- being a potential member file. The program adjusts directory
- size to an integral number of sectors.
-
- LRUN.COM is a small program which allows running a .COM
- (object code) file member directly from any library, without
- having to extract it to a separate disk file.
-
-
-
-
-
-
-
-
-
-
-
-
- Page 1 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- WHY USE LIBRARIES?
-
- First, a library file usually takes up less space than
- the total of the individual member files which went into it.
- The reason for this is that CP/M allocates disk space in
- fixed blocks or groups, typically 2k bytes each. Any space
- after the last sector of a file up to the next 2k block
- boundary is wasted. The same files in a library use only the
- number of sectors they actually need, and though the library
- itself may have a partially wasted block at the end, and
- requires some space for directory information at the
- beginning, the net effect is usually a saving of total
- space. The best results are seen when many small files are
- combined into one library.
- Second, a library file makes most efficient use of the
- CP/M disk directory, since it is treated as only one file by
- CP/M regardless of how many members it contains.
- Third, libraries can aid in transferring packages of
- software from one system to another using XMODEM. Only one
- file is transferred, eliminating the need to run the XMODEM
- transfer program several times, the chance of overlooking a
- needed file, and the problems of naming conflicts, (such as
- READ.ME files) among unrelated packages.
-
-
-
- WHY NOT USE LIBRARIES?
-
- There are some very good reasons for not using
- libraries.
- For one thing, files within a library are not available
- to most "normal" programs. If a frequently accessed file is
- placed in a library, it will have to be extracted from the
- library to its free-standing counterpart before it can be
- used by most programs. (.COM files are a notable exception
- to this, because of the availability of the LRUN command,
- covered later.)
- Libraries can actually waste disk space. When a disk
- file is erased, CP/M returns the space formerly used by the
- file to the free space pool for use by new files. When a
- member file is deleted from a library however, the space
- previously occupied by the file is not useable. The library
- must be reorganized to make this space available to CP/M.
- While this is easy to do with the LU program, it is not
- automatic, and if the situation is ignored, large areas of
- disk can be tied up as unproductive "dead space".
-
-
-
-
-
-
-
-
-
-
-
-
- Page 2 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- HOW TO USE THE LIBRARY UTILITY
-
- LU has two main methods of operation: interactive, and
- parameter driven. In parameter driven mode, the program
- takes its command inputs from the command line when it is
- first invoked, and when the entire line has been processed,
- execution ends.
- In interactive mode, the program takes its command
- inputs from one or more input lines from the standard input
- device (typically the console). When all the command inputs
- have been processed, the program reads another line. This
- process can be repeated as long as necessary.
- Input from disk files, C program "pipes", and the XSUB
- facility are also supported for more advanced applications.
- Interactive mode is probably the best way to get to
- know the program, because the effect of each action can be
- immediatley seen.
- To start an interactive library maintenance session,
- just type LU on the command line with no parameters after
- it.
- All the methods make use of similar syntax:
- Each input line, regardless of its source, is scanned
- left to right. All alphabetic characters are converted to
- upper case. If the line contains any blanks it is separated
- into multiple individual input strings.
- These input strings are divided into two classes:
- operators (sometimes called tags, or options) and operands.
- An operator is defined as any two character string
- where the first character is a minus sign. Operators tell
- the program what to do. Valid operators are -a, -b, -c, -d,
- -e, -l -n, -o, -r, -u and -x. Anything else with the same
- form is an operator too, but an invalid one.
- Operands are any other input string.
- | The most common operand strings are names of files
- | which are to be acted upon by the previous operator, for
- | instance, added to or extracted from a library file. These
- | are called filespec operands, and have the following general
- | form:
-
- [u/][d:][filename][.[ext]]
-
- where u is an optional user area prefix. It is a
- decimal number from 0 to 31, and if present, must be
- followed by a slash (/) character. User areas greater than
- 15 should be used with care, as they cannot be accessed by
- any of the resident CCP (Console Command Processor) commands
- of CP/M, such as USER, TYPE or ERA.
-
- d is an optional drive designator. It is a
- single character in the range of A to P, and if present,
- must be followed by a colon (:).
-
- filename is a string of 0 to 8 characters,
- following the standard CP/M conventions for filenames
-
- ext is a string of 0 to 3 characters,
-
-
- Page 3 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- following the standard CP/M naming conventions for filetype
- extensions.
-
- The period (.) after filename is manditory if ext is
- specified, and optional otherwise. The names "xyz" and
- "xyz." are equivalent.
-
- Ambiguous operands are those which contain the characters
- "*" or "?" in the filename or extension fields. Examples of
- | valid filespec operands are:
-
- foo.bar
- 3/b:test.fil
- 3/test.fil
- b:test.*
- test.fil
- test.
- test
- z
- -z.
- comm?nd
- 0/
- b:
- 5/a:
-
- Note in the example "-z." the period, though not required by
- the syntax of a filename, is essential to prevent the
- operand from being mistaken as the invalid operator "-z".
- What action is taken upon the operand depends upon
- which operator most recently preceded it. If no operator was
- entered, or an invalid one, or one that expects no operands,
- the operand will draw an error message, but will otherwise
- be ignored.
- When running interactively, LU prompts for the
- operators and operands. You can type as many inputs as will
- fit on the line, separating them with spaces. The end of an
- input line has no special significance. The most recent
- operator remains in effect, and the next line can begin with
- additional operands for it.
-
- The prompt displayed for each input line has this form:
-
- -m u/d:>
-
- where m is the current operator in effect
- u is the current user number in effect
- d is the current default drive
-
- For example the prompt might be "-E 0/A:>". This
- indicates that the -e operator is in still in effect; if an
- operand is entered it will be interpreted as the name of a
- member file to be Extracted from the library. It also shows
- that the current user number is 0, and the current drive is
- A:. Any operands which are entered without an explicit user
- or drive will use these defaults. The defaults can be
- changed at any time with the -u operator, discussed below.
-
-
- Page 4 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- When the program first starts up, the prompt begins
- with "-?", which means no operator is currently in effect.
- In this case, the only valid input is an operator. Any
- operand will be rejected.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 5 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- SUMMARY OF OPERATORS
- In this discussion, the "open library" refers to the library
- name specified as the current library by using the -o
- operator discussed below. The default name LIBRARY.LBR is
- used whenever an operator needs an open library, but none is
- currently open.
-
- -a add files to library. -a causes subsequent
- operands to be treated as the names of files to be added to
- the open library. Ambiguous operands match all disk files
- which qualify according to normal CP/M wild-card
- conventions, except those with a filetype of .LBR. Explicit
- user or drive specification on an operand causes that area
- to be searched for the file(s) instead of the defaults.
-
- | -b Buffer size set. -b reads the subsequent operator
- | as the size (in sectors) to allocate for a disk I/O buffer.
- | Normally, this operator need never be used, since a 64
- | sector buffer is assumed if not specified. A full discussion
- | of buffer size considerations, and their relation to disk
- | access speed is beyond the scope of this document.
- | Generally, a larger buffer will increase the speed of
- | adding, extracting and reorganizing, but this widely
- | variable with different hardware.
- | Bear in mind that a large I/O buffer will decrease the
- | size of the largest library directory which can be processed
- | by the program, since the directory buffer competes for
- | system memory with the I/O buffer. Conversely, setting the
- | buffer to a value less than 64 will increase the maximum
- | directory size. This operator can only be used at program
- | startup, before the first library is open. Its operands are
- | not filespec operands, but simple integer numbers in the
- | range 1...255.
-
- -c close the open library. If a library has been
- opened with the -o operator, or if the default library
- LIBRARY.LBR has been opened by some other operator, -c
- causes it to be closed. Otherwise, it has no effect.
- Normally this operator need never be entered, since any open
- library is automatically closed at the end of the session or
- when another one is opened. It is provided for situations
- where it is desired to change disk volumes without ending
- the LU program. Before removing the disk containing the
- library file, it must be closed. After mounting a new
- volume, the -U operator (see below) should be used. The -c
- operator expects no operands.
-
- -d delete files from library. -d causes subsequent
- operands to be treated as the names of members to be deleted
- from the open library. Ambiguous names match all members
- which qualify. User and drive specifications on operands are
- ignored, since the library members are obviously in
- whichever area contains the open library.
-
- -e extract files from library. -e causes subsequent
- operands to be treated as the names of members in the open
-
-
- Page 6 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- library to be extracted to normal free-standing CP/M files.
- The original copy is not deleted, and remains in the
- library.
-
- Ambiguous operands extract all members which qualify. User
- or drive specifications on member names cause the output
- file(s) to be placed in the specified area rather than the
- default. Any existing file with the same name will be
- overwritten unless it is protected by having its Read/Only
- attribute set on.
-
- -l list current library map. -l causes the directory
- of the open library to be listed on the console. The member
- names are displayed, along with their index (starting record
- within the library) their size in sectors, and the
- | internally calculated CRC value.
- Also, information is displayed about the number of sectors
- in the library, and how much space is used and unused
- (wasted). The number of active entries (members) in the
- directory is also displayed, as well the number deleted,
- free for future use, and the total number. This helps
- determine whether the library needs to be re-organized to
- free unused space and deleted entries. The operator -l
- expects no operands, so the next input should be another
- operator.
-
- | -n Name a member. -n causes each subsequent operand
- | to be treated as a request to change the name of a member in
- | the open library. Since both the new and old names of the
- | member must be given, a special double operand format is
- | used. It is essentially two filespec operands "glued
- | together" with an equals sign. For example:
- | newname.typ=oldname.typ
- | would cause the member OLDNAME.TYP to have its name changed
- | to NEWNAME.TYP. If the old name is not found in the open
- | library, or if the new name is that of an existing member,
- | no rename takes place, and an appropriate message is
- | displayed. Operands which do not conform to the special
- | <new>=<old> syntax will also draw an error message.
-
-
-
- -o open a library. -o causes the following operand to
- be treated as the name of a library file to be opened for
- use with subsequent operators. If there is already an open
- library, it is first closed, and the new one opened. If the
- new library does not exist, it is created with no members.
- Ambiguous names are not allowed. User and drive
- specification can be used to override the current area.
- The file type may be specified, but if not entered,
- defaults to .LBR which is strongly suggested as the file
- type for all library files. You will recall that files of
- type .LBR are ignored by the wildcard matching of the -a
- (add) operator. This prevents libraries from being
- accidentally added to other libraries, or to themselves; a
- situation not unlike trying to drive a truck up its own
-
-
- Page 7 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- tailpipe.
- If for some reason you want to add one library to
- another, be my guest, but you will have to specify the name
- without * or ? characters when adding it.
-
- -r reorganize library. -r causes the currently open
- library to be reorganized. First, the directory is sorted
- into alphabetical order, and then all active members are
- copied to a work library which is opened on the default
- user/drive. The size of the directory may be changed at this
- point by specifying a greater or smaller number of entries
- than were present the old library. The directory will always
- be made large enough to contain all the active members of
- the old library, so it is safe to enter a size of "1" to
- make the directory as small as possible. (See Specifying
- Directory Sizes below.)
- When reorganization is complete, the old library is
- deleted from its user/drive area, and the work library in
- the default area is renamed to the name of the old library.
- No backup copy is retained. The newly reorganized library
- remains open for use with subsequent operations.
- | Note that although the newly reorganized library always
- | ends up in the default area, the default area can be changed
- | with the -u operator. (Do this first, before using -o.)
- | Also, the old library can be opened in any area, by using
- | explicit user/drive specifications. The net result is that
- | it is possible to reorganize a library from any desired area
- | to any other area. Reorganizing a library to a different
- | drive is usually a much faster operation, and is manditory
- | if the current disk does not contain enough free space for
- | the old and work libraries at the same time.
-
-
- -u Use new default area. The -u can be used to change
- the default value for user number or drive. It causes the
- user prefix and drive spec of the following operand to be
- used as the new default area. If the following operand has
- no user prefix, or no drive spec, the corresponding default
- is not changed. (The filename and ext sections of the
- operand must be absent.) If a change is made, any open
- library is first closed, and the disk system is reset. Thus
- feature allows newly mounted disk volumes to be accessed for
- writing; CP/M causes new volumes to be Read Only until the
- program performs a disk system reset. The -u operator also
- affects which area will be used for the work library during
- reorganization. See the -r operator above.
- Note: If directed I/O is active (See advanced features
- below) the -u operator is treated as invalid. Due to some
- unfortunate assumptions in the C run-time package, the
- default drive cannot be safely changed while directed I/O
- files are open, and the BDOS gets confused by the disk reset
- under these conditions.
-
- -x eXit program. -x causes the interactive mode to be
- turned off, which means that the input line containing it
- will be the last line scanned by the program. It does not
-
-
- Page 8 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- cause immediate program termination, and if any more
- operators follow it on the same line, they will be processed
- normally. The program terminates only after the current line
- is fully processed. Any open library is then closed, and the
- user number and default drive are reset to the values they
- had when the program was originally invoked. To preserve
- compatability with earlier versions, the program will also
- end if an empty input line (carriage return alone) is typed.
-
- SPECIFYING DIRECTORY SIZE
-
- Whenever an old library is opened, the directory size
- is displayed as follows:
-
- Old library LIBRARY.LBR has 32 entries, 5 free.
-
- This means that 5 more members may be added before the
- directory becomes full. When the directory is full, -a
- becomes an invalid operator, and the library must be
- reorganized to add any more members.
- When a library is created for the first time, the user
- is prompted like this:
-
- New library COMMAND.LBR. Allow how many entries?_
-
- Any number from 1 to 65535 is valid. The actual maximum
- is determined by the amount of free memory available on the
- system in use. Directory size will be rounded up to the next
- whole sector necessary to contain the number of entries
- requested. This number will remain in effect until the
- library is reorganized. Since the directory itself counts as
- an entry, one entry is added to your response before the
- size is calculated. Therefore just enter the maximum number
- of member files you want the library to be capable of
- holding.
- The maximum number of member files is also constrained
- by the amount of available disk space. If the disk space
- runs out during an add, the name is not added to the
- directory. If a multiple add is in progress, due to an
- ambiguous operand, the remaining qualifying files are still
- added if possible. If any of them is small enough to fit in
- the remaining disk space, it will be added. If any sectors
- were written by a failed add attempt, and then never
- utilized, they remain as unused sectors, and the library
- should be reorganized.
-
-
-
- PARAMETER DRIVEN METHOD
-
- All of the information needed for a maintenance run may
- be specified on the command line. The operators and operands
- are entered, separated by spaces, after the LU command, and
- the operations will take place without console intervention,
- except in the case where the directory size for a new
- library is requested. The syntax is:
-
-
- Page 9 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
-
- LU <opr> [<opd> [<opd> ...]] [<opr> [<opd> ...]...
-
- where square brackets indicate optional parameters, and:
- <opr> is any operator.
- <opd> is any operand.
- ... indicates that the preceding parameter may occur
- multiple times.
- Any names occurring prior to the first operator, or
- following an operator which does not expect operands, are
- ignored.
-
- | CRC CHECKING
- |
- | Whenever a new member is added to a library, a value
- | called the CRC (Cyclic Redundancy Check) word is calculated
- | and stored in the member's directory entry. When the member
- | is extracted from the library, the calculation is done
- | again, and compared with the saved value. If the two values
- | do not match, it is an indication that the member was
- | damaged in some way while it was in the library. The extract
- | will still be performed, but a message warning that the
- | extracted copy is questionable will be displayed.
- | This feature is especially valuable for libraries which
- | have been created on another system and transmitted by phone
- | (possibly several times) before you receive them. It helps
- | insure that the extracted files are faithful reproductions
- | of the files originally inserted before transmission.
- | Members added by LU versions prior to 2.20 do not have CRC
- | words. The CRC check will be bypassed when one of these is
- | extracted.
- | The CRC word of the directory itself is checked when
- | the library is opened. A message warning of a CRC error will
- | be displayed at that time. Libraries modified by LU versions
- | prior to 2.20 have no directory CRC word, and the CRC check
- | will usually be bypassed. If a warning does occur, it will
- | not adversely affect operation.
- | When a library is reorganized, CRC words will be added
- | to all members, if not present. CRC errors which occur
- | during reorganization will cause the program to abort. The
- | damaged member must be deleted before the library can be
- | reorganized.
- | Libraries created by this version of LU can be read by
- | all previous versions. The CRC values inserted will simply
- | be ignored by early versions of the program.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 10 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- ADVANCED FEATURES
-
- Input from BDS C "pipes" or ordinary sequential files
- is also possible. The filename is specified on the command
- line preceded by a "<" character and no intervening blank.
- Example:
-
- LU <CONSOL.DUP
- reads the contents of the file CONSOL.DUP and uses each
- line of the file as if it had been typed at the normal
- console by the interactive method. In this case, no
- operators or operands may be present. Console output may
- also be redirected by specifying an output file on the
- command line after the character ">". This applies to
- parameter driven as well as interactive (including "piped")
- input. Examples:
-
- LU -O 3/SPECIAL -A B:ZOT.COM >20/C:LOGFILE.OUT
- would add the file zot.com from drive b, current user
- area, to the library special.lbr, in user area 3 on the
- default drive. Console output would be written to a file
- called logfile.out in user area 20 on drive c. The placement
- of the output name on the line does not matter and except
- for turning on redirected output, it is ignored by all
- operators.
-
- LU <BATCH.IN >B:RECORD.DOC
- would take interactive commands from the file batch.in
- and write console output to a file called record.doc on
- drive B.
-
- Normally, console file output is also echoed on the
- real console, except when input is also redirected, as in
- the last example. To force visible console output when both
- an input and output file are used, the ">" character
- preceding the output file name may be changed to a "+" like
- this:
-
- LU +RECORD.DOC <BATCH.IN
- This would have the same effect as the previous
- example, except that message output would also be visible on
- the console.
-
-
-
-
- CAUTIONS
-
- The importance of keeping backup copies of all disk
- files, and especially libraries, cannot be overemphasized.
- By using library files, the user is exposed to the dreaded
- all-the-eggs-in-one-basket syndrome. That is, if something
- happens to the library file, particularly the directory, it
- may be beyond the capabilities of even a CP/M wizard to
- restore the member files. The situation is made particularly
- sticky by the fact that the the directory must be updated in
-
-
- Page 11 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- place as members are added or deleted.
- Precautions have been taken to minimize this risk. For
- one thing, the directory is read into memory when the
- library is first opened, and is only written back if it
- differs from the copy on the disk. Operations which change
- the directory are: adds, deletes, and the sort operation
- which is done before reorganization. If only extracts (or
- LRUN executions) are done, the directory is never rewritten,
- and the .LBR file may be write protected if desired, by
- using the CP/M STAT command. When a read-only library is
- | open, all LU operators except -l, -b, and -e become invalid.
- As another precaution, the entire empty directory is
- allocated and written to disk when a new library is first
- created. This insures that there will always be enough space
- on disk for the number of directory entries requested at the
- time of creation. The disk space may run out while adding
- member files, but there will always be enough room on disk
- to update the directory once it is successfully created.
- The fact that only the memory copy of the directory is
- modified until the file is closed may come in very handy if
- you mistakenly delete a member file and recognize it right
- away.
- For example, suppose you make the mistake of typing "-d
- *.*". Briefly, your heart sinks, as the "Deleting:" messages
- are displayed and all the member names zip into oblivion.
- Don't panic. Only the memory copy of the directory has been
- modified. When the -D 0/A:> prompt returns, do not hit
- RETURN. Instead, abort the program with Control-C. This will
- cancel the program without updating the directory, and the
- original members will still be present.
- Here is another caution. Since the entire directory
- must fit in memory for a library to be successfully opened,
- it is possible that a huge directory created on a your
- system will be too large to fit in memory if read on another
- system will less memory. This should not be a problem with a
- library of under a hundred entries.
- To give you an idea of how much elbowroom you have to
- work with, LU displays the highest memory location used each
- | time it terminates. This will vary depending on the size of
- | the disk I/O buffer, as well as the largest directory used
- | during operation, and will be slightly higher if interactive
- operation was used, since a console buffer must be
- allocated.
- It does not include the stack, which grows down from high
- memory, and is allowed about a thousand bytes of space for
- subroutine parameters and temporary work areas.
-
-
-
-
-
-
-
-
-
-
-
-
- Page 12 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- THE LRUN COMMAND
-
- The LRUN command was created for those of us who have
- lots of command files we like to keep on line all the time.
- We all have some favorite little .COM files are very small
- programs, but having a lot of them on disk eats up file
- space at an alarming rate due to the fixed CP/M block size.
- Put them all into a library called COMMAND.LBR using LU. You
- can then run any .COM file directly from the library by
- saying:
- LRUN <followed by normal command line just like always>
- The full syntax of LRUN is:
-
- LRUN [-<lbrfile>] <commember> [<parameters>]
-
- Where:
-
- <lbrfile> is the library to be searched. The square
- brackets around -<lbrfile> indicate it is optional. The -
- character tells LRUN that what follows is a library name. It
- is not an actual part of the name. Don't leave a space after
- the -. If the first parameter doesn't begin with - then the
- default library COMMAND.LBR is used. If a drive spec is
- given, such as B:, then only that drive is searched for the
- library. If no drive spec is given, the current area is
- searched first, and if no library of that name is found, the
- default area is searched before giving up. The default area
- is set to 0/A: in the distribution object code, but this can
- be changed to something more appropriate for your system by
- changing two equates in the source program and reassembling.
- LRUN does not otherwise support user numbers, and will not
- recognize the "u/" syntax on its parameters.
- If a name, but no type is entered, .LBR is assumed.
-
- <commember> is the name of the command to be run. No
- drive spec is used here. The type defaults to .COM and need
- not be entered.
-
- <parameters> is a the normal (possibly empty) list of
- parameters which the .COM file expects to find on the
- command line when it is run. This list is parsed to the
- required file control blocks and command line area before
- execution begins, so the program will not be aware that
- anything cute is going on. (Thanks to Ron Fowler for
- supplying the code which makes this possible.)
-
-
-
- LRUN EXAMPLES
-
- LRUN ED FOO.BAR
- the file ED.COM is searched for in COMMAND.LBR on the
- current drive, or the A: drive. If found, ED.COM is loaded
- from the library, and FOO.BAR is passed to it as a
- parameter.
-
-
-
- Page 13 of 14 83-08-16
-
-
-
-
- Documentation for LU.COM and LRUN.COM
-
-
- LRUN -C:SPECIAL LU -O COMMAND -A A:*.COM
- the file LU.COM is searched for in SPECIAL.LBR on the C
- drive. If found, LU.COM is loaded, and the strings -O,
- COMMAND, -A, and *.COM are passed to it as parameters.
-
- LRUN - -ZIP
- the file -ZIP.COM is searched for in COMMAND.LBR on the
- current drive, or the A: drive. If found, -ZIP.COM is loaded
- and executed with a blank parameter list. Since -ZIP.COM
- begins with a -, the extra - followed by a space was needed
- to act as a place-holder for the library name. Compare with:
-
- LRUN -ZIP
- the library -ZIP.LBR is looked for, but nothing else
- happens, because no command was specified.
-
- LRUN
- with no parameters at all, causes a screen of help
- information to be displayed as a memory refresher.
-
-
-
- Please report any problems or suggestions for
- enhancement to me via CompuServe CP-MIG or EMAIL, user
- number 70160,120; or by phone at (201) 935-4087, voice,
- evenings (eastern time) or weekends.
-
- Gary P. Novosielski
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 14 of 14 83-08-16
-
-