home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / sources / unix / 264 < prev    next >
Encoding:
Text File  |  1992-09-08  |  89.6 KB  |  2,344 lines

  1. Newsgroups: comp.sources.unix
  2. Path: sparky!uunet!decwrl!deccrl!news.crl.dec.com!pa.dec.com!vixie
  3. From: klin@iat.uni-paderborn.de (Peter Klingebiel)
  4. Subject: v26i065: utree - screen oriented filesystem utility (V3.03b-um), Part02/08
  5. Message-ID: <1992Sep7.214827.26662@PA.dec.com>
  6. Originator: vixie@cognition.pa.dec.com
  7. Sender: unix-sources-moderator@pa.dec.com
  8. Organization: DEC Palo Alto
  9. Date: Mon, 7 Sep 92 21:48:27 GMT
  10. Approved: vixie@pa.dec.com
  11. Lines: 2331
  12.  
  13. Submitted-By: klin@iat.uni-paderborn.de (Peter Klingebiel)
  14. Posting-Number: Volume 26, Issue 65
  15. Archive-Name: utree/part02
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then unpack
  19. # it by saving it into a file and typing "sh file".  To overwrite existing
  20. # files, type "sh file -c".  You can also feed this as standard input via
  21. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  22. # will see the following message at the end:
  23. #        "End of archive 2 (of 8)."
  24. # Contents:  CHANGES COPYRIGHT MANIFEST Makefile bin/utree.mklist2
  25. #   src/cmds.h src/help.c src/term.h src/vers.c sup/vfprintf.c
  26. #   sup/vsprintf.c sys/conf.h.286 sys/conf.h.AIX sys/conf.h.APP
  27. #   sys/conf.h.M16 sys/conf.h.M32 sys/conf.h.MIPS sys/conf.h.RCU
  28. #   sys/conf.h.SCO sys/conf.h.SEQ sys/conf.h.SGI sys/conf.h.ULT
  29. #   sys/conf.h.X23
  30. # Wrapped by vixie@cognition.pa.dec.com on Mon Sep  7 14:39:53 1992
  31. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  32. if test -f 'CHANGES' -a "${1}" != "-c" ; then 
  33.   echo shar: Will not clobber existing file \"'CHANGES'\"
  34. else
  35. echo shar: Extracting \"'CHANGES'\" \(4308 characters\)
  36. sed "s/^X//" >'CHANGES' <<'END_OF_FILE'
  37. X
  38. X       UTREE - screen oriented filesystem utility
  39. X       CHANGES, klin, Fri Mar  6 07:26:25 1992
  40. X
  41. X------------------------------------------------------------------------------
  42. X
  43. utree 3.00-um
  44. X      - Apr 20 1991, klin
  45. X       Initial version 3.00-um for distribution
  46. X      - May  5 1991, klin
  47. X       Minor bug fixes and extensions
  48. X
  49. utree 3.01-um
  50. X      - Jun  4 1991, klin
  51. X       Z-command for zooming filelist/files in/out added
  52. X      - Oct  7 1991, klin
  53. X       File size patterns =!<> added, time patterns changed to from <> to ()
  54. X       Bug in putchar() deleted
  55. X       Minor changes in screen handling
  56. X      - Oct 15 1991, klin
  57. X       Handling of symbolic links changed
  58. X       Option -L for following symbolic links added
  59. X       Option -f lst for building the tree from list file lst added
  60. X      - Oct 26 1991, klin
  61. X       Marking directories changed
  62. X       Sorting/zooming filelists on tree screen changed
  63. X       Copying and moving files changed (select directory)
  64. X       Select directory added
  65. X       Some more minor changes in functions
  66. X       Print formatted tree list added
  67. X       Filter utree.prlist for printing formatted tree list files created
  68. X
  69. utree 3.02-um
  70. X      - Nov  1 1991, klin
  71. X       Screen layout changed
  72. X       Goto parent directory on tree screen (<-command) added
  73. X       Option -u changed to -n (no scan tree)
  74. X       Option -u added (update file lists in tree)
  75. X       Stuff for APOLLO node names added
  76. X       Bug in calling editor in empty directory deleted
  77. X       Other minor changes
  78. X      - Nov 10 1991, klin
  79. X       Functions key handling changed (typedef kchar and ksymbol)
  80. X       Reading list files changed for handling relative given pathnames
  81. X       Postscript driver for utree.prlist
  82. X       Utree.backup.sh and utree.mklist.sh extended
  83. X      - Nov 24 1991, klin
  84. X       Some error fixes and extensions for XENIX reported and done by
  85. X       Rolf Gebhardt (Nov 22 1991)
  86. X       Change to current directory list for some commands on tree screen
  87. X       Video attributes changed
  88. X
  89. utree 3.03-um
  90. X      - Feb 11 1992, klin
  91. X       Shell screen put into own module hist.[ch] and command history added
  92. X       Status screen put into own module stat.c
  93. X       Generic list type glist for using from within line editor added
  94. X       Most list types changed for using of the generic list type glist
  95. X       Lineeditor extended for using of generic lists
  96. X       Handling of variables and filetype command changed
  97. X      - Feb 15 1992, klin
  98. X       Video handling and meaning of option -v changed
  99. X       Display attributes and user customizable video mode flag added
  100. X       Partinioning of directory and file window on tree screen changed
  101. X       Option -p for tree screen partitioning added
  102. X       Variables VIDEOMODE and FILELINES added
  103. X      - Feb 22 1992, klin
  104. X       Some commands on tree changed to work on current directory or subtree
  105. X       or tagged files dependent on command letter entered in lowercase or
  106. X       uppercase letter. The commands working on current directory/subtree
  107. X       are: f/F=find, g/G=grep, n/N=sort, t/T=tag, u/U=untag, z/Z=zoom.
  108. X       The commands working on current directory/tagged files are:
  109. X       b/B=backup, c/C=change/copy, l,L=list, m/M=mkdir/move, r/R=remove.
  110. X       Formatcharacters %H and %R for home and root directory added
  111. X      - Feb 22 1992, klin
  112. X       Many commands on tree changed to handle current directory or subtree
  113. X       (find, grep, sort, tag, untag, zoom) or tagged files in subtree
  114. X       (backup, copy, list, move, remove) dependent if command letter is
  115. X       entered in upper or lower case (like commands on file screen)
  116. X      - Feb 23 1992, klin
  117. X       Key handling changed. Bindings screen and user customizable and
  118. X       definable key bindings added. Key bindings from statically defined
  119. X       bindings to default bindings changed which are bound at startup.
  120. X       User defined key bindings can be done at startup in terminal
  121. X       dependent binding files or at run time on the bindings screen.
  122. X       Variable HISTSIZE (settable at startup only) added.
  123. X       Save variables, commands, history and key bindings if there were
  124. X       any changes and if the new variable AUTOSAVE is set to ON.
  125. X       Command line option -o for omitting saving changes added
  126. X      - Mar  6 1992, klin
  127. X       Some minor changes before distribution
  128. X
  129. END_OF_FILE
  130. if test 4308 -ne `wc -c <'CHANGES'`; then
  131.     echo shar: \"'CHANGES'\" unpacked with wrong size!
  132. fi
  133. # end of 'CHANGES'
  134. fi
  135. if test -f 'COPYRIGHT' -a "${1}" != "-c" ; then 
  136.   echo shar: Will not clobber existing file \"'COPYRIGHT'\"
  137. else
  138. echo shar: Extracting \"'COPYRIGHT'\" \(5309 characters\)
  139. sed "s/^X//" >'COPYRIGHT' <<'END_OF_FILE'
  140. X
  141. X             UTREE - screen oriented filesystem utility
  142. X     COPYRIGHT and distribution notice, klin, Sun Feb 16 16:28:43 1992
  143. X
  144. X------------------------------------------------------------------------------
  145. X
  146. X                  UTREE version 3.03-um
  147. X       Copyright (c) 1991/92 Peter Klingebiel & UNIX Magazin
  148. X                   All rights reserved.
  149. X
  150. X------------------------------------------------------------------------------
  151. X
  152. Remember, you get what you pay for. The author and UNIX Magazin are not liable
  153. for any bugs or consequential damages arising from the use of this software.
  154. However, they may fix bugs if they are asked nicely.
  155. X
  156. X------------------------------------------------------------------------------
  157. X
  158. X                       *** NO WARRANTY ***
  159. X
  160. BECAUSE THIS PROGRAM IS LICENSED FREE OF CHARGE, THE AUTHOR AND UNIX MAGAZIN
  161. PROVIDE ABSOLUTELY NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE
  162. LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING, THE AUTHORS AND/OR OTHER
  163. PARTIES PROVIDE THIS PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
  164. XEXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  165. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
  166. THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
  167. PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
  168. CORRECTION.
  169. X
  170. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL THE AUTHORS AND/OR ANY
  171. OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THIS PROGRAM BE LIABLE TO YOU
  172. XFOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL,
  173. INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
  174. X(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE
  175. OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
  176. WITH ANY OTHER PROGRAMS) THIS PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE
  177. POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
  178. X
  179. X------------------------------------------------------------------------------
  180. X
  181. X                 *** GENERAL PUBLIC LICENSE TO COPY ***
  182. X
  183. X1. You may copy and distribute verbatim copies of this program as you receive
  184. it, in any medium, provided that you conspicuously and appropriately publish on
  185. each copy a valid copyright notice,
  186. X
  187. X          "Copyright (c) 1991 Peter Klingebiel & UNIX Magazin"
  188. X
  189. and include following the copyright notice a verbatim copy of the above
  190. disclaimer of warranty and of this License. You may charge a distribution fee
  191. for the physical act of transferring a copy.
  192. X
  193. X2. You may modify your copy or copies of this source file or any portion of it,
  194. and copy and distribute such modifications under the terms of Paragraph 1 above,
  195. provided that you also do the following:
  196. X
  197. X  a) cause the modified files to carry prominent notices stating that you
  198. X     changed the files and the date of any change, and
  199. X
  200. X  b) cause the whole of any work that you distribute or publish, that in
  201. X     whole or in part contains or is a derivative of this program or any part
  202. X     thereof, to be licensed at no charge to all third parties on terms
  203. X     identical to those contained in this License Agreement (except that you
  204. X     may choose to grant more extensive warranty protection to third parties,
  205. X     at your option).
  206. X
  207. X  c) You may charge a distribution fee for the physical act of transferring
  208. X     a copy, and you may at your option offer warranty protection in
  209. X     exchange for a fee.
  210. X
  211. X3. You may copy and distribute this program or any portion of it in compiled,
  212. executable or object code form under the terms of Paragraphs 1 and 2 above
  213. provided that you do the following:
  214. X
  215. X  a) cause each such copy to be accompanied by the corresponding
  216. X     machine-readable source code, which must be distributed under the terms
  217. X     of Paragraphs 1 and 2 above, or
  218. X
  219. X  b) cause each such copy to be accompanied by a written offer, with no time
  220. X     limit, to give any third party free (except possibly for a nominal
  221. X     shipping charge) a machine readable copy of the corresponding source
  222. X     code, to be distributed under the terms of Paragraphs 1 and 2 above, or
  223. X
  224. X  c) in the case of a recipient of this program in compiled, executable or
  225. X     object code form (without the corresponding source code), you shall
  226. X     cause copies you distribute to be accompanied by a copy of the written
  227. X     offer of source code which you received along with the copy you received.
  228. X
  229. X4. You may not copy, sublicense, distribute or transfer this program except as
  230. expressly provided under this License Agreement. Any attempt otherwise to copy,
  231. sublicense, distribute or transfer this program is void and your rights to use
  232. the program under this License Agreement shall be automatically terminated.
  233. However, parties who have received computer software programs from you with
  234. this License Agreement will not have their licenses terminated so long as such
  235. parties remain in full compliance.
  236. X
  237. X------------------------------------------------------------------------------
  238. X
  239. In other words, you are welcome to use, share and improve this program. You
  240. are forbidden to forbid anyone else to use, share and improve what you
  241. give them. Help stamp out software-hoarding!
  242. X
  243. X------------------------------------------------------------------------------
  244. X
  245. END_OF_FILE
  246. if test 5309 -ne `wc -c <'COPYRIGHT'`; then
  247.     echo shar: \"'COPYRIGHT'\" unpacked with wrong size!
  248. fi
  249. # end of 'COPYRIGHT'
  250. fi
  251. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  252.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  253. else
  254. echo shar: Extracting \"'MANIFEST'\" \(5433 characters\)
  255. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  256. X
  257. X         UTREE 3.03-um - screen oriented filesystem utility
  258. X            MANIFEST, klin, Sun Feb 23 23:55:21 1992
  259. X
  260. X------------------------------------------------------------------------------
  261. X
  262. X       bin                     - Utree executable directory
  263. X       doc                     - Utree manual pages
  264. X       lib                     - Utree library files
  265. X       src                     - Utree source directory
  266. X       sup                     - Additional support routines from PD
  267. X       sys                     - Some system dependent make and conf files
  268. X       tst                     - Some simple test programs for configuration
  269. X
  270. X       README                  - Readme first
  271. X       MANIFEST                - This file
  272. X       COPYRIGHT               - Copyright and distribution notice
  273. X       CHANGES                 - Changes since utree version 3.00-um
  274. X       TODO                    - Ideas for further extensions
  275. X       Makefile                - Makefile for exes, manual and installation
  276. X
  277. X       src/Makefile            - Makefile for utree executable
  278. X       src/cmds.h              - Command definitions
  279. X       src/conf.h              - System dependent definitions
  280. X       src/defs.h              - General definitions
  281. X       src/help.h              - Help page definitions
  282. X       src/hist.h              - Shell execution and history definitions
  283. X       src/keys.h              - Keyboard and key definitions
  284. X       src/list.h              - Tree and file list definitions
  285. X       src/term.h              - Terminal and screen definitions
  286. X       src/vars.h              - Variable definitions
  287. X       src/bind.c              - Key binding routines
  288. X       src/comm.c              - Common commands for tree and file screen
  289. X       src/echo.c              - Utree input and output routines
  290. X       src/edit.c              - Line editor
  291. X       src/file.c              - File screen menu and functions
  292. X       src/help.c              - Help page menu and functions
  293. X       src/hist.c              - Shell execution and command history
  294. X       src/list.c              - Directory and file list handling
  295. X       src/main.c              - Main routine
  296. X       src/stat.c              - File status functions
  297. X       src/term.c              - Tty and screen handling
  298. X       src/tree.c              - Directory tree screen menu and functions
  299. X       src/util.c              - Utility routines
  300. X       src/vars.c              - Utree variable routines
  301. X       src/vers.c              - Utree version and history
  302. X       src/utree.prlist.c      - Filter for formatted tree list files
  303. X
  304. X       bin/utree.backup        - Example backup shell script (SYSV)
  305. X       bin/utree.mklist        - Example create tree list shell script
  306. X       bin/utree.mklist2       - Alternate utree.mklist from R. Gebhardt
  307. X       bin/qtree               - Shell script for quick startup
  308. X       bin/xtree               - Shell script for running utree in xterm
  309. X
  310. X       lib/utree.help          - Utree help pages
  311. X       lib/utree.binding       - Example keybinding file ($HOME/.utree-term)
  312. X       lib/utree.startup       - Example startup file ($HOME/.utree)
  313. X
  314. X       doc/utree.1             - Manual page for utree
  315. X       doc/utree.prlist.1      - Manual page for utree.prlist
  316. X
  317. X       sup/README              - Readme for varargs v[fs]printf
  318. X       sup/getopt.c            - PD command line option parser getopt(3)
  319. X       sup/vsprintf.c          - PD varargs sprintf(3)
  320. X       sup/vfprintf.c          - PD varargs fprintf(3) (not used by utree)
  321. X
  322. X       sys/Makefile.286        - UNIX V/286 compatible (MSC on SCO UNIX/386)
  323. X       sys/conf.h.286
  324. X       sys/Makefile.AIX        - AIX 3.1 (IBM RS/6000)
  325. X       sys/conf.h.AIX
  326. X       sys/Makefile.APP        - DomainIX 9.5 (BSD4.2 and SystemV)
  327. X       sys/conf.h.APP            Siemens WS30/360, Apollo Domain DN4500
  328. X       sys/Makefile.BSD        - BSD 4.2/4.3 (Generic)
  329. X       sys/conf.h.BSD
  330. X       sys/Makefile.CON        - ConvexOS 8.1 (Convex C120)
  331. X       sys/conf.h.CON
  332. X       sys/Makefile.M16        - MUNIX V2/07 (PCS Cadmus 9230, MC68010)
  333. X       sys/conf.h.M16
  334. X       sys/Makefile.M32        - MUNIX V3M3.2 (PCS Cadmus 9600, MC68020)
  335. X       sys/conf.h.M32
  336. X       sys/Makefile.MIPS       - RISC/os 4.51 (MIPS RC3230, R3000)
  337. X       sys/conf.h.MIPS
  338. X       sys/Makefile.RCU        - MUNIX V3R3.2 (PCS Cadmus 9900, MIPS R[23]000)
  339. X       sys/conf.h.RCU            derived from MIPS RISC/os 4.00
  340. X       sys/Makefile.SCO        - SCO UNIX System V/386 3.2
  341. X       sys/conf.h.SCO
  342. X       sys/Makefile.SEQ        - Dynix i386 (Sequent Symmetrie)
  343. X       sys/conf.h.SEQ
  344. X       sys/Makefile.SGI        - IRIX V.3.2 (Silicon Graphics)
  345. X       sys/conf.h.SGI
  346. X       sys/Makefile.SUN        - SunOS 4.1.x (SUN4, SPARC)
  347. X       sys/conf.h.SUN
  348. X       sys/Makefile.ULT        - Ultrix-32 3.1 (DECstation, VAXstation)
  349. X       sys/conf.h.ULT
  350. X       sys/Makefile.V.2        - System V.2 (Generic)
  351. X       sys/conf.h.V.2
  352. X       sys/Makefile.V.3        - System V.3 (Generic)
  353. X       sys/conf.h.V.3
  354. X       sys/Makefile.VAX        - 4.3 BSD UNIX (DEC VAX/750)
  355. X       sys/conf.h.VAX
  356. X       sys/Makefile.X23        - SCO XENIX SysV 2.3.2 386GT
  357. X       sys/conf.h.X23
  358. X
  359. X       tst/fionread.c          - Test ioctl(FIONREAD)
  360. X       tst/sigwinch.c          - Test signal SIGWINCH and ioctl(TIOCGWINSZ)
  361. X                                 after resizing a terminal window under X.
  362. X
  363. X------------------------------------------------------------------------------
  364. X
  365. END_OF_FILE
  366. if test 5433 -ne `wc -c <'MANIFEST'`; then
  367.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  368. fi
  369. # end of 'MANIFEST'
  370. fi
  371. if test -f 'Makefile' -a "${1}" != "-c" ; then 
  372.   echo shar: Will not clobber existing file \"'Makefile'\"
  373. else
  374. echo shar: Extracting \"'Makefile'\" \(5083 characters\)
  375. sed "s/^X//" >'Makefile' <<'END_OF_FILE'
  376. X#
  377. X#       Makefile for UTREE 3.03-um
  378. X#       klin, Sun Feb 16 16:35:52 1992
  379. X#
  380. X#       Steps to create an utree executable:
  381. X#       - First check src/Makefile if all definitions are correct for
  382. X#         your system. There are some Makefiles for SYSV.2, SYSV.3 and
  383. X#         BSD. Check and change the correct Makefile for your system and
  384. X#         copy it to Makefile.
  385. X#       - Then check src/conf.h if all definitions are correct for
  386. X#         your system. There are some conf.h for SYSV.2, SYSV.3 and
  387. X#         BSD. Check and change the correct conf.h for your system and
  388. X#         copy it to conf.h.
  389. X#       - Call make or make utree to create utree. The executable
  390. X#         is written into the bin directory. Test utree.
  391. X#
  392. X#       Steps to create utree man page:
  393. X#       - Check all manual definitions in this Makefile and change them if
  394. X#         needed.
  395. X#       - Call make man to create the utree manual page if your
  396. X#         systems needs formatted and/or packed manual pages.
  397. X#
  398. X#       Steps to install utree:
  399. X#       - Check all install definitions in this Makefile and change them if
  400. X#         needed.
  401. X#       - Call make install to install utree executables and manual
  402. X#         page (you must be super user to do this).
  403. X#
  404. X
  405. X# --------------------------------------------------------------------- #
  406. X
  407. X# Utree executables
  408. X#   The utree utility
  409. UTREE=utree
  410. X#   The tree list formatter
  411. UTPRL=utree.prlist
  412. X
  413. X# Utree support shell scripts
  414. UHELP=  utree.help      # Utree help pages
  415. UBACK=  utree.backup    # Utree backup shell script
  416. ULIST=  utree.mklist    # Create directory lists for quicker startup
  417. X
  418. UTMAN=  utree.1         # Utree man page
  419. UPMAN=  utree.prlist.1  # Utree.prlist man page
  420. X
  421. X# --------------------------------------------------------------------- #
  422. X
  423. X# Create utree executable
  424. X
  425. all:    $(UTREE) $(UTPRL)
  426. X
  427. clean:    clean.real
  428. X    ( cd src; make -f ../Makefile clean.real )
  429. X    ( cd bin; make -f ../Makefile clean.real )
  430. X
  431. clean.real:
  432. X    -rm -f *.o *.BAK *.CKP *~
  433. X    -rm -f core $(UTREE) $(UTPRL)
  434. X
  435. X# Compile and link utree executables
  436. X$(UTREE):
  437. X    @echo "Make $(UTREE)"
  438. X    cd src; make $@
  439. X
  440. X$(UTPRL):
  441. X    @echo "Make $(UTPRL)"
  442. X    cd src; make $@
  443. X
  444. X# Strip off symbols
  445. strip:
  446. X    @echo "Make stripped $(UTREE)"
  447. X    cd src; make $@
  448. X
  449. X# --------------------------------------------------------------------- #
  450. X
  451. X# Utree manual pages. Edit and change the following lines if needed!
  452. X
  453. X# Commands needed for utree manual page
  454. TBL=    tbl
  455. NROFF=  nroff
  456. CP=     cp
  457. RM=     rm
  458. PACK=   pack
  459. COMP=   compress
  460. X
  461. man:
  462. X# Unformatted manual pages
  463. X    $(CP)   doc/utree.m        doc/$(UTMAN).1
  464. X    $(CP)   doc/utree.prlist.m doc/$(UPMAN).1
  465. X# Formatted manual pages
  466. X#        $(TBL)  doc/utree.m        | $(NROFF) -man > doc/$(UTMAN)
  467. X#        $(TBL)  doc/utree.prlist.m | $(NROFF) -man > doc/$(UPMAN)
  468. X# Packed formatted manual pages
  469. X#         $(RM)   -f doc/$(UTMAN).z doc/$(UPMAN).z
  470. X#         $(PACK) doc/$(UTMAN) doc/$(UPMAN)
  471. X# Compressed formatted manual pages
  472. X#        $(RM)   -f doc/$(UTMAN).Z doc/$(UPMAN).Z
  473. X#        $(COMP) doc/$(UTMAN) doc/$(UPMAN)
  474. X
  475. X# --------------------------------------------------------------------- #
  476. X
  477. X# Install utree. Change the following lines if needed!
  478. X# WARNING: You must be super user to do this!
  479. X
  480. X# Bin, lib and man directories for utree files
  481. BINDIR= /usr/local/bin
  482. LIBDIR= /usr/local/lib
  483. MANDIR= /usr/local/man/man1
  484. X#MANDIR= /usr/local/man/cat1
  485. X
  486. X# Commands needed for installation of utree files
  487. CHMOD=  chmod
  488. CHOWN=  chown
  489. CHGRP=  chgrp
  490. MKDIR=    mkdir -p
  491. X
  492. X# Access modes and owner/group of utree binaries, help and man pages
  493. XXMODE=  0755
  494. RMODE=  0644
  495. OWNER=  bin
  496. GROUP=  bin
  497. X
  498. X# Sorry, not all UNIXes have the (BSD) install utility!
  499. install:
  500. X    @echo "Install $(UTREE)"
  501. X    -test -d $(BINDIR) || $(MKDIR) $(BINDIR)
  502. X    -test -d $(LIBDIR) || $(MKDIR) $(LIBDIR)
  503. X    -test -d $(MANDIR) || $(MKDIR) $(MANDIR)
  504. X    $(CP)    bin/$(UTREE) $(BINDIR)
  505. X    $(CHMOD) $(XMODE)     $(BINDIR)/$(UTREE)
  506. X    $(CHOWN) $(OWNER)     $(BINDIR)/$(UTREE)
  507. X    $(CHGRP) $(GROUP)     $(BINDIR)/$(UTREE)
  508. X    @echo "Install $(UTPRL)"
  509. X    $(CP)    bin/$(UTPRL) $(BINDIR)
  510. X    $(CHMOD) $(XMODE)     $(BINDIR)/$(UTPRL)
  511. X    $(CHOWN) $(OWNER)     $(BINDIR)/$(UTPRL)
  512. X    $(CHGRP) $(GROUP)     $(BINDIR)/$(UTPRL)
  513. X    @echo "Install $(UHELP) in $(LIBDIR)"
  514. X    $(CP)    lib/$(UHELP) $(LIBDIR)
  515. X    $(CHMOD) $(RMODE)     $(LIBDIR)/$(UHELP)
  516. X    $(CHOWN) $(OWNER)     $(LIBDIR)/$(UHELP)
  517. X    $(CHGRP) $(GROUP)     $(LIBDIR)/$(UHELP)
  518. X    @echo "Install $(UBACK) in $(BINDIR)"
  519. X    $(CP)    bin/$(UBACK) $(BINDIR)
  520. X    $(CHMOD) $(XMODE)     $(BINDIR)/$(UBACK)
  521. X    $(CHOWN) $(OWNER)     $(BINDIR)/$(UBACK)
  522. X    $(CHGRP) $(GROUP)     $(BINDIR)/$(UBACK)
  523. X    @echo "Install $(ULIST) in $(BINDIR)"
  524. X    $(CP)    bin/$(ULIST) $(BINDIR)
  525. X    $(CHMOD) $(XMODE)     $(BINDIR)/$(ULIST)
  526. X    $(CHOWN) $(OWNER)     $(BINDIR)/$(ULIST)
  527. X    $(CHGRP) $(GROUP)     $(BINDIR)/$(ULIST)
  528. X    @echo "Install $(UTMAN) $(UPMAN) in $(MANDIR)"
  529. X    $(CP)    doc/$(UTMAN) doc/$(UPMAN) $(MANDIR)
  530. X    $(CHMOD) $(RMODE)    $(MANDIR)/$(UTMAN) $(MANDIR)/$(UPMAN)
  531. X    $(CHOWN) $(OWNER)    $(MANDIR)/$(UTMAN) $(MANDIR)/$(UPMAN)
  532. X    $(CHGRP) $(GROUP)    $(MANDIR)/$(UTMAN) $(MANDIR)/$(UPMAN)
  533. X
  534. X# --------------------------------------------------------------------- #
  535. X
  536. END_OF_FILE
  537. if test 5083 -ne `wc -c <'Makefile'`; then
  538.     echo shar: \"'Makefile'\" unpacked with wrong size!
  539. fi
  540. # end of 'Makefile'
  541. fi
  542. if test -f 'bin/utree.mklist2' -a "${1}" != "-c" ; then 
  543.   echo shar: Will not clobber existing file \"'bin/utree.mklist2'\"
  544. else
  545. echo shar: Extracting \"'bin/utree.mklist2'\" \(2580 characters\)
  546. sed "s/^X//" >'bin/utree.mklist2' <<'END_OF_FILE'
  547. X:
  548. X#       UTREE.MKLIST.SH
  549. X#       UTREE create tree directory list for quicker startup
  550. X#       3.00-um klin, Sat Apr 20 11:27:17 1991
  551. X#       Usage:          utree.mklist [-a]
  552. X#       Options:        -a      Read in all (including hidden) directories
  553. X#       Directory:      /usr/local/bin
  554. X#
  555. X#       Copyright (c) 1991 by Peter Klingebiel & UNIX Magazin Muenchen.
  556. X#       For copying and distribution information see the file COPYRIGHT.
  557. X#
  558. X#       SCCSID=@(#) utree.mklist.sh (utree 3.00-um) Apr 20 1991
  559. X#
  560. X#
  561. X#       Introduction of sort fields by Rolf Gebhardt
  562. X#
  563. X#       avoids funny sort orders, e.g.
  564. X#
  565. X#           /u/user/utree/utree.um
  566. X#           /u/user/utree/utree.um.1
  567. X#           /u/user/utree/utree.um.1/bin
  568. X#           /u/user/utree/utree.um.1/doc
  569. X#           /u/user/utree/utree.um/bin
  570. X#           /u/user/utree/utree.um/doc
  571. X#
  572. X#       the right sort order, which represents the directory-tree, is
  573. X#
  574. X#           /u/user/utree/utree.um
  575. X#           /u/user/utree/utree.um/bin
  576. X#           /u/user/utree/utree.um/doc
  577. X#           /u/user/utree/utree.um.1
  578. X#           /u/user/utree/utree.um.1/bin
  579. X#           /u/user/utree/utree.um.1/doc
  580. X#
  581. X#
  582. X#
  583. LIST=$HOME/.utreelist           # List file
  584. XFIELDS=""                       # Sort Field List generated below
  585. X                                # dependent on number of directory levels
  586. X
  587. if   test $# -eq 0              # Check option
  588. then
  589. X  AFLAG=
  590. elif test $# -eq 1 -a "$1" = "-a"
  591. then
  592. X  AFLAG=-a
  593. else
  594. X  echo "Usage: utree.mklist [-a]"
  595. X  exit 1
  596. fi
  597. X
  598. X         # count the number of directory levels
  599. X         # (to do it with 'awk' would be more elegant, but the method
  600. X         #  used here is faster than 'awk')
  601. X         #
  602. X         # e.g. for '/u/user/wrk/bin/xxx' we get 5 slashes plus one \n,
  603. X         # so 'wc' returns 6
  604. X         # the number of fields to sort is 5
  605. X         # sort field 0 is always empty
  606. X
  607. nofields=`find $HOME -type d -print | tr -cd "\012/" |\
  608. X          sort -r | head -1 | wc -c | tr -d "\040\011"`
  609. nofields=`expr $nofields - 1`
  610. X
  611. X         #  (debug statement)
  612. X         #  echo "nofields = $nofields"
  613. X         #
  614. X         #  generate the sort-fields parameter for 'sort'
  615. X         #
  616. X
  617. while [ $nofields -gt 1 ]
  618. do
  619. X  FIELDS="-$nofields +$nofields $FIELDS"
  620. X  nofields=`expr $nofields - 1`
  621. done
  622. X
  623. XFIELDS="+1 $FIELDS"
  624. X
  625. X         # (debug statements)
  626. X         # echo "fields: $FIELDS"
  627. X         # exit
  628. X
  629. echo "# utree tree list created at `date`" >$LIST
  630. if test "$AFLAG" = "-a"
  631. then
  632. X  find $HOME -type d -print | sort -t/ $FIELDS >>$LIST
  633. else
  634. X  find $HOME -type d -print | grep -v "/\." | sort -t/ $FIELDS >>$LIST
  635. fi
  636. exit 0
  637. X
  638. END_OF_FILE
  639. if test 2580 -ne `wc -c <'bin/utree.mklist2'`; then
  640.     echo shar: \"'bin/utree.mklist2'\" unpacked with wrong size!
  641. fi
  642. chmod +x 'bin/utree.mklist2'
  643. # end of 'bin/utree.mklist2'
  644. fi
  645. if test -f 'src/cmds.h' -a "${1}" != "-c" ; then 
  646.   echo shar: Will not clobber existing file \"'src/cmds.h'\"
  647. else
  648. echo shar: Extracting \"'src/cmds.h'\" \(2610 characters\)
  649. sed "s/^X//" >'src/cmds.h' <<'END_OF_FILE'
  650. X/*
  651. X *      CMDS.H
  652. X *      UTREE system command and filename definitions.
  653. X *      3.03-um klin, Tue Feb 11 19:23:58 1992, Splitted from conf.h
  654. X *
  655. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  656. X *      For copying and distribution information see the file COPYRIGHT.
  657. X */
  658. X#if     defined(_MAIN_) && !defined(lint)
  659. static char sccsid_cmds[] = "@(#) utree 3.03-um (klin) Feb 11 1992 cmds.h";
  660. X#endif  /* _MAIN_ && !lint */
  661. X
  662. X/*
  663. X *      SOME DEFAULT SYSTEM COMMANDS.
  664. X */
  665. X
  666. X/* May be overriden by environment or utree variables.                  */
  667. X#ifdef  BSD
  668. X# define SHELL    "csh"         /* Default shell. See csh(1)            */
  669. X# define EDITPRG  "vi"          /* Default editor. See vi(1)            */
  670. X# define PAGEPRG  "more"        /* Default pager. See more(1)           */
  671. X# define DUMPPRG  "od"          /* Default dumper. See od(1)            */
  672. X# define PRINTPRG "lpr"         /* Default printer. See lpr(1)          */
  673. X#else   /* SYSV */
  674. X# define SHELL    "sh"          /* Default shell. See sh(1)             */
  675. X# define EDITPRG  "ed"          /* Default editor. See ed(1)            */
  676. X# define PAGEPRG  "pg"          /* Default pager. See pg(1)             */
  677. X# define DUMPPRG  "od"          /* Default dumper. See od(1)            */
  678. X# define PRINTPRG "lp"          /* Default printer. See lp(1)           */
  679. X#endif  /* BSD */
  680. X
  681. X#define CPFILE  "cp"            /* Copy files. See cp(1)                */
  682. X#define MVFILE  "mv"            /* Move files. See mv(1)                */
  683. X#define LSFILE  "ls"            /* List files. See ls(1)                */
  684. X#define RMFILE  "rm"            /* Remove files. See rm(1)              */
  685. X#define RMOPTS  "-rf"           /* Remove all option                    */
  686. X#define MKDIR   "mkdir"         /* Create directory. See mkdir(1)       */
  687. X#define RMDIR   "rmdir"         /* Remove directory. See rmdir(1)       */
  688. X#define DUDIR   "du -s"         /* Directory disk usage. See du(1)      */
  689. X#define GRFILE  "grep"          /* Search in files. See grep(1)         */
  690. X#define GROPTS  "-c"            /* Print count only option              */
  691. X
  692. X/*
  693. X *      FILENAMES USED BY UTREE.
  694. X */
  695. X
  696. X#define UTBCKUP "utree.backup"  /* Utree backup shell script            */
  697. X#define UTBACK  "utree.bak"     /* Utree backup file list               */
  698. X#define UTHELP  "utree.help"    /* Utree help pages                     */
  699. X#define UTSTART "utree"         /* Utree startup file in home or libdir */
  700. X#define UTLIST  ".utreelist"    /* Utree tree list file in $HOME        */
  701. X#define UTHIST  ".utreehist"    /* Utree command history file in $HOME  */
  702. X
  703. END_OF_FILE
  704. if test 2610 -ne `wc -c <'src/cmds.h'`; then
  705.     echo shar: \"'src/cmds.h'\" unpacked with wrong size!
  706. fi
  707. # end of 'src/cmds.h'
  708. fi
  709. if test -f 'src/help.c' -a "${1}" != "-c" ; then 
  710.   echo shar: Will not clobber existing file \"'src/help.c'\"
  711. else
  712. echo shar: Extracting \"'src/help.c'\" \(5676 characters\)
  713. sed "s/^X//" >'src/help.c' <<'END_OF_FILE'
  714. X/*
  715. X *      HELP.C
  716. X *      UTREE help routines.
  717. X *      3.01-um klin, Sat Apr 20 11:02:33 1991
  718. X *      3.03-um klin, Sat Feb 15 18:34:27 1992, Minor changes
  719. X *
  720. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  721. X *      For copying and distribution information see the file COPYRIGHT.
  722. X */
  723. X#ifndef lint
  724. static char sccsid[] = "@(#) utree 3.03-um (klin) Feb 15 1992 help.c";
  725. X#endif  /* !lint */
  726. X
  727. X#include "defs.h"
  728. X
  729. X/* ---- Local variables and definitions ------------------------------- */
  730. X
  731. LOCAL hlist *hroot = HNULL;     /* Root of help pages                   */
  732. LOCAL char *helpmenu = NULL;    /* Help menuline                        */
  733. LOCAL char helpfile[NAMELEN];   /* Help file name                       */
  734. X
  735. X#define LINELEN 128             /* Max line length for help pages       */
  736. X
  737. X/* ---- External variables and functions ------------------------------ */
  738. X
  739. XEXTRN long ftell();
  740. X
  741. X/* ---- Functions and procedures -------------------------------------- */
  742. X
  743. X/*
  744. X *      INTERNAL USED ROUTINES
  745. X */
  746. X
  747. X/* Insert a help page for topic s into help page list for file fp */
  748. LOCAL VOID inserthelp(s, fp)
  749. X  register char *s;
  750. X  register FILE *fp;
  751. X{
  752. X  char buf[LINELEN];
  753. X  register hlist *hp, *np;
  754. X  register char *i, k;
  755. X  register long p;
  756. X  register int n;
  757. X
  758. X  p = ftell(fp);                /* Get position of topic in help file */
  759. X  i = s;                        /* and menu line item */
  760. X  while(*s && !(*s == ' ' || *s == '\t' || *s == '\n'))
  761. X    ++s;
  762. X  *s = '\0';
  763. X  /* Count number of lines for this help page */
  764. X  for(n = 0; fgets(buf, sizeof(buf), fp); n++)
  765. X    if(buf[0] == '#' && buf[1] == '@')
  766. X      break;
  767. X  if(*i && p > 0 && n > 0) {    /* Get the hotkey for help menu topic */
  768. X    s = i;
  769. X    k = *i;
  770. X    while(*s) {
  771. X      if(*s >= 'A' && *s <= 'Z') {
  772. X       k = *s;
  773. X       break;
  774. X      }
  775. X      ++s;
  776. X    }
  777. X    /* Get space for help page, fill up data and insert into list */
  778. X    hp = (hlist *) ualloc(1, sizeof(hlist));
  779. X    (void) strncpy(HITEM(hp), i, ITEMLEN-1);
  780. X    HHKEY(hp) = isupper(k) ? tolower(k) : k;
  781. X    HSPOS(hp) = p;
  782. X    HNLIN(hp) = n;
  783. X    HNEXT(hp) = HNULL;
  784. X    if(hroot == HNULL)
  785. X      hroot = hp;
  786. X    else {
  787. X      for(np = hroot; HNEXT(np); np = HNEXT(np))
  788. X       ;
  789. X      HNEXT(np) = hp;
  790. X    }
  791. X  }
  792. X
  793. X} /* inserthelp() */
  794. X
  795. X/* Show help page hp from help file fp */
  796. LOCAL int showhelppage(hp, fp)
  797. X  register hlist *hp;
  798. X  register FILE *fp;
  799. X{
  800. X  char buf[LINELEN];
  801. X  register int n, l, c;
  802. X
  803. X  puthelp("%s: About %s (Q:quit  ELSE:helpmenu)", who, HITEM(hp));
  804. X  clearwindow(firstline, lastline);
  805. X  flushout();
  806. X  c = RV_OK;
  807. X  for(n = 0, l = firstline; n < HNLIN(hp); ) {
  808. X    if(fgets(buf, sizeof(buf), fp))
  809. X      (void) putsxy(0, l, buf);
  810. X    else
  811. X      break;
  812. X    ++n;
  813. X    ++l;
  814. X    if(l > lastfline && n < HNLIN(hp)) {
  815. X      puthelp("%s: About %s (CR:continue  Q:quit  ELSE:helpmenu)", who, HITEM(hp));
  816. X      c = hitakey("Help:", echoline, DA_NONE);
  817. X      puthelp("%s: About %s (Q:quit  ELSE:help)", who, HITEM(hp));
  818. X      if( !(c == ' ' || c == '\n'))
  819. X       break;
  820. X      l = firstline;
  821. X      clearwindow(firstline, lastline);
  822. X      flushout();
  823. X    }
  824. X  }
  825. X  if(c == 'q' || c < RV_NUL)
  826. X    return(c);
  827. X  puthelp("%s: About %s %s", who, HITEM(hp), hitkey);
  828. X  (void) putecho("Help about %s done", HITEM(hp));
  829. X  return(hitakey(NULL));
  830. X
  831. X} /* showhelppage() */
  832. X
  833. X/* Utree help pages are contained in a help file. Each help page is     */
  834. X/* enclosed in a pair of lines '#@item' and '#@' which signal start and */
  835. X/* end of the help page to topic 'item'. This item is also copied into  */
  836. X/* the help menuline and the first character or the first upper case    */
  837. X/* character from item if found is used as hot key for selecting the    */
  838. X/* help page to this topic. The initialization routine scans the help   */
  839. X/* file and builds up a list of available help pages from this file.    */
  840. GLOBL VOID inithelp()
  841. X{
  842. X  char buf[NAMELEN];
  843. X  register FILE *fp;
  844. X  register hlist *hp;
  845. X  register int l, i;
  846. X
  847. X#ifdef  UTHELP
  848. X  if(startup(buf, UTHELP) && (fp = fopen(buf, "r"))) {
  849. X    (void) strcpy(helpfile, buf);
  850. X    /* First read help file and insert help pages into list */
  851. X    while(fgets(buf, sizeof(buf), fp))
  852. X      if(buf[0] == '#' && buf[1] == '@' && buf[2])
  853. X       inserthelp(&buf[2], fp);
  854. X    /* Second build from help items the help menu line */
  855. X    l = columns - 4;
  856. X    helpmenu = ualloc((unsigned) l, sizeof(char));
  857. X    for(hp = hroot, i = 0; hp; hp = HNEXT(hp)) {
  858. X      i += strlen(HITEM(hp)) + 1;
  859. X      if(i >= l)
  860. X       break;
  861. X      (void) strcat(helpmenu, " ");
  862. X      (void) strcat(helpmenu, HITEM(hp));
  863. X    }
  864. X    (void) fclose(fp);
  865. X    if((i + 5) < l)
  866. X      (void) strcat(helpmenu, " Quit");
  867. X  }
  868. X#endif
  869. X
  870. X} /* inithelp() */
  871. X
  872. X/* Display help menu and help pages */
  873. GLOBL int showhelp(k)
  874. X  register int k;
  875. X{
  876. X  register FILE *fp;
  877. X  register hlist *hp;
  878. X  register int c;
  879. X
  880. X  who = "HELP";
  881. X  if(hroot == HNULL || !(fp = fopen(helpfile, "r"))) {
  882. X    puthelp("%s %s", who, hitkey);
  883. X    return(errequest("Help", "Not available"));
  884. X  }
  885. X
  886. X  /* Help menu loop */
  887. X  do {
  888. X    if(k) {
  889. X      c = k;
  890. X      k = 0;
  891. X    }
  892. X    else {
  893. X      if( !keypressed()) {
  894. X       putmenu("HELP:", helpmenu);
  895. X       (void) putecho("Help about which topic:");
  896. X      }
  897. X      if((c = hitakey(NULL)) == 'q' || c < RV_NUL)
  898. X       break;
  899. X      else if(isupper(c))
  900. X       c = tolower(c);
  901. X    }
  902. X    for(hp = hroot; hp && HHKEY(hp) != c; hp = HNEXT(hp))
  903. X      ;
  904. X    if(hp == HNULL || fseek(fp, HSPOS(hp), 0))
  905. X      break;
  906. X    c = showhelppage(hp, fp);
  907. X    treeflag = fileflag = SF_FULL;
  908. X  } while(c != 'q' && c > RV_NUL);
  909. X
  910. X  /* Close help file and return */
  911. X  (void) fclose(fp);
  912. X  if(c == 'q' || c < RV_NUL)
  913. X    return(c);
  914. X  return(putversion(echoline, "HELP: Done"));
  915. X
  916. X} /* showhelp() */
  917. X
  918. END_OF_FILE
  919. if test 5676 -ne `wc -c <'src/help.c'`; then
  920.     echo shar: \"'src/help.c'\" unpacked with wrong size!
  921. fi
  922. # end of 'src/help.c'
  923. fi
  924. if test -f 'src/term.h' -a "${1}" != "-c" ; then 
  925.   echo shar: Will not clobber existing file \"'src/term.h'\"
  926. else
  927. echo shar: Extracting \"'src/term.h'\" \(4300 characters\)
  928. sed "s/^X//" >'src/term.h' <<'END_OF_FILE'
  929. X/*
  930. X *      TERM.H
  931. X *      UTREE terminal and screen definitions.
  932. X *      3.01-um klin, Wed May  1 14:34:34 1991
  933. X *              klin, Sat Oct 26 15:27:00 1991, Some additions
  934. X *      3.02-um klin, Fri Nov  1 10:44:45 1991, Screen layout changed
  935. X *              klin, Sun Nov 24 15:12:48 1991, Video attributes changed
  936. X *      3.03-um klin, Tue Feb 11 19:39:09 1992, Video attributes changed
  937. X *
  938. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  939. X *      For copying and distribution information see the file COPYRIGHT.
  940. X */
  941. X#if     defined(_MAIN_) && !defined(lint)
  942. static char sccsid_term[] = "@(#) utree 3.03-um (klin) Feb 11 1992 term.h";
  943. X#endif  /* _MAIN_ && !lint */
  944. X
  945. X#define MINCOLS 80              /* Min number of screen columns needed  */
  946. X#define MINLINS 24              /* Min number of screen lines needed    */
  947. X
  948. X/* Return values from getline()                                         */
  949. X#define EMPTY   0               /* Input is empty                       */
  950. X#define DONE    1               /* Input not empty and ok               */
  951. X
  952. X/* Video attribute flags                                                */
  953. X#define VA_NORMAL       0x00    /* Reset all video attributes           */
  954. X#define VA_REVERSE      0x01    /* Video reverse   attribute            */
  955. X#define VA_BLINK        0x02    /* Video blink     attribute            */
  956. X#define VA_HALF         0x04    /* Half bright     attribute            */
  957. X#define VA_BOLD         0x08    /* Video bold      attribute            */
  958. X#define VA_UNDERLINE    0x10    /* Video underline attribute            */
  959. X
  960. X/* Cursor functions                                                     */
  961. X#define CF_VISIBLE      0x01    /* Cursor visible                       */
  962. X#define CF_INVISIBLE    0x02    /* Cursor invisible                     */
  963. X#define CF_SAVE         0x04    /* Save cursor position                 */
  964. X#define CF_RESTORE      0x08    /* Restore cursor position              */
  965. X
  966. X/* Keypad functions                                                     */
  967. X#define KP_NORMAL       0x00    /* Switch keypad to normal mode         */
  968. X#define KP_XMIT         0x01    /* Switch keypad to transmit mode       */
  969. X
  970. X/* Graphical charset functions                                          */
  971. X#define GC_OFF          0x00    /* Turn off graph charset               */
  972. X#define GC_ON           0x01    /* Turn on graph charset                */
  973. X
  974. X/* The graph charset is accessed and hidden by the following macros     */
  975. X#define GC_HB   _graphset[0]    /* Horizontal bar                       */
  976. X#define GC_VB   _graphset[1]    /* Vertical bar                         */
  977. X#define GC_LT   _graphset[2]    /* Left tee                             */
  978. X#define GC_RT   _graphset[3]    /* Right tree                           */
  979. X#define GC_TT   _graphset[4]    /* Top tee                              */
  980. X#define GC_BT   _graphset[5]    /* Bottom tee                           */
  981. X#define GC_UL   _graphset[6]    /* Upper left corner                    */
  982. X#define GC_LL   _graphset[7]    /* Lower left corner                    */
  983. X#define GC_UR   _graphset[8]    /* Upper right corner                   */
  984. X#define GC_LR   _graphset[9]    /* Lower right corner                   */
  985. X#define GC_TG   _graphset[10]   /* Tag sign (diamond or plus)           */
  986. X
  987. X#define NGRAPH  11              /* Max number of graphic characters     */
  988. X
  989. X#ifdef _MAIN_
  990. int columns, lines;             /* Number of screen columns and lines   */
  991. int glitchcap;                  /* Standout mode/underline glitch flag  */
  992. int scrollcap;                  /* Window/scrolling capabilities flag   */
  993. int cursorcap;                  /* Cursor capabilities                  */
  994. int videocap;                   /* Video capabilities flag              */
  995. int graphcap;                   /* Graphic character set flag           */
  996. char _graphset[NGRAPH];         /* Graphic character set                */
  997. X#else   /* !_MAIN_ */
  998. extern int columns, lines;
  999. extern int glitchcap, scrollcap, cursorcap, videocap, graphcap;
  1000. extern char _graphset[];
  1001. X#endif  /* _MAIN_ */
  1002. X
  1003. X#ifdef  putchar                 /* Don't use stdio.h's putchar macro    */
  1004. X# undef putchar
  1005. X#endif
  1006. X#ifdef  getchar                 /* Don't use stdio.h's getchar macro    */
  1007. X# undef getchar
  1008. X#endif
  1009. X
  1010. X
  1011. END_OF_FILE
  1012. if test 4300 -ne `wc -c <'src/term.h'`; then
  1013.     echo shar: \"'src/term.h'\" unpacked with wrong size!
  1014. fi
  1015. # end of 'src/term.h'
  1016. fi
  1017. if test -f 'src/vers.c' -a "${1}" != "-c" ; then 
  1018.   echo shar: Will not clobber existing file \"'src/vers.c'\"
  1019. else
  1020. echo shar: Extracting \"'src/vers.c'\" \(4935 characters\)
  1021. sed "s/^X//" >'src/vers.c' <<'END_OF_FILE'
  1022. X/*
  1023. X *      VERS.C
  1024. X *      UTREE version and history.
  1025. X *      1.00    klin, Jul 12 1988 -- Initial version
  1026. X *      1.01    klin, Jul 17 1988 -- Remove filesystems completely
  1027. X *      1.02    klin, Feb  5 1990 -- Ported to BSD
  1028. X *                                   Filesystem independent directory handling
  1029. X *                                   Screen handling extracted from screen lib
  1030. X *      2.00    klin, Nov 10 1990 -- Changes and extensions
  1031. X *      2.01    klin, Jan 26 1991 -- Some bug fixes
  1032. X *      2.02    klin, Mar 23 1991 -- User defined commands
  1033. X *                                   File type commands
  1034. X *                                   Some minor changes and bug fixes
  1035. X *                    Apr  7 1991 -- File pattern extended
  1036. X *      3.00-um klin, Apr 20 1991 -- Bug fixes
  1037. X *                    May  5 1991 -- Some more extensions
  1038. X *      3.01-um klin, Jun  4 1991 -- File zooming added
  1039. X *                    Oct  7 1991 -- File size patterns added
  1040. X *                                   Bug in putchar() deleted
  1041. X *                    Oct 15 1991 -- Handling of symlinks changed
  1042. X *                                   Option -L added
  1043. X *                    Oct 26 1991 -- Marking directories changed
  1044. X *                                   Sorting and zooming filelists changed
  1045. X *                                   Print tree list added
  1046. X *                                   writedlist() changed
  1047. X *                                   Copying and moving files changed
  1048. X *                                   Select directory added
  1049. X *      3.02-um klin, Nov  1 1991 -- Screen layout changed
  1050. X *                                   Goto parent directory added
  1051. X *                                   Marking files changed
  1052. X *                                   Option -u changed to -n
  1053. X *                                   Option -u (update tree) added
  1054. X *              klin, Nov 10 1991 -- buildlist() changed
  1055. X *                                   Function key handling changed
  1056. X *              klin, Nov 24 1991 -- Some error fixes and extensions for XENIX
  1057. X *                                   reported and done by Rolf Gebhardt (Nov 22 1991)
  1058. X *                                   Video attributes changed
  1059. X *                                   Cd to current directory before executing
  1060. X *                                   some commands
  1061. X *      3.03-um klin, Feb 11 1992 -- Shell screen put into module hist.[ch]
  1062. X *                                   Shell command history added
  1063. X *                                   Status screen put into module stat.c
  1064. X *                                   Generic list type glist added
  1065. X *                                   Line editor extended, getline() and
  1066. X *                                   editline() changed
  1067. X *                                   Handling of variables and filetype
  1068. X *                                   commands changed
  1069. X *                                   Minor changes in screen layout
  1070. X *              klin, Feb 15 1992 -- Video handling changed, display attributes
  1071. X *                                   and video mode flag added
  1072. X *                                   Partitioning of directory and file window on
  1073. X *                                   tree screen changed and option -p added
  1074. X *              klin, Feb 22 1992 -- Many commands on tree screen changed
  1075. X *              klin, Feb 23 1992 -- Key handling and key bindings changed
  1076. X *                                   User customizable key bindings added
  1077. X *                                   Variables added
  1078. X *              klin, Mar  6 1992 -- Minor changes before distribution
  1079. X *            a klin, Mar 15 1992 -- Bug fixes and minor changes
  1080. X *            b klin, Mar 19 1992 -- Bug fixes in setvariable() and editline()
  1081. X *
  1082. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1083. X *      For copying and distribution information see the file COPYRIGHT.
  1084. X */
  1085. X#ifndef lint
  1086. static char sccsid[] = "@(#) utree 3.03-um (klin) Feb 15 1992 vers.c";
  1087. X#endif  /* !lint */
  1088. static char version[]   = "@(#) UTREE 3.03b-um";
  1089. static char copyright[] = "@(#) (C) 1991/92 P. Klingebiel & UNIX Magazin";
  1090. static char release[]   = "@(#) Release: Mar 19 1992";
  1091. X
  1092. X#define VERS    &version[5]
  1093. X#define COPY    ©right[5]
  1094. X#define DATE    &release[5]
  1095. X
  1096. X#include "defs.h"
  1097. X
  1098. X/* ---- Functions and procedures -------------------------------------- */
  1099. X
  1100. X/* Write version string to echoline or helpline */
  1101. GLOBL int putversion(l, s)
  1102. X  register int l;
  1103. X  register char *s;
  1104. X{
  1105. X  if(l == helpline) {
  1106. X    puthelp(" %s %s (%s)", VERS, COPY, DATE);
  1107. X    return(RV_OK);
  1108. X  }
  1109. X  else if(s) {
  1110. X    puthelp("%s %s", s, hitkey);
  1111. X    (void) putecho("%s %s (%s)", VERS, COPY, DATE);
  1112. X    return(hitakey(NULL));
  1113. X  }
  1114. X
  1115. X} /* putversion() */
  1116. X
  1117. X/* Print version string */
  1118. GLOBL VOID utreeversion()
  1119. X{
  1120. X  (void) fprintf(stdout, "%s %s (%s)\n", VERS, COPY, DATE);
  1121. X
  1122. X} /* utreeversion() */
  1123. X
  1124. X/* Return utree version */
  1125. GLOBL char *getversion()
  1126. X{
  1127. X  return(VERS);
  1128. X
  1129. X} /* getversion() */
  1130. X
  1131. END_OF_FILE
  1132. if test 4935 -ne `wc -c <'src/vers.c'`; then
  1133.     echo shar: \"'src/vers.c'\" unpacked with wrong size!
  1134. fi
  1135. # end of 'src/vers.c'
  1136. fi
  1137. if test -f 'sup/vfprintf.c' -a "${1}" != "-c" ; then 
  1138.   echo shar: Will not clobber existing file \"'sup/vfprintf.c'\"
  1139. else
  1140. echo shar: Extracting \"'sup/vfprintf.c'\" \(5468 characters\)
  1141. sed "s/^X//" >'sup/vfprintf.c' <<'END_OF_FILE'
  1142. X/* Portable vfprintf and vprintf by Robert A. Larson <blarson@skat.usc.edu> */
  1143. X
  1144. X/* Copyright 1989 Robert A. Larson.
  1145. X * Distribution in any form is allowed as long as the author
  1146. X * retains credit, changes are noted by their author and the
  1147. X * copyright message remains intact.  This program comes as-is
  1148. X * with no warentee of fitness for any purpouse.
  1149. X *
  1150. X * Thanks to Doug Gwen, Chris Torek, and others who helped clarify
  1151. X * the ansi printf specs.
  1152. X *
  1153. X * Please send any bug fixes and improvments to blarson@skat.usc.edu .
  1154. X * The use of goto is NOT a bug.
  1155. X */
  1156. X
  1157. X/* Feb 9, 1989         blarson         First usenet release */
  1158. X
  1159. X/* This code implements the vfprintf function, without relying on
  1160. X * the existance of _doprint or other system specific code.
  1161. X *
  1162. X * Define NOVOID if void * is not a supported type.
  1163. X *
  1164. X * Two compile options are available for efficency:
  1165. X *     INTSPRINTF      should be defined if sprintf is int and returns
  1166. X *                     the number of chacters formated.
  1167. X *     LONGINT         should be defined if sizeof(long) == sizeof(int)
  1168. X *
  1169. X *     They only make the code smaller and faster, they need not be
  1170. X *     defined.
  1171. X *
  1172. X * UNSIGNEDSPECIAL should be defined if unsigned is treated differently
  1173. X * than int in argument passing.  If this is definded, and LONGINT is not,
  1174. X * the compiler must support the type unsingned long.
  1175. X *
  1176. X * Most quirks and bugs of the available fprintf fuction are duplicated,
  1177. X * however * in the width and precision fields will work correctly
  1178. X * even if fprintf does not support this.  The %n format and the return
  1179. X * count will only work if fprintf returns the number of characters
  1180. X * formatted.
  1181. X *
  1182. X * Bad format strings, or those with very long width and precision
  1183. X * fields (including expanded * fields) will cause undesired results.
  1184. X */
  1185. X
  1186. X#ifdef OSK             /* os9/68k can take advantage of both */
  1187. X#define INTSPRINTF
  1188. X#define LONGINT
  1189. X#endif
  1190. X
  1191. X/* This must be a typedef not a #define! */
  1192. X#ifdef NOVOID
  1193. typedef char *pointer;
  1194. X#else
  1195. typedef void *pointer;
  1196. X#endif
  1197. X
  1198. X#include <stdio.h>
  1199. X
  1200. X#ifdef INTSPRINTF
  1201. X#define Sprintf(string,format,arg)     (sprintf((string),(format),(arg)))
  1202. X#else
  1203. X#define Sprintf(string,format,arg)     (\
  1204. X       sprintf((string),(format),(arg)),\
  1205. X       strlen(string)\
  1206. X)
  1207. X#endif
  1208. X
  1209. X#ifdef __STDC__
  1210. X#include <stdarg.h>
  1211. X#else
  1212. X#include <varargs.h>
  1213. X#endif
  1214. X
  1215. typedef int *intp;
  1216. X
  1217. int vfprintf(dest, format, args)
  1218. XFILE *dest;
  1219. register char *format;
  1220. va_list args;
  1221. X{
  1222. X    register char c;
  1223. X    register char *tp;
  1224. X    register int count = 0;
  1225. X    char tempfmt[64];
  1226. X#ifndef LONGINT
  1227. X    int longflag;
  1228. X#endif
  1229. X
  1230. X    tempfmt[0] = '%';
  1231. X    while(c = *format++) {
  1232. X       if(c=='%') {
  1233. X           tp = &tempfmt[1];
  1234. X#ifndef LONGINT
  1235. X           longflag = 0;
  1236. X#endif
  1237. continue_format:
  1238. X           switch(c = *format++) {
  1239. X               case 's':
  1240. X                   *tp++ = c;
  1241. X                   *tp = '\0';
  1242. X                   count += fprintf(dest, tempfmt, va_arg(args, char *));
  1243. X                   break;
  1244. X               case 'u':
  1245. X               case 'x':
  1246. X               case 'o':
  1247. X               case 'X':
  1248. X#ifdef UNSIGNEDSPECIAL
  1249. X                   *tp++ = c;
  1250. X                   *tp = '\0';
  1251. X#ifndef LONGINT
  1252. X                   if(longflag)
  1253. X                       count += fprintf(dest, tempfmt, va_arg(args, unsigned long));
  1254. X                   else
  1255. X#endif
  1256. X                       count += fprintf(dest, tempfmt, va_arg(args, unsigned));
  1257. X                   break;
  1258. X#endif
  1259. X               case 'd':
  1260. X               case 'c':
  1261. X               case 'i':
  1262. X                   *tp++ = c;
  1263. X                   *tp = '\0';
  1264. X#ifndef LONGINT
  1265. X                   if(longflag)
  1266. X                       count += fprintf(dest, tempfmt, va_arg(args, long));
  1267. X                   else
  1268. X#endif
  1269. X                       count += fprintf(dest, tempfmt, va_arg(args, int));
  1270. X                   break;
  1271. X               case 'f':
  1272. X               case 'e':
  1273. X               case 'E':
  1274. X               case 'g':
  1275. X               case 'G':
  1276. X                   *tp++ = c;
  1277. X                   *tp = '\0';
  1278. X                   count += fprintf(dest, tempfmt, va_arg(args, double));
  1279. X                   break;
  1280. X               case 'p':
  1281. X                   *tp++ = c;
  1282. X                   *tp = '\0';
  1283. X                   count += fprintf(dest, tempfmt, va_arg(args, pointer));
  1284. X                   break;
  1285. X               case '-':
  1286. X               case '+':
  1287. X               case '0':
  1288. X               case '1':
  1289. X               case '2':
  1290. X               case '3':
  1291. X               case '4':
  1292. X               case '5':
  1293. X               case '6':
  1294. X               case '7':
  1295. X               case '8':
  1296. X               case '9':
  1297. X               case '.':
  1298. X               case ' ':
  1299. X               case '#':
  1300. X               case 'h':
  1301. X                   *tp++ = c;
  1302. X                   goto continue_format;
  1303. X               case 'l':
  1304. X#ifndef LONGINT
  1305. X                   longflag = 1;
  1306. X                   *tp++ = c;
  1307. X#endif
  1308. X                   goto continue_format;
  1309. X               case '*':
  1310. X                   tp += Sprintf(tp, "%d", va_arg(args, int));
  1311. X                   goto continue_format;
  1312. X               case 'n':
  1313. X                   *va_arg(args, intp) = count;
  1314. X                   break;
  1315. X               case '%':
  1316. X               default:
  1317. X                   putc(c, dest);
  1318. X                   count++;
  1319. X                   break;
  1320. X           }
  1321. X       } else {
  1322. X           putc(c, dest);
  1323. X           count++;
  1324. X       }
  1325. X    }
  1326. X    return count;
  1327. X}
  1328. X
  1329. vprintf(format, args)
  1330. char *format;
  1331. va_list args;
  1332. X{
  1333. X    return vfprintf(stdout, format, args);
  1334. X}
  1335. X
  1336. END_OF_FILE
  1337. if test 5468 -ne `wc -c <'sup/vfprintf.c'`; then
  1338.     echo shar: \"'sup/vfprintf.c'\" unpacked with wrong size!
  1339. fi
  1340. # end of 'sup/vfprintf.c'
  1341. fi
  1342. if test -f 'sup/vsprintf.c' -a "${1}" != "-c" ; then 
  1343.   echo shar: Will not clobber existing file \"'sup/vsprintf.c'\"
  1344. else
  1345. echo shar: Extracting \"'sup/vsprintf.c'\" \(5162 characters\)
  1346. sed "s/^X//" >'sup/vsprintf.c' <<'END_OF_FILE'
  1347. X/* Portable vsprintf  by Robert A. Larson <blarson@skat.usc.edu> */
  1348. X
  1349. X/* Copyright 1989 Robert A. Larson.
  1350. X * Distribution in any form is allowed as long as the author
  1351. X * retains credit, changes are noted by their author and the
  1352. X * copyright message remains intact.  This program comes as-is
  1353. X * with no warentee of fitness for any purpouse.
  1354. X *
  1355. X * Thanks to Doug Gwen, Chris Torek, and others who helped clarify
  1356. X * the ansi printf specs.
  1357. X *
  1358. X * Please send any bug fixes and improvments to blarson@skat.usc.edu .
  1359. X * The use of goto is NOT a bug.
  1360. X */
  1361. X
  1362. X/* Feb 7, 1989         blarson         First usenet release */
  1363. X
  1364. X/* This code implements the vsprintf function, without relying on
  1365. X * the existance of _doprint or other system specific code.
  1366. X *
  1367. X * Define NOVOID if void * is not a supported type.
  1368. X *
  1369. X * Two compile options are available for efficency:
  1370. X *     INTSPRINTF      should be defined if sprintf is int and returns
  1371. X *                     the number of chacters formated.
  1372. X *     LONGINT         should be defined if sizeof(long) == sizeof(int)
  1373. X *
  1374. X *     They only make the code smaller and faster, they need not be
  1375. X *     defined.
  1376. X *
  1377. X * UNSIGNEDSPECIAL should be defined if unsigned is treated differently
  1378. X * than int in argument passing.  If this is definded, and LONGINT is not,
  1379. X * the compiler must support the type unsingned long.
  1380. X *
  1381. X * Most quirks and bugs of the available sprintf fuction are duplicated,
  1382. X * however * in the width and precision fields will work correctly
  1383. X * even if sprintf does not support this, as will the n format.
  1384. X *
  1385. X * Bad format strings, or those with very long width and precision
  1386. X * fields (including expanded * fields) will cause undesired results.
  1387. X */
  1388. X
  1389. X#ifdef OSK             /* os9/68k can take advantage of both */
  1390. X#define LONGINT
  1391. X#define INTSPRINTF
  1392. X#endif
  1393. X
  1394. X/* This must be a typedef not a #define! */
  1395. X#ifdef NOVOID
  1396. typedef char *pointer;
  1397. X#else
  1398. typedef void *pointer;
  1399. X#endif
  1400. X
  1401. X#ifdef INTSPRINTF
  1402. X#define Sprintf(string,format,arg)     (sprintf((string),(format),(arg)))
  1403. X#else
  1404. X#define Sprintf(string,format,arg)     (\
  1405. X       sprintf((string),(format),(arg)),\
  1406. X       strlen(string)\
  1407. X)
  1408. X#endif
  1409. X
  1410. X#ifdef __STDC__
  1411. X#include <stdarg.h>
  1412. X#else
  1413. X#include <varargs.h>
  1414. X#endif
  1415. X
  1416. typedef int *intp;
  1417. X
  1418. int vsprintf(dest, format, args)
  1419. char *dest;
  1420. register char *format;
  1421. va_list args;
  1422. X{
  1423. X    register char *dp = dest;
  1424. X    register char c;
  1425. X    register char *tp;
  1426. X    char tempfmt[64];
  1427. X#ifndef LONGINT
  1428. X    int longflag;
  1429. X#endif
  1430. X
  1431. X    tempfmt[0] = '%';
  1432. X    while(c = *format++) {
  1433. X       if(c=='%') {
  1434. X           tp = &tempfmt[1];
  1435. X#ifndef LONGINT
  1436. X           longflag = 0;
  1437. X#endif
  1438. continue_format:
  1439. X           switch(c = *format++) {
  1440. X               case 's':
  1441. X                   *tp++ = c;
  1442. X                   *tp = '\0';
  1443. X                   dp += Sprintf(dp, tempfmt, va_arg(args, char *));
  1444. X                   break;
  1445. X               case 'u':
  1446. X               case 'x':
  1447. X               case 'o':
  1448. X               case 'X':
  1449. X#ifdef UNSIGNEDSPECIAL
  1450. X                   *tp++ = c;
  1451. X                   *tp = '\0';
  1452. X#ifndef LONGINT
  1453. X                   if(longflag)
  1454. X                       dp += Sprintf(dp, tempfmt, va_arg(args, unsigned long));
  1455. X                   else
  1456. X#endif
  1457. X                       dp += Sprintf(dp, tempfmt, va_arg(args, unsigned));
  1458. X                   break;
  1459. X#endif
  1460. X               case 'd':
  1461. X               case 'c':
  1462. X               case 'i':
  1463. X                   *tp++ = c;
  1464. X                   *tp = '\0';
  1465. X#ifndef LONGINT
  1466. X                   if(longflag)
  1467. X                       dp += Sprintf(dp, tempfmt, va_arg(args, long));
  1468. X                   else
  1469. X#endif
  1470. X                       dp += Sprintf(dp, tempfmt, va_arg(args, int));
  1471. X                   break;
  1472. X               case 'f':
  1473. X               case 'e':
  1474. X               case 'E':
  1475. X               case 'g':
  1476. X               case 'G':
  1477. X                   *tp++ = c;
  1478. X                   *tp = '\0';
  1479. X                   dp += Sprintf(dp, tempfmt, va_arg(args, double));
  1480. X                   break;
  1481. X               case 'p':
  1482. X                   *tp++ = c;
  1483. X                   *tp = '\0';
  1484. X                   dp += Sprintf(dp, tempfmt, va_arg(args, pointer));
  1485. X                   break;
  1486. X               case '-':
  1487. X               case '+':
  1488. X               case '0':
  1489. X               case '1':
  1490. X               case '2':
  1491. X               case '3':
  1492. X               case '4':
  1493. X               case '5':
  1494. X               case '6':
  1495. X               case '7':
  1496. X               case '8':
  1497. X               case '9':
  1498. X               case '.':
  1499. X               case ' ':
  1500. X               case '#':
  1501. X               case 'h':
  1502. X                   *tp++ = c;
  1503. X                   goto continue_format;
  1504. X               case 'l':
  1505. X#ifndef LONGINT
  1506. X                   longflag = 1;
  1507. X                   *tp++ = c;
  1508. X#endif
  1509. X                   goto continue_format;
  1510. X               case '*':
  1511. X                   tp += Sprintf(tp, "%d", va_arg(args, int));
  1512. X                   goto continue_format;
  1513. X               case 'n':
  1514. X                   *va_arg(args, intp) = dp - dest;
  1515. X                   break;
  1516. X               case '%':
  1517. X               default:
  1518. X                   *dp++ = c;
  1519. X                   break;
  1520. X           }
  1521. X       } else *dp++ = c;
  1522. X    }
  1523. X    *dp = '\0';
  1524. X    return dp - dest;
  1525. X}
  1526. X
  1527. END_OF_FILE
  1528. if test 5162 -ne `wc -c <'sup/vsprintf.c'`; then
  1529.     echo shar: \"'sup/vsprintf.c'\" unpacked with wrong size!
  1530. fi
  1531. # end of 'sup/vsprintf.c'
  1532. fi
  1533. if test -f 'sys/conf.h.286' -a "${1}" != "-c" ; then 
  1534.   echo shar: Will not clobber existing file \"'sys/conf.h.286'\"
  1535. else
  1536. echo shar: Extracting \"'sys/conf.h.286'\" \(2364 characters\)
  1537. sed "s/^X//" >'sys/conf.h.286' <<'END_OF_FILE'
  1538. X/*
  1539. X *      CONF.H
  1540. X *      UTREE system dependent configurable definitions.
  1541. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1542. X *
  1543. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1544. X *      For copying and distribution information see the file COPYRIGHT.
  1545. X *
  1546. X *      Version:        UNIX V/286 compatible (for MSC on SCO UNIX/386)
  1547. X */
  1548. X#if     defined(_MAIN_) && !defined(lint)
  1549. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1550. X#endif  /* _MAIN_ && !lint */
  1551. X
  1552. X/*
  1553. X *      This file contains definitions you can change for your needs.
  1554. X */
  1555. X
  1556. X/*
  1557. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1558. X */
  1559. X
  1560. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1561. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1562. X
  1563. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1564. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1565. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  1566. X
  1567. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1568. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1569. X
  1570. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1571. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1572. X#define NODIRENT                /* Needed only for older SYSVs          */
  1573. X
  1574. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1575. X/*      handling of screen resizing is intended as a little bit support */
  1576. X/*      for window systems like X, but it may not run on your system.   */
  1577. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1578. X#define NOWINCHG                /* No screen resizing allowed           */
  1579. X
  1580. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1581. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1582. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1583. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1584. X
  1585. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1586. X#define UTCLOCK                 /* Show/update clock                    */
  1587. X
  1588. X/* ALL: directory for utree startup file and help pages                 */
  1589. X#ifndef UTLIB
  1590. X# define UTLIB "/usr/local/lib"
  1591. X#endif  /* !UTLIB */
  1592. X
  1593. END_OF_FILE
  1594. if test 2364 -ne `wc -c <'sys/conf.h.286'`; then
  1595.     echo shar: \"'sys/conf.h.286'\" unpacked with wrong size!
  1596. fi
  1597. # end of 'sys/conf.h.286'
  1598. fi
  1599. if test -f 'sys/conf.h.AIX' -a "${1}" != "-c" ; then 
  1600.   echo shar: Will not clobber existing file \"'sys/conf.h.AIX'\"
  1601. else
  1602. echo shar: Extracting \"'sys/conf.h.AIX'\" \(2346 characters\)
  1603. sed "s/^X//" >'sys/conf.h.AIX' <<'END_OF_FILE'
  1604. X/*
  1605. X *      CONF.H
  1606. X *      UTREE system dependent configurable definitions.
  1607. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1608. X *
  1609. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1610. X *      For copying and distribution information see the file COPYRIGHT.
  1611. X *
  1612. X *      Version:        IBM 520 (RS/6000),  AIX 3.1
  1613. X */
  1614. X#if     defined(_MAIN_) && !defined(lint)
  1615. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1616. X#endif  /* _MAIN_ && !lint */
  1617. X
  1618. X/*
  1619. X *      This file contains definitions you can change for your needs.
  1620. X */
  1621. X
  1622. X/*
  1623. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1624. X */
  1625. X
  1626. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1627. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1628. X
  1629. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1630. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1631. X#define HASFIONREAD             /* Not needed for BSD!                  */
  1632. X
  1633. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1634. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1635. X
  1636. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1637. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1638. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1639. X
  1640. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1641. X/*      handling of screen resizing is intended as a little bit support */
  1642. X/*      for window systems like X, but it may not run on your system.   */
  1643. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1644. X/*#define NOWINCHG                /* No screen resizing allowed           */
  1645. X
  1646. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1647. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1648. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1649. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1650. X
  1651. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1652. X#define UTCLOCK                 /* Show/update clock                    */
  1653. X
  1654. X/* ALL: directory for utree startup file and help pages                 */
  1655. X#ifndef UTLIB
  1656. X# define UTLIB "/usr/local/lib"
  1657. X#endif  /* !UTLIB */
  1658. X
  1659. END_OF_FILE
  1660. if test 2346 -ne `wc -c <'sys/conf.h.AIX'`; then
  1661.     echo shar: \"'sys/conf.h.AIX'\" unpacked with wrong size!
  1662. fi
  1663. # end of 'sys/conf.h.AIX'
  1664. fi
  1665. if test -f 'sys/conf.h.APP' -a "${1}" != "-c" ; then 
  1666.   echo shar: Will not clobber existing file \"'sys/conf.h.APP'\"
  1667. else
  1668. echo shar: Extracting \"'sys/conf.h.APP'\" \(2367 characters\)
  1669. sed "s/^X//" >'sys/conf.h.APP' <<'END_OF_FILE'
  1670. X/*
  1671. X *      CONF.H
  1672. X *      UTREE system dependent configurable definitions.
  1673. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1674. X *
  1675. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1676. X *      For copying and distribution information see the file COPYRIGHT.
  1677. X *
  1678. X *      Version:        Apollo Domain DN4500, DomainIX 9.5 (BSD4.2 + SYSV)
  1679. X */
  1680. X#if     defined(_MAIN_) && !defined(lint)
  1681. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1682. X#endif  /* _MAIN_ && !lint */
  1683. X
  1684. X/*
  1685. X *      This file contains definitions you can change for your needs.
  1686. X */
  1687. X
  1688. X/*
  1689. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1690. X */
  1691. X
  1692. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1693. X#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1694. X
  1695. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1696. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1697. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  1698. X
  1699. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1700. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1701. X
  1702. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1703. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1704. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1705. X
  1706. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1707. X/*      handling of screen resizing is intended as a little bit support */
  1708. X/*      for window systems like X, but it may not run on your system.   */
  1709. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1710. X#define NOWINCHG                /* No screen resizing allowed           */
  1711. X
  1712. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1713. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1714. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1715. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1716. X
  1717. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1718. X#define UTCLOCK                 /* Show/update clock                    */
  1719. X
  1720. X/* ALL: directory for utree startup file and help pages                 */
  1721. X#ifndef UTLIB
  1722. X# define UTLIB "/usr/local/lib"
  1723. X#endif  /* !UTLIB */
  1724. X
  1725. END_OF_FILE
  1726. if test 2367 -ne `wc -c <'sys/conf.h.APP'`; then
  1727.     echo shar: \"'sys/conf.h.APP'\" unpacked with wrong size!
  1728. fi
  1729. # end of 'sys/conf.h.APP'
  1730. fi
  1731. if test -f 'sys/conf.h.M16' -a "${1}" != "-c" ; then 
  1732.   echo shar: Will not clobber existing file \"'sys/conf.h.M16'\"
  1733. else
  1734. echo shar: Extracting \"'sys/conf.h.M16'\" \(2355 characters\)
  1735. sed "s/^X//" >'sys/conf.h.M16' <<'END_OF_FILE'
  1736. X/*
  1737. X *      CONF.H
  1738. X *      UTREE system dependent configurable definitions.
  1739. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1740. X *
  1741. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1742. X *      For copying and distribution information see the file COPYRIGHT.
  1743. X *
  1744. X *      Version:        PCS Cadmus 9230, MUNIX V.2/07 (SYSV 2)
  1745. X */
  1746. X#if     defined(_MAIN_) && !defined(lint)
  1747. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1748. X#endif  /* _MAIN_ && !lint */
  1749. X
  1750. X/*
  1751. X *      This file contains definitions you can change for your needs.
  1752. X */
  1753. X
  1754. X/*
  1755. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1756. X */
  1757. X
  1758. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1759. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1760. X
  1761. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1762. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1763. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  1764. X
  1765. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1766. X#define HASVFORK                /* Not needed for BSD!                  */
  1767. X
  1768. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1769. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1770. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1771. X
  1772. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1773. X/*      handling of screen resizing is intended as a little bit support */
  1774. X/*      for window systems like X, but it may not run on your system.   */
  1775. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1776. X#define NOWINCHG                /* No screen resizing allowed           */
  1777. X
  1778. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1779. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1780. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1781. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1782. X
  1783. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1784. X#define UTCLOCK                 /* Show/update clock                    */
  1785. X
  1786. X/* ALL: directory for utree startup file and help pages                 */
  1787. X#ifndef UTLIB
  1788. X# define UTLIB "/usr/local/lib"
  1789. X#endif  /* !UTLIB */
  1790. X
  1791. END_OF_FILE
  1792. if test 2355 -ne `wc -c <'sys/conf.h.M16'`; then
  1793.     echo shar: \"'sys/conf.h.M16'\" unpacked with wrong size!
  1794. fi
  1795. # end of 'sys/conf.h.M16'
  1796. fi
  1797. if test -f 'sys/conf.h.M32' -a "${1}" != "-c" ; then 
  1798.   echo shar: Will not clobber existing file \"'sys/conf.h.M32'\"
  1799. else
  1800. echo shar: Extracting \"'sys/conf.h.M32'\" \(2367 characters\)
  1801. sed "s/^X//" >'sys/conf.h.M32' <<'END_OF_FILE'
  1802. X/*
  1803. X *      CONF.H
  1804. X *      UTREE system dependent configurable definitions.
  1805. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1806. X *
  1807. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1808. X *      For copying and distribution information see the file COPYRIGHT.
  1809. X *
  1810. X *      Version:        PCS Cadmus 9600 (MC68020), MUNIX V3M3.2 (SYSV.3)
  1811. X */
  1812. X#if     defined(_MAIN_) && !defined(lint)
  1813. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1814. X#endif  /* _MAIN_ && !lint */
  1815. X
  1816. X/*
  1817. X *      This file contains definitions you can change for your needs.
  1818. X */
  1819. X
  1820. X/*
  1821. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1822. X */
  1823. X
  1824. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1825. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1826. X
  1827. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1828. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1829. X#define HASFIONREAD             /* Not needed for BSD!                  */
  1830. X
  1831. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1832. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1833. X
  1834. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1835. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1836. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1837. X
  1838. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1839. X/*      handling of screen resizing is intended as a little bit support */
  1840. X/*      for window systems like X, but it may not run on your system.   */
  1841. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1842. X/*#define NOWINCHG                /* No screen resizing allowed           */
  1843. X
  1844. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1845. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1846. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1847. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1848. X
  1849. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1850. X#define UTCLOCK                 /* Show/update clock                    */
  1851. X
  1852. X/* ALL: directory for utree startup file and help pages                 */
  1853. X#ifndef UTLIB
  1854. X# define UTLIB "/usr/local/lib"
  1855. X#endif  /* !UTLIB */
  1856. X
  1857. END_OF_FILE
  1858. if test 2367 -ne `wc -c <'sys/conf.h.M32'`; then
  1859.     echo shar: \"'sys/conf.h.M32'\" unpacked with wrong size!
  1860. fi
  1861. # end of 'sys/conf.h.M32'
  1862. fi
  1863. if test -f 'sys/conf.h.MIPS' -a "${1}" != "-c" ; then 
  1864.   echo shar: Will not clobber existing file \"'sys/conf.h.MIPS'\"
  1865. else
  1866. echo shar: Extracting \"'sys/conf.h.MIPS'\" \(2351 characters\)
  1867. sed "s/^X//" >'sys/conf.h.MIPS' <<'END_OF_FILE'
  1868. X/*
  1869. X *      CONF.H
  1870. X *      UTREE system dependent configurable definitions.
  1871. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1872. X *
  1873. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1874. X *      For copying and distribution information see the file COPYRIGHT.
  1875. X *
  1876. X *      Version:        MIPS RC3230 (R3000) RISC/os 4.51
  1877. X */
  1878. X#if     defined(_MAIN_) && !defined(lint)
  1879. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1880. X#endif  /* _MAIN_ && !lint */
  1881. X
  1882. X/*
  1883. X *      This file contains definitions you can change for your needs.
  1884. X */
  1885. X
  1886. X/*
  1887. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1888. X */
  1889. X
  1890. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1891. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1892. X
  1893. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1894. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1895. X#define HASFIONREAD             /* Not needed for BSD!                  */
  1896. X
  1897. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1898. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1899. X
  1900. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1901. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1902. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1903. X
  1904. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1905. X/*      handling of screen resizing is intended as a little bit support */
  1906. X/*      for window systems like X, but it may not run on your system.   */
  1907. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1908. X/*#define NOWINCHG                /* No screen resizing allowed           */
  1909. X
  1910. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1911. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1912. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1913. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1914. X
  1915. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1916. X#define UTCLOCK                 /* Show/update clock                    */
  1917. X
  1918. X/* ALL: directory for utree startup file and help pages                 */
  1919. X#ifndef UTLIB
  1920. X# define UTLIB "/usr/local/lib"
  1921. X#endif  /* !UTLIB */
  1922. X
  1923. END_OF_FILE
  1924. if test 2351 -ne `wc -c <'sys/conf.h.MIPS'`; then
  1925.     echo shar: \"'sys/conf.h.MIPS'\" unpacked with wrong size!
  1926. fi
  1927. # end of 'sys/conf.h.MIPS'
  1928. fi
  1929. if test -f 'sys/conf.h.RCU' -a "${1}" != "-c" ; then 
  1930.   echo shar: Will not clobber existing file \"'sys/conf.h.RCU'\"
  1931. else
  1932. echo shar: Extracting \"'sys/conf.h.RCU'\" \(2376 characters\)
  1933. sed "s/^X//" >'sys/conf.h.RCU' <<'END_OF_FILE'
  1934. X/*
  1935. X *      CONF.H
  1936. X *      UTREE system dependent configurable definitions.
  1937. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1938. X *
  1939. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1940. X *      For copying and distribution information see the file COPYRIGHT.
  1941. X *
  1942. X *      Version:        PCS Cadmus 9900 (MIPS R2000/3000), MUNIX V3R3.2A (SYSV.3)
  1943. X */
  1944. X#if     defined(_MAIN_) && !defined(lint)
  1945. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1946. X#endif  /* _MAIN_ && !lint */
  1947. X
  1948. X/*
  1949. X *      This file contains definitions you can change for your needs.
  1950. X */
  1951. X
  1952. X/*
  1953. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1954. X */
  1955. X
  1956. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1957. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1958. X
  1959. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1960. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1961. X#define HASFIONREAD             /* Not needed for BSD!                  */
  1962. X
  1963. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1964. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1965. X
  1966. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1967. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1968. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1969. X
  1970. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1971. X/*      handling of screen resizing is intended as a little bit support */
  1972. X/*      for window systems like X, but it may not run on your system.   */
  1973. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1974. X/*#define NOWINCHG                /* No screen resizing allowed           */
  1975. X
  1976. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1977. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1978. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1979. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1980. X
  1981. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1982. X#define UTCLOCK                 /* Show/update clock                    */
  1983. X
  1984. X/* ALL: directory for utree startup file and help pages                 */
  1985. X#ifndef UTLIB
  1986. X# define UTLIB "/usr/local/lib"
  1987. X#endif  /* !UTLIB */
  1988. X
  1989. END_OF_FILE
  1990. if test 2376 -ne `wc -c <'sys/conf.h.RCU'`; then
  1991.     echo shar: \"'sys/conf.h.RCU'\" unpacked with wrong size!
  1992. fi
  1993. # end of 'sys/conf.h.RCU'
  1994. fi
  1995. if test -f 'sys/conf.h.SCO' -a "${1}" != "-c" ; then 
  1996.   echo shar: Will not clobber existing file \"'sys/conf.h.SCO'\"
  1997. else
  1998. echo shar: Extracting \"'sys/conf.h.SCO'\" \(2459 characters\)
  1999. sed "s/^X//" >'sys/conf.h.SCO' <<'END_OF_FILE'
  2000. X/*
  2001. X *      CONF.H
  2002. X *      UTREE system dependent configurable definitions.
  2003. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  2004. X *
  2005. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  2006. X *      For copying and distribution information see the file COPYRIGHT.
  2007. X *
  2008. X *      Version:        HP Vectra (i486), SCO UNIX System V/386 3.2
  2009. X */
  2010. X#if     defined(_MAIN_) && !defined(lint)
  2011. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  2012. X#endif  /* _MAIN_ && !lint */
  2013. X
  2014. X/*
  2015. X *      This file contains definitions you can change for your needs.
  2016. X */
  2017. X
  2018. X/*
  2019. X *      SOME UTREE DEPENDENT DEFINITIONS.
  2020. X */
  2021. X
  2022. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  2023. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  2024. X
  2025. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  2026. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  2027. X#define HASFIONREAD             /* Not needed for BSD!                  */
  2028. X#include <sys/types.h>
  2029. X#include <sys/socket.h>        /* For defining FIONREAD !                */
  2030. X
  2031. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  2032. X/*#define HASVFORK                /* Not needed for BSD!                  */
  2033. X
  2034. X/* SYSV: define NODIRENT if your system not supports the directory type */
  2035. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  2036. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  2037. X
  2038. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  2039. X/*      handling of screen resizing is intended as a little bit support */
  2040. X/*      for window systems like X, but it may not run on your system.   */
  2041. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  2042. X#define NOWINCHG                /* No screen resizing allowed           */
  2043. X
  2044. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  2045. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  2046. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  2047. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  2048. X
  2049. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  2050. X#define UTCLOCK                 /* Show/update clock                    */
  2051. X
  2052. X/* ALL: directory for utree startup file and help pages                 */
  2053. X#ifndef UTLIB
  2054. X# define UTLIB "/usr/local/lib"
  2055. X#endif  /* !UTLIB */
  2056. X
  2057. END_OF_FILE
  2058. if test 2459 -ne `wc -c <'sys/conf.h.SCO'`; then
  2059.     echo shar: \"'sys/conf.h.SCO'\" unpacked with wrong size!
  2060. fi
  2061. # end of 'sys/conf.h.SCO'
  2062. fi
  2063. if test -f 'sys/conf.h.SEQ' -a "${1}" != "-c" ; then 
  2064.   echo shar: Will not clobber existing file \"'sys/conf.h.SEQ'\"
  2065. else
  2066. echo shar: Extracting \"'sys/conf.h.SEQ'\" \(2358 characters\)
  2067. sed "s/^X//" >'sys/conf.h.SEQ' <<'END_OF_FILE'
  2068. X/*
  2069. X *      CONF.H
  2070. X *      UTREE system dependent configurable definitions.
  2071. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  2072. X *
  2073. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  2074. X *      For copying and distribution information see the file COPYRIGHT.
  2075. X *
  2076. X *      Version:        Sequent Symmetrie, DYNIX i386 (BSD 4.2)
  2077. X */
  2078. X#if     defined(_MAIN_) && !defined(lint)
  2079. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  2080. X#endif  /* _MAIN_ && !lint */
  2081. X
  2082. X/*
  2083. X *      This file contains definitions you can change for your needs.
  2084. X */
  2085. X
  2086. X/*
  2087. X *      SOME UTREE DEPENDENT DEFINITIONS.
  2088. X */
  2089. X
  2090. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  2091. X#define HASVSPRINTF             /* Not needed for SYSV!                 */
  2092. X
  2093. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  2094. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  2095. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  2096. X
  2097. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  2098. X/*#define HASVFORK                /* Not needed for BSD!                  */
  2099. X
  2100. X/* SYSV: define NODIRENT if your system not supports the directory type */
  2101. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  2102. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  2103. X
  2104. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  2105. X/*      handling of screen resizing is intended as a little bit support */
  2106. X/*      for window systems like X, but it may not run on your system.   */
  2107. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  2108. X/*#define NOWINCHG                /* No screen resizing allowed           */
  2109. X
  2110. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  2111. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  2112. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  2113. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  2114. X
  2115. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  2116. X#define UTCLOCK                 /* Show/update clock                    */
  2117. X
  2118. X/* ALL: directory for utree startup file and help pages                 */
  2119. X#ifndef UTLIB
  2120. X# define UTLIB "/usr/local/lib"
  2121. X#endif  /* !UTLIB */
  2122. X
  2123. END_OF_FILE
  2124. if test 2358 -ne `wc -c <'sys/conf.h.SEQ'`; then
  2125.     echo shar: \"'sys/conf.h.SEQ'\" unpacked with wrong size!
  2126. fi
  2127. # end of 'sys/conf.h.SEQ'
  2128. fi
  2129. if test -f 'sys/conf.h.SGI' -a "${1}" != "-c" ; then 
  2130.   echo shar: Will not clobber existing file \"'sys/conf.h.SGI'\"
  2131. else
  2132. echo shar: Extracting \"'sys/conf.h.SGI'\" \(2361 characters\)
  2133. sed "s/^X//" >'sys/conf.h.SGI' <<'END_OF_FILE'
  2134. X/*
  2135. X *      CONF.H
  2136. X *      UTREE system dependent configurable definitions.
  2137. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  2138. X *
  2139. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  2140. X *      For copying and distribution information see the file COPYRIGHT.
  2141. X *
  2142. X *      Version:        Silicon Graphics 4D, IRIX V.3.3.2 (SYSV 3)
  2143. X */
  2144. X#if     defined(_MAIN_) && !defined(lint)
  2145. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  2146. X#endif  /* _MAIN_ && !lint */
  2147. X
  2148. X/*
  2149. X *      This file contains definitions you can change for your needs.
  2150. X */
  2151. X
  2152. X/*
  2153. X *      SOME UTREE DEPENDENT DEFINITIONS.
  2154. X */
  2155. X
  2156. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  2157. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  2158. X
  2159. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  2160. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  2161. X#define HASFIONREAD             /* Not needed for BSD!                  */
  2162. X
  2163. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  2164. X/*#define HASVFORK                /* Not needed for BSD!                  */
  2165. X
  2166. X/* SYSV: define NODIRENT if your system not supports the directory type */
  2167. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  2168. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  2169. X
  2170. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  2171. X/*      handling of screen resizing is intended as a little bit support */
  2172. X/*      for window systems like X, but it may not run on your system.   */
  2173. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  2174. X/*#define NOWINCHG                /* No screen resizing allowed           */
  2175. X
  2176. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  2177. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  2178. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  2179. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  2180. X
  2181. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  2182. X#define UTCLOCK                 /* Show/update clock                    */
  2183. X
  2184. X/* ALL: directory for utree startup file and help pages                 */
  2185. X#ifndef UTLIB
  2186. X# define UTLIB "/usr/local/lib"
  2187. X#endif  /* !UTLIB */
  2188. X
  2189. END_OF_FILE
  2190. if test 2361 -ne `wc -c <'sys/conf.h.SGI'`; then
  2191.     echo shar: \"'sys/conf.h.SGI'\" unpacked with wrong size!
  2192. fi
  2193. # end of 'sys/conf.h.SGI'
  2194. fi
  2195. if test -f 'sys/conf.h.ULT' -a "${1}" != "-c" ; then 
  2196.   echo shar: Will not clobber existing file \"'sys/conf.h.ULT'\"
  2197. else
  2198. echo shar: Extracting \"'sys/conf.h.ULT'\" \(2365 characters\)
  2199. sed "s/^X//" >'sys/conf.h.ULT' <<'END_OF_FILE'
  2200. X/*
  2201. X *      CONF.H
  2202. X *      UTREE system dependent configurable definitions.
  2203. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  2204. X *
  2205. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  2206. X *      For copying and distribution information see the file COPYRIGHT.
  2207. X *
  2208. X *      Version:        DECstation/VAXstation, ULTRIX-32 3.1 (BSD 4.3)
  2209. X */
  2210. X#if     defined(_MAIN_) && !defined(lint)
  2211. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  2212. X#endif  /* _MAIN_ && !lint */
  2213. X
  2214. X/*
  2215. X *      This file contains definitions you can change for your needs.
  2216. X */
  2217. X
  2218. X/*
  2219. X *      SOME UTREE DEPENDENT DEFINITIONS.
  2220. X */
  2221. X
  2222. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  2223. X#define HASVSPRINTF             /* Not needed for SYSV!                 */
  2224. X
  2225. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  2226. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  2227. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  2228. X
  2229. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  2230. X/*#define HASVFORK                /* Not needed for BSD!                  */
  2231. X
  2232. X/* SYSV: define NODIRENT if your system not supports the directory type */
  2233. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  2234. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  2235. X
  2236. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  2237. X/*      handling of screen resizing is intended as a little bit support */
  2238. X/*      for window systems like X, but it may not run on your system.   */
  2239. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  2240. X/*#define NOWINCHG                /* No screen resizing allowed           */
  2241. X
  2242. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  2243. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  2244. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  2245. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  2246. X
  2247. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  2248. X#define UTCLOCK                 /* Show/update clock                    */
  2249. X
  2250. X/* ALL: directory for utree startup file and help pages                 */
  2251. X#ifndef UTLIB
  2252. X# define UTLIB "/usr/local/lib"
  2253. X#endif  /* !UTLIB */
  2254. X
  2255. END_OF_FILE
  2256. if test 2365 -ne `wc -c <'sys/conf.h.ULT'`; then
  2257.     echo shar: \"'sys/conf.h.ULT'\" unpacked with wrong size!
  2258. fi
  2259. # end of 'sys/conf.h.ULT'
  2260. fi
  2261. if test -f 'sys/conf.h.X23' -a "${1}" != "-c" ; then 
  2262.   echo shar: Will not clobber existing file \"'sys/conf.h.X23'\"
  2263. else
  2264. echo shar: Extracting \"'sys/conf.h.X23'\" \(2345 characters\)
  2265. sed "s/^X//" >'sys/conf.h.X23' <<'END_OF_FILE'
  2266. X/*
  2267. X *      CONF.H
  2268. X *      UTREE system dependent configurable definitions.
  2269. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  2270. X *
  2271. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  2272. X *      For copying and distribution information see the file COPYRIGHT.
  2273. X *
  2274. X *      Version:        SCO XENIX SysV 2.3.2 386GT
  2275. X */
  2276. X#if     defined(_MAIN_) && !defined(lint)
  2277. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  2278. X#endif  /* _MAIN_ && !lint */
  2279. X
  2280. X/*
  2281. X *      This file contains definitions you can change for your needs.
  2282. X */
  2283. X
  2284. X/*
  2285. X *      SOME UTREE DEPENDENT DEFINITIONS.
  2286. X */
  2287. X
  2288. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  2289. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  2290. X
  2291. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  2292. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  2293. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  2294. X
  2295. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  2296. X/*#define HASVFORK                /* Not needed for BSD!                  */
  2297. X
  2298. X/* SYSV: define NODIRENT if your system not supports the directory type */
  2299. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  2300. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  2301. X
  2302. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  2303. X/*      handling of screen resizing is intended as a little bit support */
  2304. X/*      for window systems like X, but it may not run on your system.   */
  2305. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  2306. X#define NOWINCHG                /* No screen resizing allowed           */
  2307. X
  2308. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  2309. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  2310. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  2311. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  2312. X
  2313. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  2314. X#define UTCLOCK                 /* Show/update clock                    */
  2315. X
  2316. X/* ALL: directory for utree startup file and help pages                 */
  2317. X#ifndef UTLIB
  2318. X# define UTLIB "/usr/local/lib"
  2319. X#endif  /* !UTLIB */
  2320. X
  2321. END_OF_FILE
  2322. if test 2345 -ne `wc -c <'sys/conf.h.X23'`; then
  2323.     echo shar: \"'sys/conf.h.X23'\" unpacked with wrong size!
  2324. fi
  2325. # end of 'sys/conf.h.X23'
  2326. fi
  2327. echo shar: End of archive 2 \(of 8\).
  2328. cp /dev/null ark2isdone
  2329. MISSING=""
  2330. for I in 1 2 3 4 5 6 7 8 ; do
  2331.     if test ! -f ark${I}isdone ; then
  2332.     MISSING="${MISSING} ${I}"
  2333.     fi
  2334. done
  2335. if test "${MISSING}" = "" ; then
  2336.     echo You have unpacked all 8 archives.
  2337.     rm -f ark[1-9]isdone
  2338. else
  2339.     echo You still need to unpack the following archives:
  2340.     echo "        " ${MISSING}
  2341. fi
  2342. ##  End of shell archive.
  2343. exit 0
  2344.