home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-06 | 89.4 KB | 2,338 lines |
- Newsgroups: comp.sources.unix
- From: klin@iat.uni-paderborn.de (Peter Klingebiel)
- Subject: v26i065: utree - screen oriented filesystem utility (V3.03b-um), Part02/08
- Sender: unix-sources-moderator@pa.dec.com
- Approved: vixie@pa.dec.com
-
- Submitted-By: klin@iat.uni-paderborn.de (Peter Klingebiel)
- Posting-Number: Volume 26, Issue 65
- Archive-Name: utree/part02
-
- #! /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 archive 2 (of 8)."
- # Contents: CHANGES COPYRIGHT MANIFEST Makefile bin/utree.mklist2
- # src/cmds.h src/help.c src/term.h src/vers.c sup/vfprintf.c
- # sup/vsprintf.c sys/conf.h.286 sys/conf.h.AIX sys/conf.h.APP
- # sys/conf.h.M16 sys/conf.h.M32 sys/conf.h.MIPS sys/conf.h.RCU
- # sys/conf.h.SCO sys/conf.h.SEQ sys/conf.h.SGI sys/conf.h.ULT
- # sys/conf.h.X23
- # Wrapped by vixie@cognition.pa.dec.com on Mon Sep 7 14:39:53 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'CHANGES'\"
- else
- echo shar: Extracting \"'CHANGES'\" \(4308 characters\)
- sed "s/^X//" >'CHANGES' <<'END_OF_FILE'
- X
- X UTREE - screen oriented filesystem utility
- X CHANGES, klin, Fri Mar 6 07:26:25 1992
- X
- X------------------------------------------------------------------------------
- X
- utree 3.00-um
- X - Apr 20 1991, klin
- X Initial version 3.00-um for distribution
- X - May 5 1991, klin
- X Minor bug fixes and extensions
- X
- utree 3.01-um
- X - Jun 4 1991, klin
- X Z-command for zooming filelist/files in/out added
- X - Oct 7 1991, klin
- X File size patterns =!<> added, time patterns changed to from <> to ()
- X Bug in putchar() deleted
- X Minor changes in screen handling
- X - Oct 15 1991, klin
- X Handling of symbolic links changed
- X Option -L for following symbolic links added
- X Option -f lst for building the tree from list file lst added
- X - Oct 26 1991, klin
- X Marking directories changed
- X Sorting/zooming filelists on tree screen changed
- X Copying and moving files changed (select directory)
- X Select directory added
- X Some more minor changes in functions
- X Print formatted tree list added
- X Filter utree.prlist for printing formatted tree list files created
- X
- utree 3.02-um
- X - Nov 1 1991, klin
- X Screen layout changed
- X Goto parent directory on tree screen (<-command) added
- X Option -u changed to -n (no scan tree)
- X Option -u added (update file lists in tree)
- X Stuff for APOLLO node names added
- X Bug in calling editor in empty directory deleted
- X Other minor changes
- X - Nov 10 1991, klin
- X Functions key handling changed (typedef kchar and ksymbol)
- X Reading list files changed for handling relative given pathnames
- X Postscript driver for utree.prlist
- X Utree.backup.sh and utree.mklist.sh extended
- X - Nov 24 1991, klin
- X Some error fixes and extensions for XENIX reported and done by
- X Rolf Gebhardt (Nov 22 1991)
- X Change to current directory list for some commands on tree screen
- X Video attributes changed
- X
- utree 3.03-um
- X - Feb 11 1992, klin
- X Shell screen put into own module hist.[ch] and command history added
- X Status screen put into own module stat.c
- X Generic list type glist for using from within line editor added
- X Most list types changed for using of the generic list type glist
- X Lineeditor extended for using of generic lists
- X Handling of variables and filetype command changed
- X - Feb 15 1992, klin
- X Video handling and meaning of option -v changed
- X Display attributes and user customizable video mode flag added
- X Partinioning of directory and file window on tree screen changed
- X Option -p for tree screen partitioning added
- X Variables VIDEOMODE and FILELINES added
- X - Feb 22 1992, klin
- X Some commands on tree changed to work on current directory or subtree
- X or tagged files dependent on command letter entered in lowercase or
- X uppercase letter. The commands working on current directory/subtree
- X are: f/F=find, g/G=grep, n/N=sort, t/T=tag, u/U=untag, z/Z=zoom.
- X The commands working on current directory/tagged files are:
- X b/B=backup, c/C=change/copy, l,L=list, m/M=mkdir/move, r/R=remove.
- X Formatcharacters %H and %R for home and root directory added
- X - Feb 22 1992, klin
- X Many commands on tree changed to handle current directory or subtree
- X (find, grep, sort, tag, untag, zoom) or tagged files in subtree
- X (backup, copy, list, move, remove) dependent if command letter is
- X entered in upper or lower case (like commands on file screen)
- X - Feb 23 1992, klin
- X Key handling changed. Bindings screen and user customizable and
- X definable key bindings added. Key bindings from statically defined
- X bindings to default bindings changed which are bound at startup.
- X User defined key bindings can be done at startup in terminal
- X dependent binding files or at run time on the bindings screen.
- X Variable HISTSIZE (settable at startup only) added.
- X Save variables, commands, history and key bindings if there were
- X any changes and if the new variable AUTOSAVE is set to ON.
- X Command line option -o for omitting saving changes added
- X - Mar 6 1992, klin
- X Some minor changes before distribution
- X
- END_OF_FILE
- if test 4308 -ne `wc -c <'CHANGES'`; then
- echo shar: \"'CHANGES'\" unpacked with wrong size!
- fi
- # end of 'CHANGES'
- fi
- if test -f 'COPYRIGHT' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'COPYRIGHT'\"
- else
- echo shar: Extracting \"'COPYRIGHT'\" \(5309 characters\)
- sed "s/^X//" >'COPYRIGHT' <<'END_OF_FILE'
- X
- X UTREE - screen oriented filesystem utility
- X COPYRIGHT and distribution notice, klin, Sun Feb 16 16:28:43 1992
- X
- X------------------------------------------------------------------------------
- X
- X UTREE version 3.03-um
- X Copyright (c) 1991/92 Peter Klingebiel & UNIX Magazin
- X All rights reserved.
- X
- X------------------------------------------------------------------------------
- X
- Remember, you get what you pay for. The author and UNIX Magazin are not liable
- for any bugs or consequential damages arising from the use of this software.
- However, they may fix bugs if they are asked nicely.
- X
- X------------------------------------------------------------------------------
- X
- X *** NO WARRANTY ***
- X
- BECAUSE THIS PROGRAM IS LICENSED FREE OF CHARGE, THE AUTHOR AND UNIX MAGAZIN
- PROVIDE ABSOLUTELY NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE
- LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING, THE AUTHORS AND/OR OTHER
- PARTIES PROVIDE THIS PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
- XEXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
- THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
- PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
- CORRECTION.
- X
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL THE AUTHORS AND/OR ANY
- OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THIS PROGRAM BE LIABLE TO YOU
- XFOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL,
- INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
- X(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE
- OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
- WITH ANY OTHER PROGRAMS) THIS PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
- X
- X------------------------------------------------------------------------------
- X
- X *** GENERAL PUBLIC LICENSE TO COPY ***
- X
- X1. You may copy and distribute verbatim copies of this program as you receive
- it, in any medium, provided that you conspicuously and appropriately publish on
- each copy a valid copyright notice,
- X
- X "Copyright (c) 1991 Peter Klingebiel & UNIX Magazin"
- X
- and include following the copyright notice a verbatim copy of the above
- disclaimer of warranty and of this License. You may charge a distribution fee
- for the physical act of transferring a copy.
- X
- X2. You may modify your copy or copies of this source file or any portion of it,
- and copy and distribute such modifications under the terms of Paragraph 1 above,
- provided that you also do the following:
- X
- X a) cause the modified files to carry prominent notices stating that you
- X changed the files and the date of any change, and
- X
- X b) cause the whole of any work that you distribute or publish, that in
- X whole or in part contains or is a derivative of this program or any part
- X thereof, to be licensed at no charge to all third parties on terms
- X identical to those contained in this License Agreement (except that you
- X may choose to grant more extensive warranty protection to third parties,
- X at your option).
- X
- X c) You may charge a distribution fee for the physical act of transferring
- X a copy, and you may at your option offer warranty protection in
- X exchange for a fee.
- X
- X3. You may copy and distribute this program or any portion of it in compiled,
- executable or object code form under the terms of Paragraphs 1 and 2 above
- provided that you do the following:
- X
- X a) cause each such copy to be accompanied by the corresponding
- X machine-readable source code, which must be distributed under the terms
- X of Paragraphs 1 and 2 above, or
- X
- X b) cause each such copy to be accompanied by a written offer, with no time
- X limit, to give any third party free (except possibly for a nominal
- X shipping charge) a machine readable copy of the corresponding source
- X code, to be distributed under the terms of Paragraphs 1 and 2 above, or
- X
- X c) in the case of a recipient of this program in compiled, executable or
- X object code form (without the corresponding source code), you shall
- X cause copies you distribute to be accompanied by a copy of the written
- X offer of source code which you received along with the copy you received.
- X
- X4. You may not copy, sublicense, distribute or transfer this program except as
- expressly provided under this License Agreement. Any attempt otherwise to copy,
- sublicense, distribute or transfer this program is void and your rights to use
- the program under this License Agreement shall be automatically terminated.
- However, parties who have received computer software programs from you with
- this License Agreement will not have their licenses terminated so long as such
- parties remain in full compliance.
- X
- X------------------------------------------------------------------------------
- X
- In other words, you are welcome to use, share and improve this program. You
- are forbidden to forbid anyone else to use, share and improve what you
- give them. Help stamp out software-hoarding!
- X
- X------------------------------------------------------------------------------
- X
- END_OF_FILE
- if test 5309 -ne `wc -c <'COPYRIGHT'`; then
- echo shar: \"'COPYRIGHT'\" unpacked with wrong size!
- fi
- # end of 'COPYRIGHT'
- fi
- if test -f 'MANIFEST' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MANIFEST'\"
- else
- echo shar: Extracting \"'MANIFEST'\" \(5433 characters\)
- sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
- X
- X UTREE 3.03-um - screen oriented filesystem utility
- X MANIFEST, klin, Sun Feb 23 23:55:21 1992
- X
- X------------------------------------------------------------------------------
- X
- X bin - Utree executable directory
- X doc - Utree manual pages
- X lib - Utree library files
- X src - Utree source directory
- X sup - Additional support routines from PD
- X sys - Some system dependent make and conf files
- X tst - Some simple test programs for configuration
- X
- X README - Readme first
- X MANIFEST - This file
- X COPYRIGHT - Copyright and distribution notice
- X CHANGES - Changes since utree version 3.00-um
- X TODO - Ideas for further extensions
- X Makefile - Makefile for exes, manual and installation
- X
- X src/Makefile - Makefile for utree executable
- X src/cmds.h - Command definitions
- X src/conf.h - System dependent definitions
- X src/defs.h - General definitions
- X src/help.h - Help page definitions
- X src/hist.h - Shell execution and history definitions
- X src/keys.h - Keyboard and key definitions
- X src/list.h - Tree and file list definitions
- X src/term.h - Terminal and screen definitions
- X src/vars.h - Variable definitions
- X src/bind.c - Key binding routines
- X src/comm.c - Common commands for tree and file screen
- X src/echo.c - Utree input and output routines
- X src/edit.c - Line editor
- X src/file.c - File screen menu and functions
- X src/help.c - Help page menu and functions
- X src/hist.c - Shell execution and command history
- X src/list.c - Directory and file list handling
- X src/main.c - Main routine
- X src/stat.c - File status functions
- X src/term.c - Tty and screen handling
- X src/tree.c - Directory tree screen menu and functions
- X src/util.c - Utility routines
- X src/vars.c - Utree variable routines
- X src/vers.c - Utree version and history
- X src/utree.prlist.c - Filter for formatted tree list files
- X
- X bin/utree.backup - Example backup shell script (SYSV)
- X bin/utree.mklist - Example create tree list shell script
- X bin/utree.mklist2 - Alternate utree.mklist from R. Gebhardt
- X bin/qtree - Shell script for quick startup
- X bin/xtree - Shell script for running utree in xterm
- X
- X lib/utree.help - Utree help pages
- X lib/utree.binding - Example keybinding file ($HOME/.utree-term)
- X lib/utree.startup - Example startup file ($HOME/.utree)
- X
- X doc/utree.1 - Manual page for utree
- X doc/utree.prlist.1 - Manual page for utree.prlist
- X
- X sup/README - Readme for varargs v[fs]printf
- X sup/getopt.c - PD command line option parser getopt(3)
- X sup/vsprintf.c - PD varargs sprintf(3)
- X sup/vfprintf.c - PD varargs fprintf(3) (not used by utree)
- X
- X sys/Makefile.286 - UNIX V/286 compatible (MSC on SCO UNIX/386)
- X sys/conf.h.286
- X sys/Makefile.AIX - AIX 3.1 (IBM RS/6000)
- X sys/conf.h.AIX
- X sys/Makefile.APP - DomainIX 9.5 (BSD4.2 and SystemV)
- X sys/conf.h.APP Siemens WS30/360, Apollo Domain DN4500
- X sys/Makefile.BSD - BSD 4.2/4.3 (Generic)
- X sys/conf.h.BSD
- X sys/Makefile.CON - ConvexOS 8.1 (Convex C120)
- X sys/conf.h.CON
- X sys/Makefile.M16 - MUNIX V2/07 (PCS Cadmus 9230, MC68010)
- X sys/conf.h.M16
- X sys/Makefile.M32 - MUNIX V3M3.2 (PCS Cadmus 9600, MC68020)
- X sys/conf.h.M32
- X sys/Makefile.MIPS - RISC/os 4.51 (MIPS RC3230, R3000)
- X sys/conf.h.MIPS
- X sys/Makefile.RCU - MUNIX V3R3.2 (PCS Cadmus 9900, MIPS R[23]000)
- X sys/conf.h.RCU derived from MIPS RISC/os 4.00
- X sys/Makefile.SCO - SCO UNIX System V/386 3.2
- X sys/conf.h.SCO
- X sys/Makefile.SEQ - Dynix i386 (Sequent Symmetrie)
- X sys/conf.h.SEQ
- X sys/Makefile.SGI - IRIX V.3.2 (Silicon Graphics)
- X sys/conf.h.SGI
- X sys/Makefile.SUN - SunOS 4.1.x (SUN4, SPARC)
- X sys/conf.h.SUN
- X sys/Makefile.ULT - Ultrix-32 3.1 (DECstation, VAXstation)
- X sys/conf.h.ULT
- X sys/Makefile.V.2 - System V.2 (Generic)
- X sys/conf.h.V.2
- X sys/Makefile.V.3 - System V.3 (Generic)
- X sys/conf.h.V.3
- X sys/Makefile.VAX - 4.3 BSD UNIX (DEC VAX/750)
- X sys/conf.h.VAX
- X sys/Makefile.X23 - SCO XENIX SysV 2.3.2 386GT
- X sys/conf.h.X23
- X
- X tst/fionread.c - Test ioctl(FIONREAD)
- X tst/sigwinch.c - Test signal SIGWINCH and ioctl(TIOCGWINSZ)
- X after resizing a terminal window under X.
- X
- X------------------------------------------------------------------------------
- X
- END_OF_FILE
- if test 5433 -ne `wc -c <'MANIFEST'`; then
- echo shar: \"'MANIFEST'\" unpacked with wrong size!
- fi
- # end of 'MANIFEST'
- fi
- if test -f 'Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Makefile'\"
- else
- echo shar: Extracting \"'Makefile'\" \(5083 characters\)
- sed "s/^X//" >'Makefile' <<'END_OF_FILE'
- X#
- X# Makefile for UTREE 3.03-um
- X# klin, Sun Feb 16 16:35:52 1992
- X#
- X# Steps to create an utree executable:
- X# - First check src/Makefile if all definitions are correct for
- X# your system. There are some Makefiles for SYSV.2, SYSV.3 and
- X# BSD. Check and change the correct Makefile for your system and
- X# copy it to Makefile.
- X# - Then check src/conf.h if all definitions are correct for
- X# your system. There are some conf.h for SYSV.2, SYSV.3 and
- X# BSD. Check and change the correct conf.h for your system and
- X# copy it to conf.h.
- X# - Call make or make utree to create utree. The executable
- X# is written into the bin directory. Test utree.
- X#
- X# Steps to create utree man page:
- X# - Check all manual definitions in this Makefile and change them if
- X# needed.
- X# - Call make man to create the utree manual page if your
- X# systems needs formatted and/or packed manual pages.
- X#
- X# Steps to install utree:
- X# - Check all install definitions in this Makefile and change them if
- X# needed.
- X# - Call make install to install utree executables and manual
- X# page (you must be super user to do this).
- X#
- X
- X# --------------------------------------------------------------------- #
- X
- X# Utree executables
- X# The utree utility
- UTREE=utree
- X# The tree list formatter
- UTPRL=utree.prlist
- X
- X# Utree support shell scripts
- UHELP= utree.help # Utree help pages
- UBACK= utree.backup # Utree backup shell script
- ULIST= utree.mklist # Create directory lists for quicker startup
- X
- UTMAN= utree.1 # Utree man page
- UPMAN= utree.prlist.1 # Utree.prlist man page
- X
- X# --------------------------------------------------------------------- #
- X
- X# Create utree executable
- X
- all: $(UTREE) $(UTPRL)
- X
- clean: clean.real
- X ( cd src; make -f ../Makefile clean.real )
- X ( cd bin; make -f ../Makefile clean.real )
- X
- clean.real:
- X -rm -f *.o *.BAK *.CKP *~
- X -rm -f core $(UTREE) $(UTPRL)
- X
- X# Compile and link utree executables
- X$(UTREE):
- X @echo "Make $(UTREE)"
- X cd src; make $@
- X
- X$(UTPRL):
- X @echo "Make $(UTPRL)"
- X cd src; make $@
- X
- X# Strip off symbols
- strip:
- X @echo "Make stripped $(UTREE)"
- X cd src; make $@
- X
- X# --------------------------------------------------------------------- #
- X
- X# Utree manual pages. Edit and change the following lines if needed!
- X
- X# Commands needed for utree manual page
- TBL= tbl
- NROFF= nroff
- CP= cp
- RM= rm
- PACK= pack
- COMP= compress
- X
- man:
- X# Unformatted manual pages
- X $(CP) doc/utree.m doc/$(UTMAN).1
- X $(CP) doc/utree.prlist.m doc/$(UPMAN).1
- X# Formatted manual pages
- X# $(TBL) doc/utree.m | $(NROFF) -man > doc/$(UTMAN)
- X# $(TBL) doc/utree.prlist.m | $(NROFF) -man > doc/$(UPMAN)
- X# Packed formatted manual pages
- X# $(RM) -f doc/$(UTMAN).z doc/$(UPMAN).z
- X# $(PACK) doc/$(UTMAN) doc/$(UPMAN)
- X# Compressed formatted manual pages
- X# $(RM) -f doc/$(UTMAN).Z doc/$(UPMAN).Z
- X# $(COMP) doc/$(UTMAN) doc/$(UPMAN)
- X
- X# --------------------------------------------------------------------- #
- X
- X# Install utree. Change the following lines if needed!
- X# WARNING: You must be super user to do this!
- X
- X# Bin, lib and man directories for utree files
- BINDIR= /usr/local/bin
- LIBDIR= /usr/local/lib
- MANDIR= /usr/local/man/man1
- X#MANDIR= /usr/local/man/cat1
- X
- X# Commands needed for installation of utree files
- CHMOD= chmod
- CHOWN= chown
- CHGRP= chgrp
- MKDIR= mkdir -p
- X
- X# Access modes and owner/group of utree binaries, help and man pages
- XXMODE= 0755
- RMODE= 0644
- OWNER= bin
- GROUP= bin
- X
- X# Sorry, not all UNIXes have the (BSD) install utility!
- install:
- X @echo "Install $(UTREE)"
- X -test -d $(BINDIR) || $(MKDIR) $(BINDIR)
- X -test -d $(LIBDIR) || $(MKDIR) $(LIBDIR)
- X -test -d $(MANDIR) || $(MKDIR) $(MANDIR)
- X $(CP) bin/$(UTREE) $(BINDIR)
- X $(CHMOD) $(XMODE) $(BINDIR)/$(UTREE)
- X $(CHOWN) $(OWNER) $(BINDIR)/$(UTREE)
- X $(CHGRP) $(GROUP) $(BINDIR)/$(UTREE)
- X @echo "Install $(UTPRL)"
- X $(CP) bin/$(UTPRL) $(BINDIR)
- X $(CHMOD) $(XMODE) $(BINDIR)/$(UTPRL)
- X $(CHOWN) $(OWNER) $(BINDIR)/$(UTPRL)
- X $(CHGRP) $(GROUP) $(BINDIR)/$(UTPRL)
- X @echo "Install $(UHELP) in $(LIBDIR)"
- X $(CP) lib/$(UHELP) $(LIBDIR)
- X $(CHMOD) $(RMODE) $(LIBDIR)/$(UHELP)
- X $(CHOWN) $(OWNER) $(LIBDIR)/$(UHELP)
- X $(CHGRP) $(GROUP) $(LIBDIR)/$(UHELP)
- X @echo "Install $(UBACK) in $(BINDIR)"
- X $(CP) bin/$(UBACK) $(BINDIR)
- X $(CHMOD) $(XMODE) $(BINDIR)/$(UBACK)
- X $(CHOWN) $(OWNER) $(BINDIR)/$(UBACK)
- X $(CHGRP) $(GROUP) $(BINDIR)/$(UBACK)
- X @echo "Install $(ULIST) in $(BINDIR)"
- X $(CP) bin/$(ULIST) $(BINDIR)
- X $(CHMOD) $(XMODE) $(BINDIR)/$(ULIST)
- X $(CHOWN) $(OWNER) $(BINDIR)/$(ULIST)
- X $(CHGRP) $(GROUP) $(BINDIR)/$(ULIST)
- X @echo "Install $(UTMAN) $(UPMAN) in $(MANDIR)"
- X $(CP) doc/$(UTMAN) doc/$(UPMAN) $(MANDIR)
- X $(CHMOD) $(RMODE) $(MANDIR)/$(UTMAN) $(MANDIR)/$(UPMAN)
- X $(CHOWN) $(OWNER) $(MANDIR)/$(UTMAN) $(MANDIR)/$(UPMAN)
- X $(CHGRP) $(GROUP) $(MANDIR)/$(UTMAN) $(MANDIR)/$(UPMAN)
- X
- X# --------------------------------------------------------------------- #
- X
- END_OF_FILE
- if test 5083 -ne `wc -c <'Makefile'`; then
- echo shar: \"'Makefile'\" unpacked with wrong size!
- fi
- # end of 'Makefile'
- fi
- if test -f 'bin/utree.mklist2' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'bin/utree.mklist2'\"
- else
- echo shar: Extracting \"'bin/utree.mklist2'\" \(2580 characters\)
- sed "s/^X//" >'bin/utree.mklist2' <<'END_OF_FILE'
- X:
- X# UTREE.MKLIST.SH
- X# UTREE create tree directory list for quicker startup
- X# 3.00-um klin, Sat Apr 20 11:27:17 1991
- X# Usage: utree.mklist [-a]
- X# Options: -a Read in all (including hidden) directories
- X# Directory: /usr/local/bin
- X#
- X# Copyright (c) 1991 by Peter Klingebiel & UNIX Magazin Muenchen.
- X# For copying and distribution information see the file COPYRIGHT.
- X#
- X# SCCSID=@(#) utree.mklist.sh (utree 3.00-um) Apr 20 1991
- X#
- X#
- X# Introduction of sort fields by Rolf Gebhardt
- X#
- X# avoids funny sort orders, e.g.
- X#
- X# /u/user/utree/utree.um
- X# /u/user/utree/utree.um.1
- X# /u/user/utree/utree.um.1/bin
- X# /u/user/utree/utree.um.1/doc
- X# /u/user/utree/utree.um/bin
- X# /u/user/utree/utree.um/doc
- X#
- X# the right sort order, which represents the directory-tree, is
- X#
- X# /u/user/utree/utree.um
- X# /u/user/utree/utree.um/bin
- X# /u/user/utree/utree.um/doc
- X# /u/user/utree/utree.um.1
- X# /u/user/utree/utree.um.1/bin
- X# /u/user/utree/utree.um.1/doc
- X#
- X#
- X#
- LIST=$HOME/.utreelist # List file
- XFIELDS="" # Sort Field List generated below
- X # dependent on number of directory levels
- X
- if test $# -eq 0 # Check option
- then
- X AFLAG=
- elif test $# -eq 1 -a "$1" = "-a"
- then
- X AFLAG=-a
- else
- X echo "Usage: utree.mklist [-a]"
- X exit 1
- fi
- X
- X # count the number of directory levels
- X # (to do it with 'awk' would be more elegant, but the method
- X # used here is faster than 'awk')
- X #
- X # e.g. for '/u/user/wrk/bin/xxx' we get 5 slashes plus one \n,
- X # so 'wc' returns 6
- X # the number of fields to sort is 5
- X # sort field 0 is always empty
- X
- nofields=`find $HOME -type d -print | tr -cd "\012/" |\
- X sort -r | head -1 | wc -c | tr -d "\040\011"`
- nofields=`expr $nofields - 1`
- X
- X # (debug statement)
- X # echo "nofields = $nofields"
- X #
- X # generate the sort-fields parameter for 'sort'
- X #
- X
- while [ $nofields -gt 1 ]
- do
- X FIELDS="-$nofields +$nofields $FIELDS"
- X nofields=`expr $nofields - 1`
- done
- X
- XFIELDS="+1 $FIELDS"
- X
- X # (debug statements)
- X # echo "fields: $FIELDS"
- X # exit
- X
- echo "# utree tree list created at `date`" >$LIST
- if test "$AFLAG" = "-a"
- then
- X find $HOME -type d -print | sort -t/ $FIELDS >>$LIST
- else
- X find $HOME -type d -print | grep -v "/\." | sort -t/ $FIELDS >>$LIST
- fi
- exit 0
- X
- END_OF_FILE
- if test 2580 -ne `wc -c <'bin/utree.mklist2'`; then
- echo shar: \"'bin/utree.mklist2'\" unpacked with wrong size!
- fi
- chmod +x 'bin/utree.mklist2'
- # end of 'bin/utree.mklist2'
- fi
- if test -f 'src/cmds.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/cmds.h'\"
- else
- echo shar: Extracting \"'src/cmds.h'\" \(2610 characters\)
- sed "s/^X//" >'src/cmds.h' <<'END_OF_FILE'
- X/*
- X * CMDS.H
- X * UTREE system command and filename definitions.
- X * 3.03-um klin, Tue Feb 11 19:23:58 1992, Splitted from conf.h
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_cmds[] = "@(#) utree 3.03-um (klin) Feb 11 1992 cmds.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * SOME DEFAULT SYSTEM COMMANDS.
- X */
- X
- X/* May be overriden by environment or utree variables. */
- X#ifdef BSD
- X# define SHELL "csh" /* Default shell. See csh(1) */
- X# define EDITPRG "vi" /* Default editor. See vi(1) */
- X# define PAGEPRG "more" /* Default pager. See more(1) */
- X# define DUMPPRG "od" /* Default dumper. See od(1) */
- X# define PRINTPRG "lpr" /* Default printer. See lpr(1) */
- X#else /* SYSV */
- X# define SHELL "sh" /* Default shell. See sh(1) */
- X# define EDITPRG "ed" /* Default editor. See ed(1) */
- X# define PAGEPRG "pg" /* Default pager. See pg(1) */
- X# define DUMPPRG "od" /* Default dumper. See od(1) */
- X# define PRINTPRG "lp" /* Default printer. See lp(1) */
- X#endif /* BSD */
- X
- X#define CPFILE "cp" /* Copy files. See cp(1) */
- X#define MVFILE "mv" /* Move files. See mv(1) */
- X#define LSFILE "ls" /* List files. See ls(1) */
- X#define RMFILE "rm" /* Remove files. See rm(1) */
- X#define RMOPTS "-rf" /* Remove all option */
- X#define MKDIR "mkdir" /* Create directory. See mkdir(1) */
- X#define RMDIR "rmdir" /* Remove directory. See rmdir(1) */
- X#define DUDIR "du -s" /* Directory disk usage. See du(1) */
- X#define GRFILE "grep" /* Search in files. See grep(1) */
- X#define GROPTS "-c" /* Print count only option */
- X
- X/*
- X * FILENAMES USED BY UTREE.
- X */
- X
- X#define UTBCKUP "utree.backup" /* Utree backup shell script */
- X#define UTBACK "utree.bak" /* Utree backup file list */
- X#define UTHELP "utree.help" /* Utree help pages */
- X#define UTSTART "utree" /* Utree startup file in home or libdir */
- X#define UTLIST ".utreelist" /* Utree tree list file in $HOME */
- X#define UTHIST ".utreehist" /* Utree command history file in $HOME */
- X
- END_OF_FILE
- if test 2610 -ne `wc -c <'src/cmds.h'`; then
- echo shar: \"'src/cmds.h'\" unpacked with wrong size!
- fi
- # end of 'src/cmds.h'
- fi
- if test -f 'src/help.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/help.c'\"
- else
- echo shar: Extracting \"'src/help.c'\" \(5676 characters\)
- sed "s/^X//" >'src/help.c' <<'END_OF_FILE'
- X/*
- X * HELP.C
- X * UTREE help routines.
- X * 3.01-um klin, Sat Apr 20 11:02:33 1991
- X * 3.03-um klin, Sat Feb 15 18:34:27 1992, Minor changes
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X */
- X#ifndef lint
- static char sccsid[] = "@(#) utree 3.03-um (klin) Feb 15 1992 help.c";
- X#endif /* !lint */
- X
- X#include "defs.h"
- X
- X/* ---- Local variables and definitions ------------------------------- */
- X
- LOCAL hlist *hroot = HNULL; /* Root of help pages */
- LOCAL char *helpmenu = NULL; /* Help menuline */
- LOCAL char helpfile[NAMELEN]; /* Help file name */
- X
- X#define LINELEN 128 /* Max line length for help pages */
- X
- X/* ---- External variables and functions ------------------------------ */
- X
- XEXTRN long ftell();
- X
- X/* ---- Functions and procedures -------------------------------------- */
- X
- X/*
- X * INTERNAL USED ROUTINES
- X */
- X
- X/* Insert a help page for topic s into help page list for file fp */
- LOCAL VOID inserthelp(s, fp)
- X register char *s;
- X register FILE *fp;
- X{
- X char buf[LINELEN];
- X register hlist *hp, *np;
- X register char *i, k;
- X register long p;
- X register int n;
- X
- X p = ftell(fp); /* Get position of topic in help file */
- X i = s; /* and menu line item */
- X while(*s && !(*s == ' ' || *s == '\t' || *s == '\n'))
- X ++s;
- X *s = '\0';
- X /* Count number of lines for this help page */
- X for(n = 0; fgets(buf, sizeof(buf), fp); n++)
- X if(buf[0] == '#' && buf[1] == '@')
- X break;
- X if(*i && p > 0 && n > 0) { /* Get the hotkey for help menu topic */
- X s = i;
- X k = *i;
- X while(*s) {
- X if(*s >= 'A' && *s <= 'Z') {
- X k = *s;
- X break;
- X }
- X ++s;
- X }
- X /* Get space for help page, fill up data and insert into list */
- X hp = (hlist *) ualloc(1, sizeof(hlist));
- X (void) strncpy(HITEM(hp), i, ITEMLEN-1);
- X HHKEY(hp) = isupper(k) ? tolower(k) : k;
- X HSPOS(hp) = p;
- X HNLIN(hp) = n;
- X HNEXT(hp) = HNULL;
- X if(hroot == HNULL)
- X hroot = hp;
- X else {
- X for(np = hroot; HNEXT(np); np = HNEXT(np))
- X ;
- X HNEXT(np) = hp;
- X }
- X }
- X
- X} /* inserthelp() */
- X
- X/* Show help page hp from help file fp */
- LOCAL int showhelppage(hp, fp)
- X register hlist *hp;
- X register FILE *fp;
- X{
- X char buf[LINELEN];
- X register int n, l, c;
- X
- X puthelp("%s: About %s (Q:quit ELSE:helpmenu)", who, HITEM(hp));
- X clearwindow(firstline, lastline);
- X flushout();
- X c = RV_OK;
- X for(n = 0, l = firstline; n < HNLIN(hp); ) {
- X if(fgets(buf, sizeof(buf), fp))
- X (void) putsxy(0, l, buf);
- X else
- X break;
- X ++n;
- X ++l;
- X if(l > lastfline && n < HNLIN(hp)) {
- X puthelp("%s: About %s (CR:continue Q:quit ELSE:helpmenu)", who, HITEM(hp));
- X c = hitakey("Help:", echoline, DA_NONE);
- X puthelp("%s: About %s (Q:quit ELSE:help)", who, HITEM(hp));
- X if( !(c == ' ' || c == '\n'))
- X break;
- X l = firstline;
- X clearwindow(firstline, lastline);
- X flushout();
- X }
- X }
- X if(c == 'q' || c < RV_NUL)
- X return(c);
- X puthelp("%s: About %s %s", who, HITEM(hp), hitkey);
- X (void) putecho("Help about %s done", HITEM(hp));
- X return(hitakey(NULL));
- X
- X} /* showhelppage() */
- X
- X/* Utree help pages are contained in a help file. Each help page is */
- X/* enclosed in a pair of lines '#@item' and '#@' which signal start and */
- X/* end of the help page to topic 'item'. This item is also copied into */
- X/* the help menuline and the first character or the first upper case */
- X/* character from item if found is used as hot key for selecting the */
- X/* help page to this topic. The initialization routine scans the help */
- X/* file and builds up a list of available help pages from this file. */
- GLOBL VOID inithelp()
- X{
- X char buf[NAMELEN];
- X register FILE *fp;
- X register hlist *hp;
- X register int l, i;
- X
- X#ifdef UTHELP
- X if(startup(buf, UTHELP) && (fp = fopen(buf, "r"))) {
- X (void) strcpy(helpfile, buf);
- X /* First read help file and insert help pages into list */
- X while(fgets(buf, sizeof(buf), fp))
- X if(buf[0] == '#' && buf[1] == '@' && buf[2])
- X inserthelp(&buf[2], fp);
- X /* Second build from help items the help menu line */
- X l = columns - 4;
- X helpmenu = ualloc((unsigned) l, sizeof(char));
- X for(hp = hroot, i = 0; hp; hp = HNEXT(hp)) {
- X i += strlen(HITEM(hp)) + 1;
- X if(i >= l)
- X break;
- X (void) strcat(helpmenu, " ");
- X (void) strcat(helpmenu, HITEM(hp));
- X }
- X (void) fclose(fp);
- X if((i + 5) < l)
- X (void) strcat(helpmenu, " Quit");
- X }
- X#endif
- X
- X} /* inithelp() */
- X
- X/* Display help menu and help pages */
- GLOBL int showhelp(k)
- X register int k;
- X{
- X register FILE *fp;
- X register hlist *hp;
- X register int c;
- X
- X who = "HELP";
- X if(hroot == HNULL || !(fp = fopen(helpfile, "r"))) {
- X puthelp("%s %s", who, hitkey);
- X return(errequest("Help", "Not available"));
- X }
- X
- X /* Help menu loop */
- X do {
- X if(k) {
- X c = k;
- X k = 0;
- X }
- X else {
- X if( !keypressed()) {
- X putmenu("HELP:", helpmenu);
- X (void) putecho("Help about which topic:");
- X }
- X if((c = hitakey(NULL)) == 'q' || c < RV_NUL)
- X break;
- X else if(isupper(c))
- X c = tolower(c);
- X }
- X for(hp = hroot; hp && HHKEY(hp) != c; hp = HNEXT(hp))
- X ;
- X if(hp == HNULL || fseek(fp, HSPOS(hp), 0))
- X break;
- X c = showhelppage(hp, fp);
- X treeflag = fileflag = SF_FULL;
- X } while(c != 'q' && c > RV_NUL);
- X
- X /* Close help file and return */
- X (void) fclose(fp);
- X if(c == 'q' || c < RV_NUL)
- X return(c);
- X return(putversion(echoline, "HELP: Done"));
- X
- X} /* showhelp() */
- X
- END_OF_FILE
- if test 5676 -ne `wc -c <'src/help.c'`; then
- echo shar: \"'src/help.c'\" unpacked with wrong size!
- fi
- # end of 'src/help.c'
- fi
- if test -f 'src/term.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/term.h'\"
- else
- echo shar: Extracting \"'src/term.h'\" \(4300 characters\)
- sed "s/^X//" >'src/term.h' <<'END_OF_FILE'
- X/*
- X * TERM.H
- X * UTREE terminal and screen definitions.
- X * 3.01-um klin, Wed May 1 14:34:34 1991
- X * klin, Sat Oct 26 15:27:00 1991, Some additions
- X * 3.02-um klin, Fri Nov 1 10:44:45 1991, Screen layout changed
- X * klin, Sun Nov 24 15:12:48 1991, Video attributes changed
- X * 3.03-um klin, Tue Feb 11 19:39:09 1992, Video attributes changed
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_term[] = "@(#) utree 3.03-um (klin) Feb 11 1992 term.h";
- X#endif /* _MAIN_ && !lint */
- X
- X#define MINCOLS 80 /* Min number of screen columns needed */
- X#define MINLINS 24 /* Min number of screen lines needed */
- X
- X/* Return values from getline() */
- X#define EMPTY 0 /* Input is empty */
- X#define DONE 1 /* Input not empty and ok */
- X
- X/* Video attribute flags */
- X#define VA_NORMAL 0x00 /* Reset all video attributes */
- X#define VA_REVERSE 0x01 /* Video reverse attribute */
- X#define VA_BLINK 0x02 /* Video blink attribute */
- X#define VA_HALF 0x04 /* Half bright attribute */
- X#define VA_BOLD 0x08 /* Video bold attribute */
- X#define VA_UNDERLINE 0x10 /* Video underline attribute */
- X
- X/* Cursor functions */
- X#define CF_VISIBLE 0x01 /* Cursor visible */
- X#define CF_INVISIBLE 0x02 /* Cursor invisible */
- X#define CF_SAVE 0x04 /* Save cursor position */
- X#define CF_RESTORE 0x08 /* Restore cursor position */
- X
- X/* Keypad functions */
- X#define KP_NORMAL 0x00 /* Switch keypad to normal mode */
- X#define KP_XMIT 0x01 /* Switch keypad to transmit mode */
- X
- X/* Graphical charset functions */
- X#define GC_OFF 0x00 /* Turn off graph charset */
- X#define GC_ON 0x01 /* Turn on graph charset */
- X
- X/* The graph charset is accessed and hidden by the following macros */
- X#define GC_HB _graphset[0] /* Horizontal bar */
- X#define GC_VB _graphset[1] /* Vertical bar */
- X#define GC_LT _graphset[2] /* Left tee */
- X#define GC_RT _graphset[3] /* Right tree */
- X#define GC_TT _graphset[4] /* Top tee */
- X#define GC_BT _graphset[5] /* Bottom tee */
- X#define GC_UL _graphset[6] /* Upper left corner */
- X#define GC_LL _graphset[7] /* Lower left corner */
- X#define GC_UR _graphset[8] /* Upper right corner */
- X#define GC_LR _graphset[9] /* Lower right corner */
- X#define GC_TG _graphset[10] /* Tag sign (diamond or plus) */
- X
- X#define NGRAPH 11 /* Max number of graphic characters */
- X
- X#ifdef _MAIN_
- int columns, lines; /* Number of screen columns and lines */
- int glitchcap; /* Standout mode/underline glitch flag */
- int scrollcap; /* Window/scrolling capabilities flag */
- int cursorcap; /* Cursor capabilities */
- int videocap; /* Video capabilities flag */
- int graphcap; /* Graphic character set flag */
- char _graphset[NGRAPH]; /* Graphic character set */
- X#else /* !_MAIN_ */
- extern int columns, lines;
- extern int glitchcap, scrollcap, cursorcap, videocap, graphcap;
- extern char _graphset[];
- X#endif /* _MAIN_ */
- X
- X#ifdef putchar /* Don't use stdio.h's putchar macro */
- X# undef putchar
- X#endif
- X#ifdef getchar /* Don't use stdio.h's getchar macro */
- X# undef getchar
- X#endif
- X
- X
- END_OF_FILE
- if test 4300 -ne `wc -c <'src/term.h'`; then
- echo shar: \"'src/term.h'\" unpacked with wrong size!
- fi
- # end of 'src/term.h'
- fi
- if test -f 'src/vers.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/vers.c'\"
- else
- echo shar: Extracting \"'src/vers.c'\" \(4935 characters\)
- sed "s/^X//" >'src/vers.c' <<'END_OF_FILE'
- X/*
- X * VERS.C
- X * UTREE version and history.
- X * 1.00 klin, Jul 12 1988 -- Initial version
- X * 1.01 klin, Jul 17 1988 -- Remove filesystems completely
- X * 1.02 klin, Feb 5 1990 -- Ported to BSD
- X * Filesystem independent directory handling
- X * Screen handling extracted from screen lib
- X * 2.00 klin, Nov 10 1990 -- Changes and extensions
- X * 2.01 klin, Jan 26 1991 -- Some bug fixes
- X * 2.02 klin, Mar 23 1991 -- User defined commands
- X * File type commands
- X * Some minor changes and bug fixes
- X * Apr 7 1991 -- File pattern extended
- X * 3.00-um klin, Apr 20 1991 -- Bug fixes
- X * May 5 1991 -- Some more extensions
- X * 3.01-um klin, Jun 4 1991 -- File zooming added
- X * Oct 7 1991 -- File size patterns added
- X * Bug in putchar() deleted
- X * Oct 15 1991 -- Handling of symlinks changed
- X * Option -L added
- X * Oct 26 1991 -- Marking directories changed
- X * Sorting and zooming filelists changed
- X * Print tree list added
- X * writedlist() changed
- X * Copying and moving files changed
- X * Select directory added
- X * 3.02-um klin, Nov 1 1991 -- Screen layout changed
- X * Goto parent directory added
- X * Marking files changed
- X * Option -u changed to -n
- X * Option -u (update tree) added
- X * klin, Nov 10 1991 -- buildlist() changed
- X * Function key handling changed
- X * klin, Nov 24 1991 -- Some error fixes and extensions for XENIX
- X * reported and done by Rolf Gebhardt (Nov 22 1991)
- X * Video attributes changed
- X * Cd to current directory before executing
- X * some commands
- X * 3.03-um klin, Feb 11 1992 -- Shell screen put into module hist.[ch]
- X * Shell command history added
- X * Status screen put into module stat.c
- X * Generic list type glist added
- X * Line editor extended, getline() and
- X * editline() changed
- X * Handling of variables and filetype
- X * commands changed
- X * Minor changes in screen layout
- X * klin, Feb 15 1992 -- Video handling changed, display attributes
- X * and video mode flag added
- X * Partitioning of directory and file window on
- X * tree screen changed and option -p added
- X * klin, Feb 22 1992 -- Many commands on tree screen changed
- X * klin, Feb 23 1992 -- Key handling and key bindings changed
- X * User customizable key bindings added
- X * Variables added
- X * klin, Mar 6 1992 -- Minor changes before distribution
- X * a klin, Mar 15 1992 -- Bug fixes and minor changes
- X * b klin, Mar 19 1992 -- Bug fixes in setvariable() and editline()
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X */
- X#ifndef lint
- static char sccsid[] = "@(#) utree 3.03-um (klin) Feb 15 1992 vers.c";
- X#endif /* !lint */
- static char version[] = "@(#) UTREE 3.03b-um";
- static char copyright[] = "@(#) (C) 1991/92 P. Klingebiel & UNIX Magazin";
- static char release[] = "@(#) Release: Mar 19 1992";
- X
- X#define VERS &version[5]
- X#define COPY ©right[5]
- X#define DATE &release[5]
- X
- X#include "defs.h"
- X
- X/* ---- Functions and procedures -------------------------------------- */
- X
- X/* Write version string to echoline or helpline */
- GLOBL int putversion(l, s)
- X register int l;
- X register char *s;
- X{
- X if(l == helpline) {
- X puthelp(" %s %s (%s)", VERS, COPY, DATE);
- X return(RV_OK);
- X }
- X else if(s) {
- X puthelp("%s %s", s, hitkey);
- X (void) putecho("%s %s (%s)", VERS, COPY, DATE);
- X return(hitakey(NULL));
- X }
- X
- X} /* putversion() */
- X
- X/* Print version string */
- GLOBL VOID utreeversion()
- X{
- X (void) fprintf(stdout, "%s %s (%s)\n", VERS, COPY, DATE);
- X
- X} /* utreeversion() */
- X
- X/* Return utree version */
- GLOBL char *getversion()
- X{
- X return(VERS);
- X
- X} /* getversion() */
- X
- END_OF_FILE
- if test 4935 -ne `wc -c <'src/vers.c'`; then
- echo shar: \"'src/vers.c'\" unpacked with wrong size!
- fi
- # end of 'src/vers.c'
- fi
- if test -f 'sup/vfprintf.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sup/vfprintf.c'\"
- else
- echo shar: Extracting \"'sup/vfprintf.c'\" \(5468 characters\)
- sed "s/^X//" >'sup/vfprintf.c' <<'END_OF_FILE'
- X/* Portable vfprintf and vprintf by Robert A. Larson <blarson@skat.usc.edu> */
- X
- X/* Copyright 1989 Robert A. Larson.
- X * Distribution in any form is allowed as long as the author
- X * retains credit, changes are noted by their author and the
- X * copyright message remains intact. This program comes as-is
- X * with no warentee of fitness for any purpouse.
- X *
- X * Thanks to Doug Gwen, Chris Torek, and others who helped clarify
- X * the ansi printf specs.
- X *
- X * Please send any bug fixes and improvments to blarson@skat.usc.edu .
- X * The use of goto is NOT a bug.
- X */
- X
- X/* Feb 9, 1989 blarson First usenet release */
- X
- X/* This code implements the vfprintf function, without relying on
- X * the existance of _doprint or other system specific code.
- X *
- X * Define NOVOID if void * is not a supported type.
- X *
- X * Two compile options are available for efficency:
- X * INTSPRINTF should be defined if sprintf is int and returns
- X * the number of chacters formated.
- X * LONGINT should be defined if sizeof(long) == sizeof(int)
- X *
- X * They only make the code smaller and faster, they need not be
- X * defined.
- X *
- X * UNSIGNEDSPECIAL should be defined if unsigned is treated differently
- X * than int in argument passing. If this is definded, and LONGINT is not,
- X * the compiler must support the type unsingned long.
- X *
- X * Most quirks and bugs of the available fprintf fuction are duplicated,
- X * however * in the width and precision fields will work correctly
- X * even if fprintf does not support this. The %n format and the return
- X * count will only work if fprintf returns the number of characters
- X * formatted.
- X *
- X * Bad format strings, or those with very long width and precision
- X * fields (including expanded * fields) will cause undesired results.
- X */
- X
- X#ifdef OSK /* os9/68k can take advantage of both */
- X#define INTSPRINTF
- X#define LONGINT
- X#endif
- X
- X/* This must be a typedef not a #define! */
- X#ifdef NOVOID
- typedef char *pointer;
- X#else
- typedef void *pointer;
- X#endif
- X
- X#include <stdio.h>
- X
- X#ifdef INTSPRINTF
- X#define Sprintf(string,format,arg) (sprintf((string),(format),(arg)))
- X#else
- X#define Sprintf(string,format,arg) (\
- X sprintf((string),(format),(arg)),\
- X strlen(string)\
- X)
- X#endif
- X
- X#ifdef __STDC__
- X#include <stdarg.h>
- X#else
- X#include <varargs.h>
- X#endif
- X
- typedef int *intp;
- X
- int vfprintf(dest, format, args)
- XFILE *dest;
- register char *format;
- va_list args;
- X{
- X register char c;
- X register char *tp;
- X register int count = 0;
- X char tempfmt[64];
- X#ifndef LONGINT
- X int longflag;
- X#endif
- X
- X tempfmt[0] = '%';
- X while(c = *format++) {
- X if(c=='%') {
- X tp = &tempfmt[1];
- X#ifndef LONGINT
- X longflag = 0;
- X#endif
- continue_format:
- X switch(c = *format++) {
- X case 's':
- X *tp++ = c;
- X *tp = '\0';
- X count += fprintf(dest, tempfmt, va_arg(args, char *));
- X break;
- X case 'u':
- X case 'x':
- X case 'o':
- X case 'X':
- X#ifdef UNSIGNEDSPECIAL
- X *tp++ = c;
- X *tp = '\0';
- X#ifndef LONGINT
- X if(longflag)
- X count += fprintf(dest, tempfmt, va_arg(args, unsigned long));
- X else
- X#endif
- X count += fprintf(dest, tempfmt, va_arg(args, unsigned));
- X break;
- X#endif
- X case 'd':
- X case 'c':
- X case 'i':
- X *tp++ = c;
- X *tp = '\0';
- X#ifndef LONGINT
- X if(longflag)
- X count += fprintf(dest, tempfmt, va_arg(args, long));
- X else
- X#endif
- X count += fprintf(dest, tempfmt, va_arg(args, int));
- X break;
- X case 'f':
- X case 'e':
- X case 'E':
- X case 'g':
- X case 'G':
- X *tp++ = c;
- X *tp = '\0';
- X count += fprintf(dest, tempfmt, va_arg(args, double));
- X break;
- X case 'p':
- X *tp++ = c;
- X *tp = '\0';
- X count += fprintf(dest, tempfmt, va_arg(args, pointer));
- X break;
- X case '-':
- X case '+':
- X case '0':
- X case '1':
- X case '2':
- X case '3':
- X case '4':
- X case '5':
- X case '6':
- X case '7':
- X case '8':
- X case '9':
- X case '.':
- X case ' ':
- X case '#':
- X case 'h':
- X *tp++ = c;
- X goto continue_format;
- X case 'l':
- X#ifndef LONGINT
- X longflag = 1;
- X *tp++ = c;
- X#endif
- X goto continue_format;
- X case '*':
- X tp += Sprintf(tp, "%d", va_arg(args, int));
- X goto continue_format;
- X case 'n':
- X *va_arg(args, intp) = count;
- X break;
- X case '%':
- X default:
- X putc(c, dest);
- X count++;
- X break;
- X }
- X } else {
- X putc(c, dest);
- X count++;
- X }
- X }
- X return count;
- X}
- X
- vprintf(format, args)
- char *format;
- va_list args;
- X{
- X return vfprintf(stdout, format, args);
- X}
- X
- END_OF_FILE
- if test 5468 -ne `wc -c <'sup/vfprintf.c'`; then
- echo shar: \"'sup/vfprintf.c'\" unpacked with wrong size!
- fi
- # end of 'sup/vfprintf.c'
- fi
- if test -f 'sup/vsprintf.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sup/vsprintf.c'\"
- else
- echo shar: Extracting \"'sup/vsprintf.c'\" \(5162 characters\)
- sed "s/^X//" >'sup/vsprintf.c' <<'END_OF_FILE'
- X/* Portable vsprintf by Robert A. Larson <blarson@skat.usc.edu> */
- X
- X/* Copyright 1989 Robert A. Larson.
- X * Distribution in any form is allowed as long as the author
- X * retains credit, changes are noted by their author and the
- X * copyright message remains intact. This program comes as-is
- X * with no warentee of fitness for any purpouse.
- X *
- X * Thanks to Doug Gwen, Chris Torek, and others who helped clarify
- X * the ansi printf specs.
- X *
- X * Please send any bug fixes and improvments to blarson@skat.usc.edu .
- X * The use of goto is NOT a bug.
- X */
- X
- X/* Feb 7, 1989 blarson First usenet release */
- X
- X/* This code implements the vsprintf function, without relying on
- X * the existance of _doprint or other system specific code.
- X *
- X * Define NOVOID if void * is not a supported type.
- X *
- X * Two compile options are available for efficency:
- X * INTSPRINTF should be defined if sprintf is int and returns
- X * the number of chacters formated.
- X * LONGINT should be defined if sizeof(long) == sizeof(int)
- X *
- X * They only make the code smaller and faster, they need not be
- X * defined.
- X *
- X * UNSIGNEDSPECIAL should be defined if unsigned is treated differently
- X * than int in argument passing. If this is definded, and LONGINT is not,
- X * the compiler must support the type unsingned long.
- X *
- X * Most quirks and bugs of the available sprintf fuction are duplicated,
- X * however * in the width and precision fields will work correctly
- X * even if sprintf does not support this, as will the n format.
- X *
- X * Bad format strings, or those with very long width and precision
- X * fields (including expanded * fields) will cause undesired results.
- X */
- X
- X#ifdef OSK /* os9/68k can take advantage of both */
- X#define LONGINT
- X#define INTSPRINTF
- X#endif
- X
- X/* This must be a typedef not a #define! */
- X#ifdef NOVOID
- typedef char *pointer;
- X#else
- typedef void *pointer;
- X#endif
- X
- X#ifdef INTSPRINTF
- X#define Sprintf(string,format,arg) (sprintf((string),(format),(arg)))
- X#else
- X#define Sprintf(string,format,arg) (\
- X sprintf((string),(format),(arg)),\
- X strlen(string)\
- X)
- X#endif
- X
- X#ifdef __STDC__
- X#include <stdarg.h>
- X#else
- X#include <varargs.h>
- X#endif
- X
- typedef int *intp;
- X
- int vsprintf(dest, format, args)
- char *dest;
- register char *format;
- va_list args;
- X{
- X register char *dp = dest;
- X register char c;
- X register char *tp;
- X char tempfmt[64];
- X#ifndef LONGINT
- X int longflag;
- X#endif
- X
- X tempfmt[0] = '%';
- X while(c = *format++) {
- X if(c=='%') {
- X tp = &tempfmt[1];
- X#ifndef LONGINT
- X longflag = 0;
- X#endif
- continue_format:
- X switch(c = *format++) {
- X case 's':
- X *tp++ = c;
- X *tp = '\0';
- X dp += Sprintf(dp, tempfmt, va_arg(args, char *));
- X break;
- X case 'u':
- X case 'x':
- X case 'o':
- X case 'X':
- X#ifdef UNSIGNEDSPECIAL
- X *tp++ = c;
- X *tp = '\0';
- X#ifndef LONGINT
- X if(longflag)
- X dp += Sprintf(dp, tempfmt, va_arg(args, unsigned long));
- X else
- X#endif
- X dp += Sprintf(dp, tempfmt, va_arg(args, unsigned));
- X break;
- X#endif
- X case 'd':
- X case 'c':
- X case 'i':
- X *tp++ = c;
- X *tp = '\0';
- X#ifndef LONGINT
- X if(longflag)
- X dp += Sprintf(dp, tempfmt, va_arg(args, long));
- X else
- X#endif
- X dp += Sprintf(dp, tempfmt, va_arg(args, int));
- X break;
- X case 'f':
- X case 'e':
- X case 'E':
- X case 'g':
- X case 'G':
- X *tp++ = c;
- X *tp = '\0';
- X dp += Sprintf(dp, tempfmt, va_arg(args, double));
- X break;
- X case 'p':
- X *tp++ = c;
- X *tp = '\0';
- X dp += Sprintf(dp, tempfmt, va_arg(args, pointer));
- X break;
- X case '-':
- X case '+':
- X case '0':
- X case '1':
- X case '2':
- X case '3':
- X case '4':
- X case '5':
- X case '6':
- X case '7':
- X case '8':
- X case '9':
- X case '.':
- X case ' ':
- X case '#':
- X case 'h':
- X *tp++ = c;
- X goto continue_format;
- X case 'l':
- X#ifndef LONGINT
- X longflag = 1;
- X *tp++ = c;
- X#endif
- X goto continue_format;
- X case '*':
- X tp += Sprintf(tp, "%d", va_arg(args, int));
- X goto continue_format;
- X case 'n':
- X *va_arg(args, intp) = dp - dest;
- X break;
- X case '%':
- X default:
- X *dp++ = c;
- X break;
- X }
- X } else *dp++ = c;
- X }
- X *dp = '\0';
- X return dp - dest;
- X}
- X
- END_OF_FILE
- if test 5162 -ne `wc -c <'sup/vsprintf.c'`; then
- echo shar: \"'sup/vsprintf.c'\" unpacked with wrong size!
- fi
- # end of 'sup/vsprintf.c'
- fi
- if test -f 'sys/conf.h.286' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.286'\"
- else
- echo shar: Extracting \"'sys/conf.h.286'\" \(2364 characters\)
- sed "s/^X//" >'sys/conf.h.286' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: UNIX V/286 compatible (for MSC on SCO UNIX/386)
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X/*#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X/*#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2364 -ne `wc -c <'sys/conf.h.286'`; then
- echo shar: \"'sys/conf.h.286'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.286'
- fi
- if test -f 'sys/conf.h.AIX' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.AIX'\"
- else
- echo shar: Extracting \"'sys/conf.h.AIX'\" \(2346 characters\)
- sed "s/^X//" >'sys/conf.h.AIX' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: IBM 520 (RS/6000), AIX 3.1
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X/*#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X/*#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2346 -ne `wc -c <'sys/conf.h.AIX'`; then
- echo shar: \"'sys/conf.h.AIX'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.AIX'
- fi
- if test -f 'sys/conf.h.APP' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.APP'\"
- else
- echo shar: Extracting \"'sys/conf.h.APP'\" \(2367 characters\)
- sed "s/^X//" >'sys/conf.h.APP' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: Apollo Domain DN4500, DomainIX 9.5 (BSD4.2 + SYSV)
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X/*#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2367 -ne `wc -c <'sys/conf.h.APP'`; then
- echo shar: \"'sys/conf.h.APP'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.APP'
- fi
- if test -f 'sys/conf.h.M16' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.M16'\"
- else
- echo shar: Extracting \"'sys/conf.h.M16'\" \(2355 characters\)
- sed "s/^X//" >'sys/conf.h.M16' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: PCS Cadmus 9230, MUNIX V.2/07 (SYSV 2)
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X/*#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X/*#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2355 -ne `wc -c <'sys/conf.h.M16'`; then
- echo shar: \"'sys/conf.h.M16'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.M16'
- fi
- if test -f 'sys/conf.h.M32' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.M32'\"
- else
- echo shar: Extracting \"'sys/conf.h.M32'\" \(2367 characters\)
- sed "s/^X//" >'sys/conf.h.M32' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: PCS Cadmus 9600 (MC68020), MUNIX V3M3.2 (SYSV.3)
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X/*#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X/*#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2367 -ne `wc -c <'sys/conf.h.M32'`; then
- echo shar: \"'sys/conf.h.M32'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.M32'
- fi
- if test -f 'sys/conf.h.MIPS' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.MIPS'\"
- else
- echo shar: Extracting \"'sys/conf.h.MIPS'\" \(2351 characters\)
- sed "s/^X//" >'sys/conf.h.MIPS' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: MIPS RC3230 (R3000) RISC/os 4.51
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X/*#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X/*#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2351 -ne `wc -c <'sys/conf.h.MIPS'`; then
- echo shar: \"'sys/conf.h.MIPS'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.MIPS'
- fi
- if test -f 'sys/conf.h.RCU' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.RCU'\"
- else
- echo shar: Extracting \"'sys/conf.h.RCU'\" \(2376 characters\)
- sed "s/^X//" >'sys/conf.h.RCU' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: PCS Cadmus 9900 (MIPS R2000/3000), MUNIX V3R3.2A (SYSV.3)
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X/*#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X/*#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2376 -ne `wc -c <'sys/conf.h.RCU'`; then
- echo shar: \"'sys/conf.h.RCU'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.RCU'
- fi
- if test -f 'sys/conf.h.SCO' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.SCO'\"
- else
- echo shar: Extracting \"'sys/conf.h.SCO'\" \(2459 characters\)
- sed "s/^X//" >'sys/conf.h.SCO' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: HP Vectra (i486), SCO UNIX System V/386 3.2
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X/*#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X#define HASFIONREAD /* Not needed for BSD! */
- X#include <sys/types.h>
- X#include <sys/socket.h> /* For defining FIONREAD ! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2459 -ne `wc -c <'sys/conf.h.SCO'`; then
- echo shar: \"'sys/conf.h.SCO'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.SCO'
- fi
- if test -f 'sys/conf.h.SEQ' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.SEQ'\"
- else
- echo shar: Extracting \"'sys/conf.h.SEQ'\" \(2358 characters\)
- sed "s/^X//" >'sys/conf.h.SEQ' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: Sequent Symmetrie, DYNIX i386 (BSD 4.2)
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X/*#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X/*#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2358 -ne `wc -c <'sys/conf.h.SEQ'`; then
- echo shar: \"'sys/conf.h.SEQ'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.SEQ'
- fi
- if test -f 'sys/conf.h.SGI' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.SGI'\"
- else
- echo shar: Extracting \"'sys/conf.h.SGI'\" \(2361 characters\)
- sed "s/^X//" >'sys/conf.h.SGI' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: Silicon Graphics 4D, IRIX V.3.3.2 (SYSV 3)
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X/*#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X/*#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2361 -ne `wc -c <'sys/conf.h.SGI'`; then
- echo shar: \"'sys/conf.h.SGI'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.SGI'
- fi
- if test -f 'sys/conf.h.ULT' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.ULT'\"
- else
- echo shar: Extracting \"'sys/conf.h.ULT'\" \(2365 characters\)
- sed "s/^X//" >'sys/conf.h.ULT' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: DECstation/VAXstation, ULTRIX-32 3.1 (BSD 4.3)
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X/*#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X/*#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2365 -ne `wc -c <'sys/conf.h.ULT'`; then
- echo shar: \"'sys/conf.h.ULT'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.ULT'
- fi
- if test -f 'sys/conf.h.X23' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/conf.h.X23'\"
- else
- echo shar: Extracting \"'sys/conf.h.X23'\" \(2345 characters\)
- sed "s/^X//" >'sys/conf.h.X23' <<'END_OF_FILE'
- X/*
- X * CONF.H
- X * UTREE system dependent configurable definitions.
- X * 3.03-um klin, Sat Feb 15 19:23:58 1992
- X *
- X * Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
- X * For copying and distribution information see the file COPYRIGHT.
- X *
- X * Version: SCO XENIX SysV 2.3.2 386GT
- X */
- X#if defined(_MAIN_) && !defined(lint)
- static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
- X#endif /* _MAIN_ && !lint */
- X
- X/*
- X * This file contains definitions you can change for your needs.
- X */
- X
- X/*
- X * SOME UTREE DEPENDENT DEFINITIONS.
- X */
- X
- X/* BSD: define HASVSPRINTF if your system supports vsprintf(3) */
- X/*#define HASVSPRINTF /* Not needed for SYSV! */
- X
- X/* SYSV: define HASFIONREAD if your system supports the FIONREAD */
- X/* ioctl(2) system call to check how many chars are typed ahead */
- X/*#define HASFIONREAD /* Not needed for BSD! */
- X
- X/* SYSV: define HASVFORK if your system supports vfork(2) */
- X/*#define HASVFORK /* Not needed for BSD! */
- X
- X/* SYSV: define NODIRENT if your system not supports the directory type */
- X/* struct dirent with opendir(3), closedir(3) and readdir(3) */
- X/*#define NODIRENT /* Needed only for older SYSVs */
- X
- X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
- X/* handling of screen resizing is intended as a little bit support */
- X/* for window systems like X, but it may not run on your system. */
- X/* ATTENTION: Resizing may be confusing for utree anyway! */
- X#define NOWINCHG /* No screen resizing allowed */
- X
- X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment */
- X/* of struct variables, i.e. t[o] = f[rom]. */
- X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f)) /* For SYSV */
- X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f)) /* For BSD */
- X
- X/* ALL: define UTCLOCK for a clock updated in echo line every second */
- X#define UTCLOCK /* Show/update clock */
- X
- X/* ALL: directory for utree startup file and help pages */
- X#ifndef UTLIB
- X# define UTLIB "/usr/local/lib"
- X#endif /* !UTLIB */
- X
- END_OF_FILE
- if test 2345 -ne `wc -c <'sys/conf.h.X23'`; then
- echo shar: \"'sys/conf.h.X23'\" unpacked with wrong size!
- fi
- # end of 'sys/conf.h.X23'
- fi
- echo shar: End of archive 2 \(of 8\).
- cp /dev/null ark2isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 8 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-