home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.misc
- From: brad@hcx1.ssd.csd.harris.com (Brad Appleton)
- Subject: v30i073: parseargs - functions to parse command line arguments, Patch13
- Message-ID: <1992Jun20.173033.3494@sparky.imd.sterling.com>
- X-Md4-Signature: 631def542edb6c63a2858c5734dfccae
- Date: Sat, 20 Jun 1992 17:30:33 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: brad@hcx1.ssd.csd.harris.com (Brad Appleton)
- Posting-number: Volume 30, Issue 73
- Archive-name: parseargs/patch13
- Environment: UNIX, VMS, MS-DOS, OS/2, Amiga
- Patch-To: parseargs: Volume 29, Issue 115-125
-
- This is patchlevel thirteen of parseargs. It finishes up the job of
- adding Tcl to the list of shells supported by parseargs(1).
-
- To apply this patch:
-
- 1) cd to your parseargs source directory
- 2) unshar this file to create the file PATCH13
- 3) type "patch -p0 < PATCH13
-
- ______________________ "And miles to go before I sleep." ______________________
- Brad Appleton Harris Corp., Computer Systems Division
- Senior Software Engineer 2101 West Cypress Creek Road, M/S 161
- brad@ssd.csd.harris.com Fort Lauderdale, FL 33309-1892 USA
- ...!uunet!travis!brad Phone: (305) 973-5190
- ~~~~~~~~~~~~~~~~~~~~ Disclaimer: I said it, not my company! ~~~~~~~~~~~~~~~~~~~
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of shell archive."
- # Contents: PATCH13
- # Wrapped by brad@hcx1 on Mon Jun 15 09:53:39 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'PATCH13' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'PATCH13'\"
- else
- echo shar: Extracting \"'PATCH13'\" \(20036 characters\)
- sed "s/^X//" >'PATCH13' <<'END_OF_FILE'
- X*** patchlevel.h.parseargs_patch12 Sat May 30 18:10:20 1992
- X--- patchlevel.h Sat May 30 17:46:52 1992
- X***************
- X*** 3,8 ****
- X--- 3,13 ----
- X **
- X ** ^HISTORY:
- X **
- X+ ** 05/30/92 Brad Appleton <brad@ssd.csd.harris.com>
- X+ ** Patch13
- X+ ** - Finishing touches to get parseargs working successfully with
- X+ ** the tcl shell (parseargs.tcl works now).
- X+ **
- X ** 05/18/92 Brad Appleton <brad@ssd.csd.harris.com>
- X ** Patch12
- X ** - Fixes to the Makefile and for tcl.
- X***************
- X*** 161,167 ****
- X
- X #define VERSION 2
- X #define REVISION 0
- X! #define PATCHLEVEL 12
- X
- X #ifdef __STDC__
- X static const char
- X--- 166,172 ----
- X
- X #define VERSION 2
- X #define REVISION 0
- X! #define PATCHLEVEL 13
- X
- X #ifdef __STDC__
- X static const char
- X***************
- X*** 168,171 ****
- X #else
- X static char
- X #endif
- X! _Ident[] = "@(#)parseargs 2.0 patchlevel 12";
- X--- 173,176 ----
- X #else
- X static char
- X #endif
- X! _Ident[] = "@(#)parseargs 2.0 patchlevel 13";
- X*** Makefile.parseargs_patch12 Sat May 30 18:10:17 1992
- X--- Makefile Sat May 30 17:46:42 1992
- X***************
- X*** 23,28 ****
- X--- 23,29 ----
- X LIBDIR = ${LOCAL}/lib
- X INCDIR = ${LOCAL}/include
- X PERLLIB = ${LIBDIR}/perl
- X+ TCLLIB = ${LIBDIR}/tcl
- X
- X ###
- X # compilation options
- X***************
- X*** 99,106 ****
- X doc/sparseargs3.inc \
- X doc/usage3.inc \
- X doc/vparseargs3.inc
- X! SCRIPTS = test.sh test.csh test.ksh test.rc test.awk test.pl
- X PERLSUB = ${NAME}.pl
- X XXFILES = Intro README MANIFEST Makefile VMSbuild.com
- X
- X HDRS = ${NAME}.h \
- X--- 100,108 ----
- X doc/sparseargs3.inc \
- X doc/usage3.inc \
- X doc/vparseargs3.inc
- X! SCRIPTS = test.sh test.csh test.ksh test.rc test.awk test.pl test.tcl
- X PERLSUB = ${NAME}.pl
- X+ TCLSUB = ${NAME}.tcl
- X XXFILES = Intro README MANIFEST Makefile VMSbuild.com
- X
- X HDRS = ${NAME}.h \
- X***************
- X*** 138,144 ****
- X PROG_OBJS = ${NAME}.o unix_man.o
- X TEST_OBJS = stest.o
- X
- X! FILES = ${XXFILES} ${DOCS} ${HDRS} ${SRCS} ${PERLSUB} ${SCRIPTS}
- X
- X ###
- X # target dependencies
- X--- 140,146 ----
- X PROG_OBJS = ${NAME}.o unix_man.o
- X TEST_OBJS = stest.o
- X
- X! FILES = ${XXFILES} ${DOCS} ${HDRS} ${SRCS} ${PERLSUB} ${TCLSUB} ${SCRIPTS}
- X
- X ###
- X # target dependencies
- X***************
- X*** 184,203 ****
- X ${LIBDIR}/${LIBFILE} \
- X ${LOCAL}/${PROGRAM}
- X
- X! ${INCDIR}/${NAME}.h: ${NAME}.h useful.h
- X ( ${CHDIR} ${INCDIR}; ${DEL} ${NAME}.h useful.h )
- X ${COPY} ${NAME}.h useful.h ${INCDIR}
- X
- X! ${LIBDIR}/${LIBFILE}: ${LIBARGS}
- X ${DEL} ${LIBDIR}/${LIBFILE}
- X ${COPY} ${LIBARGS} ${LIBDIR}/${LIBFILE}
- X ${RANLIB} ${LIBDIR}/${LIBFILE}
- X
- X! ${LOCAL}/${PROGRAM}: ${PROGRAM} ${PERLSUB}
- X! ${DEL} ${LOCAL}/${PROGRAM} ${PERLIB}/${PERLSUB}
- X ${COPY} ${PROGRAM} ${LOCAL}
- X ${STRIP} ${LOCAL}/${PROGRAM}
- X! ${COPY} ${PERLSUB} ${PERLLIB}
- X
- X ###
- X # maintenance dependencies
- X--- 186,206 ----
- X ${LIBDIR}/${LIBFILE} \
- X ${LOCAL}/${PROGRAM}
- X
- X! ${INCDIR}/${NAME}.h: ${NAME}.h useful.h
- X ( ${CHDIR} ${INCDIR}; ${DEL} ${NAME}.h useful.h )
- X ${COPY} ${NAME}.h useful.h ${INCDIR}
- X
- X! ${LIBDIR}/${LIBFILE}: ${LIBARGS}
- X ${DEL} ${LIBDIR}/${LIBFILE}
- X ${COPY} ${LIBARGS} ${LIBDIR}/${LIBFILE}
- X ${RANLIB} ${LIBDIR}/${LIBFILE}
- X
- X! ${LOCAL}/${PROGRAM}: ${PROGRAM} ${PERLSUB} ${TCLSUB}
- X! -${DEL} ${LOCAL}/${PROGRAM} ${PERLIB}/${PERLSUB} ${TCLLIB}/${TCLSUB}
- X ${COPY} ${PROGRAM} ${LOCAL}
- X ${STRIP} ${LOCAL}/${PROGRAM}
- X! -${COPY} ${PERLSUB} ${PERLLIB}
- X! -${COPY} ${TCLSUB} ${TCLLIB}
- X
- X ###
- X # maintenance dependencies
- X*** test.tcl.parseargs_patch12 Sat May 30 18:10:20 1992
- X--- test.tcl Sat May 30 17:46:55 1992
- X***************
- X*** 1,7 ****
- X! #!/usr/bin/tcl -q
- X
- X! source parseargs.tcl
- X
- X set arguments {
- X { '?', ARGHIDDEN, argUsage, NULL, "Help : print usage and exit" },
- X { 'S', ARGVALOPT, argStr, string, "STRing : optional string arg" },
- X--- 1,9 ----
- X! #!/usr/local/bin/tcl
- X
- X! load "parseargs.tcl"
- X
- X+ set scriptName "test.tcl"
- X+
- X set arguments {
- X { '?', ARGHIDDEN, argUsage, NULL, "Help : print usage and exit" },
- X { 'S', ARGVALOPT, argStr, string, "STRing : optional string arg" },
- X***************
- X*** 20,32 ****
- X set count 1
- X set dirname "."
- X set sepch ","
- X! set xflag ""
- X! set yflag "TRUE"
- X set files {}
- X set groups {}
- X- set name ""
- X set string ""
- X- set string_flag ""
- X
- X eval [ parseargs -u -a $arguments $scriptName $argv ]
- X
- X--- 22,32 ----
- X set count 1
- X set dirname "."
- X set sepch ","
- X! set xflag 0
- X! set yflag 1
- X set files {}
- X set groups {}
- X set string ""
- X
- X eval [ parseargs -u -a $arguments $scriptName $argv ]
- X
- X***************
- X*** 41,47 ****
- X echo "SepChar = $sepch"
- X echo "Name = $name"
- X echo "Files = $files"
- X! if {( "$string_flag" != "") } {
- X if {( "$string" == "" )} {
- X set string "!string arg ommitted on cmd-line!"
- X }
- X--- 41,47 ----
- X echo "SepChar = $sepch"
- X echo "Name = $name"
- X echo "Files = $files"
- X! if {( [info exists string_flag] )} {
- X if {( "$string" == "" )} {
- X set string "!string arg ommitted on cmd-line!"
- X }
- X*** doc/parseargs.man1.parseargs_patch12 Sat May 30 18:10:18 1992
- X--- doc/parseargs.man1 Sat May 30 17:46:46 1992
- X***************
- X*** 348,359 ****
- X specified to \fBparseargs\fP.
- X .\"-----------------------------------------------------------
- X .SH FILES
- X! .IP "\fI/usr/local/parseargs.pl\fP"
- X This file defines a \fIperl\fP function named \fIparseargs\fP to parse
- X arguments more conveniently for perl-scripts. The function is
- X both documented and implemented in this file. The user should
- X ``require'' this file in his/her perl-script before invoking the
- X function.
- X .IP "\fI/usr/local/parseargs.awk\fP"
- X This file defines an \fIawk\fP function named \fIparseargs\fP to parse
- X arguments more conveniently for awk-scripts. The function is
- X--- 348,365 ----
- X specified to \fBparseargs\fP.
- X .\"-----------------------------------------------------------
- X .SH FILES
- X! .IP "\fI/usr/local/lib/perl/parseargs.pl\fP"
- X This file defines a \fIperl\fP function named \fIparseargs\fP to parse
- X arguments more conveniently for perl-scripts. The function is
- X both documented and implemented in this file. The user should
- X ``require'' this file in his/her perl-script before invoking the
- X function.
- X+ .IP "\fI/usr/local/lib/tcl/parseargs.tcl\fP"
- X+ This file defines a \fItcl\fP procedure named \fIparseargs\fP to parse
- X+ arguments more conveniently for tcl-scripts. The procedure is
- X+ both documented and implemented in this file. The user should
- X+ ``load'' this file in his/her tcl-script before invoking the
- X+ procedure.
- X .IP "\fI/usr/local/parseargs.awk\fP"
- X This file defines an \fIawk\fP function named \fIparseargs\fP to parse
- X arguments more conveniently for awk-scripts. The function is
- X*** parseargs.tcl.parseargs_patch12 Sat May 30 18:10:19 1992
- X--- parseargs.tcl Sat May 30 17:46:49 1992
- X***************
- X*** 13,21 ****
- X # ^PROCEDURE: parseargs - parse command-line argument lists
- X #
- X # ^SYNOPSIS:
- X! # parseargs <options> -- $scriptName arg [arg ...]
- X #
- X # where <options> is any valid option combination for parseargs(1)
- X #
- X # ^DESCRIPTION:
- X # Parseargs will invoke parseargs(1) with the options and arguments
- X--- 13,22 ----
- X # ^PROCEDURE: parseargs - parse command-line argument lists
- X #
- X # ^SYNOPSIS:
- X! # parseargs <options> -- $scriptName $argv
- X #
- X # where <options> is any valid option combination for parseargs(1)
- X+ # and $argv is a list.
- X #
- X # ^DESCRIPTION:
- X # Parseargs will invoke parseargs(1) with the options and arguments
- X***************
- X*** 22,122 ****
- X # specified by the caller.
- X #
- X # ^RETURN-VALUE:
- X! # A string of variable settings for the caller to evaluate
- X #
- X # ^EXAMPLE:
- X! # #!/usr/bin/tcl -q
- X #
- X! # source parseargs.tcl
- X #
- X # set arguments {
- X! # { '?', ARGHIDDEN, argUsage, NULL, "Help : print usage and exit" },
- X! # { 'S', ARGVALOPT, argStr, string, "STRing : optional string arg" },
- X! # { 'g', ARGLIST, argStr, groups, "newsGROUPS : groups to test" },
- X! # { 'r', ARGOPT, argInt, count, "REPcount : group repeat count" },
- X! # { 'd', ARGOPT, argStr, dirname, "DIRectory : working directory" },
- X! # { 'x', ARGOPT, argBool, xflag, "Xflag : turn on X-mode" },
- X! # { 'y', ARGOPT, argUBool, yflag, "Yflag : turn off Y-mode" },
- X! # { 's', ARGOPT, argChar, sepch, "SEPchar : field separator" },
- X! # { 'f', ARGLIST, argStr, files, "files : files to process" },
- X! # { 'n', ARGREQ|ARGPOS, argStr, name, "name : name to use" },
- X! # { ' ', ARGLIST, argStr, argv, "argv : remaining arguments" },
- X! # ENDOFARGS
- X # }
- X #
- X # set count 1 ; set dirname "." ; set sepch "," ;
- X! # set xflag "" ; set yflag "TRUE" ;
- X! # set files {} ; set groups {} ; set name "" ;
- X! # set string "" ; set string_flag "" ;
- X #
- X! # eval [ parseargs -u -a $arguments $scriptName $argv ]
- X #
- X- #
- X- # ^ALGORITHM:
- X- # We need to do an "eval exec parseargs $args" in order have exec
- X- # treat $args as many arguments instead of just one argument. Before
- X- # we can do that however, we must quote each argument in $args and
- X- # escape any special characters that it contains. Hence we have the
- X- # following algorithm:
- X- #
- X- # - quote and escape special character for each arg in $args
- X- # - do an "eval exec $args" and save the results
- X- # - if parseargs(1) exit-status is non-zero than exit (and make
- X- # sure the parseargs message(s) is/are printed).
- X- # else
- X- # return the standard-output of parseargs(1)
- X- # endif
- X- #
- X- #
- X- # ^BUGS:
- X- # Actually - this procedure doesnt work. It has some problems,
- X- # some of which I know about and can describe below:
- X- #
- X- # 1) TCL refuses to let ME do the error-checking after exec'ing parseargs(1).
- X- # What I need to do is look at the exit-status and exit if it is non-zero.
- X- # If parseargs happens to write anything to stderr (which it always does
- X- # if it prints usage or a syntax error) then TCL automatically terminates
- X- # my procedure (not the process) and doesnt let me check the exit-status.
- X- #
- X- # 2) Error messages printed by parseargs(1) are prefixed with "Error: "
- X- # and suffixed by some other error-message info added by TCL. I dont
- X- # want ANY of this, just let parseargs(1) print the error text and dont
- X- # embellish it. As a fix, I tried to have parseargs(1) write error messages
- X- # to stdout (for TCL only) and exit with a non-zero status. This didnt
- X- # work at all (and Im not completely sure as to why).
- X- #
- X- # 3) I ought to be able to use far fewer "regsub" statements below but I
- X- # couldnt seem to get "&" or "\0" to work as documented as substitution
- X- # strings.
- X- #
- X- # If you happen to get this procedure (along with test.tcl) working, then
- X- # please, PLEASE let me know and tell me how you did it!!
- X- #
- X ###^^####
- X proc parseargs args {
- X! set escaped_args {}
- X! foreach arg $args {
- X! regsub -all "\\\\" "$arg" "\\\\" arg
- X! regsub -all "\\\$" "$arg" "\\\$" arg
- X! regsub -all "\\\[" "$arg" "\\\[" arg
- X! regsub -all "\]" "$arg" "\\\]" arg
- X! regsub -all "\{" "$arg" "\\\{" arg
- X! regsub -all "\]" "$arg" "\\\]" arg
- X! regsub -all "\"" "$arg" "\\\"" arg
- X! regsub -all "\t" "$arg" "\\t" arg
- X! regsub -all "\n" "$arg" "\\n" arg
- X! regsub -all "\r" "$arg" "\\r" arg
- X! regsub -all "\v" "$arg" "\\v" arg
- X! regsub -all "\f" "$arg" "\\f" arg
- X! regsub -all "\b" "$arg" "\\b" arg
- X! append escaped_args " \"$arg\""
- X }
- X- set errorCode {}
- X- set opt_settings [ eval exec parseargs -s tcl $escaped_args ]
- X- if {( $errorCode != {} )} {
- X- ## echo $opt_settings
- X- exit [lindex $errorCode 2]
- X- }
- X- return $opt_settings ;
- X }
- X
- X--- 23,97 ----
- X # specified by the caller.
- X #
- X # ^RETURN-VALUE:
- X! # A string of variable settings for the caller to evaluate.
- X! # If parseargs(1) exits with a non-zero status, then execution
- X! # is terminated.
- X #
- X # ^EXAMPLE:
- X! # #!/usr/local/bin/tcl
- X #
- X! # load parseargs.tcl
- X #
- X # set arguments {
- X! # { '?', ARGHIDDEN, argUsage, NULL, "Help : print usage and exit" },
- X! # { 'S', ARGVALOPT, argStr, string, "STRing : optional string arg" },
- X! # { 'g', ARGLIST, argStr, groups, "newsGROUPS : groups to test" },
- X! # { 'r', ARGOPT, argInt, count, "REPcount : group repeat count" },
- X! # { 'd', ARGOPT, argStr, dirname, "DIRectory : working directory" },
- X! # { 'x', ARGOPT, argBool, xflag, "Xflag : turn on X-mode" },
- X! # { 'y', ARGOPT, argUBool, yflag, "Yflag : turn off Y-mode" },
- X! # { 's', ARGOPT, argChar, sepch, "SEPchar : field separator" },
- X! # { 'f', ARGLIST, argStr, files, "files : files to process" },
- X! # { 'n', ARGREQ|ARGPOS, argStr, name, "name : name to use" },
- X! # { ' ', ARGLIST, argStr, argv, "argv : any remaining args" },
- X! # ENDOFARGS
- X # }
- X #
- X # set count 1 ; set dirname "." ; set sepch "," ;
- X! # set xflag 0 ; set yflag 1 ;
- X! # set files {} ; set groups {} ;
- X! # set string "" ;
- X #
- X! # eval [ parseargs -decls $arguments $scriptName $argv ]
- X #
- X ###^^####
- X proc parseargs args {
- X! ## set temp-file name
- X! if {( ! [info exists env] )} { set env(TMP) "/tmp" }
- X! if {( $env(TMP) == "" )} { set env(TMP) "/tmp" }
- X! set tmpFileName "$env(TMP)/tmp[id process]"
- X!
- X! ## isolate the last argument (a list) from the rest
- X! set last [expr {[llength $args] - 1}]
- X! set cmdArgv [lindex $args $last]
- X! set cmdOpts [lrange $args 0 [expr {$last - 1}]]
- X!
- X! ## fork and exec
- X! if {( [set childPid [fork]] == 0 )} {
- X! ## This is the child ...
- X! ## redirect stdout to temp-file and exec parseargs(1)
- X! ##
- X! set tmpFile [open $tmpFileName "w"]
- X! close stdout
- X! dup $tmpFile stdout
- X! close $tmpFile
- X! execl parseargs [concat -s tcl $cmdOpts $cmdArgv]
- X! } else {
- X! ## This is the parent ...
- X! ## wait for the child, check its status, then return its output
- X! ## dont forget to remove the temp-file.
- X! ##
- X! set childStatus [wait $childPid]
- X! set how [lindex $childStatus 1]
- X! set ret [lindex $childStatus 2]
- X! if {( ($how == "EXIT") && ($ret == 0) )} {
- X! set variableSettings [exec cat $tmpFileName]
- X! unlink -nocomplain $tmpFileName
- X! return $variableSettings
- X! } else {
- X! unlink -nocomplain $tmpFileName
- X! exit [expr {$how == "EXIT" ? $ret : 127}]
- X! }
- X }
- X }
- X
- X*** MANIFEST.parseargs_patch12 Sat May 30 18:10:16 1992
- X--- MANIFEST Sat May 30 17:46:39 1992
- X***************
- X*** 5,11 ****
- X Makefile 2 makefile for parseargs library
- X README 1 release information
- X VMSbuild.com 2 VMS makefile for the parseargs library
- X! amiga_args.c 5 parse AmigaDOS command-lines
- X arglist.c 3 implement the listXxxx functions for arglists
- X argtype.c 5 implement the argXxxx argument type functions
- X doc 1 directory containing documentation
- X--- 5,11 ----
- X Makefile 2 makefile for parseargs library
- X README 1 release information
- X VMSbuild.com 2 VMS makefile for the parseargs library
- X! amiga_args.c 4 parse AmigaDOS command-lines
- X arglist.c 3 implement the listXxxx functions for arglists
- X argtype.c 5 implement the argXxxx argument type functions
- X doc 1 directory containing documentation
- X***************
- X*** 34,40 ****
- X doc/parsecntl.man3 1 {n,t}roff source for parsecntl(3)
- X doc/parsecntl3.inc 1 describe parsecntl(3)
- X doc/parsecntls.inc 2 describe function-codes for parsecntl(3)
- X! doc/parseflags.inc 3 describe parse flags
- X doc/parsemodes.inc 1 describe modes for parsecntl(3)
- X doc/returns.inc 2 describe function return values
- X doc/sh_arrays.inc 3 describe handling of shell arrays
- X--- 34,40 ----
- X doc/parsecntl.man3 1 {n,t}roff source for parsecntl(3)
- X doc/parsecntl3.inc 1 describe parsecntl(3)
- X doc/parsecntls.inc 2 describe function-codes for parsecntl(3)
- X! doc/parseflags.inc 2 describe parse flags
- X doc/parsemodes.inc 1 describe modes for parsecntl(3)
- X doc/returns.inc 2 describe function return values
- X doc/sh_arrays.inc 3 describe handling of shell arrays
- X***************
- X*** 43,52 ****
- X doc/usage3.inc 1 describe usage(3)
- X doc/vparseargs3.inc 1 describe vparseargs(3)
- X exit_codes.h 1 #defines for arguments to exit(3C)
- X! ibm_args.c 6 parse MS-DOS and OS/2 command-lines
- X parseargs.awk 3 parseargs for awk
- X! parseargs.c 10 C source for parseargs(1)
- X! parseargs.h 8 include file for parseargs library
- X parseargs.pl 2 parseargs for perl
- X parseargs.tcl 2 parseargs for tcl
- X patchlevel.h 3 list of patches (most recent first)
- X--- 43,52 ----
- X doc/usage3.inc 1 describe usage(3)
- X doc/vparseargs3.inc 1 describe vparseargs(3)
- X exit_codes.h 1 #defines for arguments to exit(3C)
- X! ibm_args.c 5 parse MS-DOS and OS/2 command-lines
- X parseargs.awk 3 parseargs for awk
- X! parseargs.c 9 C source for parseargs(1)
- X! parseargs.h 7 include file for parseargs library
- X parseargs.pl 2 parseargs for perl
- X parseargs.tcl 2 parseargs for tcl
- X patchlevel.h 3 list of patches (most recent first)
- X***************
- X*** 53,59 ****
- X pgopen.c 4 pipe output to a pager
- X pgopen.h 1 include file for pgopen.c
- X stest.c 4 test program for parseargs(3)
- X! strfuncs.c 7 string library
- X strfuncs.h 2 include file for strfuncs.c
- X syserr.c 3 diagnostic message printing routines
- X test.awk 3 awk test program for parseargs(1)
- X--- 53,59 ----
- X pgopen.c 4 pipe output to a pager
- X pgopen.h 1 include file for pgopen.c
- X stest.c 4 test program for parseargs(3)
- X! strfuncs.c 6 string library
- X strfuncs.h 2 include file for strfuncs.c
- X syserr.c 3 diagnostic message printing routines
- X test.awk 3 awk test program for parseargs(1)
- X***************
- X*** 66,73 ****
- X test.zsh 2 Z shell test program for parseargs(1)
- X unix_args.c 5 parse Unix command-lines
- X unix_man.c 4 print Unix manual-page templates
- X! useful.h 4 common include file for the library
- X vms_args.c 6 parse VAX/VMS DCL command-lines
- X vprintf.c 3 portable vfprintf, vprintf, and vsprintf
- X winsize.c 3 determine # rows and # columns of window
- X! xparse.c 9 implement the parseargs library
- X--- 66,73 ----
- X test.zsh 2 Z shell test program for parseargs(1)
- X unix_args.c 5 parse Unix command-lines
- X unix_man.c 4 print Unix manual-page templates
- X! useful.h 3 common include file for the library
- X vms_args.c 6 parse VAX/VMS DCL command-lines
- X vprintf.c 3 portable vfprintf, vprintf, and vsprintf
- X winsize.c 3 determine # rows and # columns of window
- X! xparse.c 8 implement the parseargs library
- END_OF_FILE
- if test 20036 -ne `wc -c <'PATCH13'`; then
- echo shar: \"'PATCH13'\" unpacked with wrong size!
- fi
- # end of 'PATCH13'
- fi
- echo shar: End of shell archive.
- exit 0
-
- exit 0 # Just in case...
-