home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / altsrc / articles / 10700 < prev    next >
Internet Message Format  |  1994-06-19  |  89KB

  1. Path: wupost!cs.utexas.edu!swrinde!news.dell.com!tadpole.com!uunet!tsw!not-for-mail
  2. From: dean%tsw@uunet.UU.NET (Dean Collins)
  3. Newsgroups: alt.sources
  4. Subject: X Problem Tracking System (02/16)
  5. Followup-To: alt.sources.d
  6. Date: 18 Jun 1994 12:22:59 -0700
  7. Organization: Zombie Software
  8. Lines: 2387
  9. Distribution: world
  10. Message-ID: <2tvhij$q4u@hal.sea.tsw.com>
  11. References: <2tvhif$q4k@hal.sea.tsw.com>
  12. Reply-To: dean@halcyon.com
  13. NNTP-Posting-Host: hal.sea.tsw.com
  14.  
  15. Archive-name: pts/part02
  16. Submitted-by: dean@halcyon.com (Dean Collins)
  17. Version: 1.05
  18.  
  19. #! /bin/sh
  20. # This is a shell archive.  Remove anything before this line, then unpack
  21. # it by saving it into a file and typing "sh file".  To overwrite existing
  22. # files, type "sh file -c".  You can also feed this as standard input via
  23. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  24. # will see the following message at the end:
  25. #        "End of archive 2 (of 16)."
  26. # Contents:  pts-1.05/README pts-1.05/ROADMAP pts-1.05/TODO
  27. #   pts-1.05/config/config.h pts-1.05/config/test2.cf
  28. #   pts-1.05/contrib/DANGER/Imakefile pts-1.05/contrib/Imakefile
  29. #   pts-1.05/contrib/ptsprt/cgetopts.c pts-1.05/doc/Manual/Imakefile
  30. #   pts-1.05/doc/Manual/ptsager.man pts-1.05/neb_cld/Imakefile
  31. #   pts-1.05/neb_cld/tmp.c pts-1.05/util/Imakefile
  32. #   pts-1.05/util/strerror.c pts-1.05/util/util.h pts-1.05/xpts/TODO
  33. #   pts-1.05/xpts/activate.h pts-1.05/xpts/macros.h
  34. #   pts-1.05/xpts/misc.h pts-1.05/xpts/signal.h pts-1.05/xpts/types.h
  35. #   pts-1.05/xpts/xpts.xbm pts-1.05/xpts/xpts.xbm.old2
  36. #   pts-1.05/zdbm/Imakefile pts-1.05/zdbm/addprob.c
  37. #   pts-1.05/zdbm/delprob.c pts-1.05/zdbm/fcreate.c
  38. #   pts-1.05/zdbm/read_index.c pts-1.05/zdbm/read_log.c
  39. #   pts-1.05/zdbm/read_rep.c pts-1.05/zdbm/readreop.c
  40. # Wrapped by dean@hal on Sat Jun 18 12:08:11 1994
  41. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  42. if test -f 'pts-1.05/README' -a "${1}" != "-c" ; then 
  43.   echo shar: Will not clobber existing file \"'pts-1.05/README'\"
  44. else
  45. echo shar: Extracting \"'pts-1.05/README'\" \(1986 characters\)
  46. sed "s/^X//" >'pts-1.05/README' <<'END_OF_FILE'
  47. XDESCRIPTION
  48. X-----------
  49. XPTS is a database tool which is used to improve communication
  50. Xbetween system users and support personnel about problems encountered
  51. Xwith the system.  It consists of several programs, including
  52. XXpts and ptsager.
  53. X
  54. XIn a nutshell:
  55. XXpts is used by system users to report problems.  Support personnel
  56. X(sysops)  also use it to log their activities on solving each problem.
  57. XXpts also sends e-mail to problem reporters when their problems are solved.
  58. X
  59. XPtsager scans through the database once a day and sends electronic mail
  60. Xto certain system users about problems that have remained unsolved for
  61. Xseveral days.
  62. X
  63. XWhile PTS was designed with managing a network of Unix workstations in
  64. Xmind, it is general and versatile enough to be used in many
  65. Xother ways.  For example, at the University of Idaho, Xpts was used
  66. Xby the design team to report problems with and take suggestions about
  67. Xearly versions of Xpts.  We are very interested in hearing about unique
  68. Xand creative ways in which you use Xpts.
  69. X
  70. X
  71. X(**See manual pages in doc/Manual.  In particular, see pts.man and
  72. XXpts.man.**)
  73. X
  74. X
  75. XPTS was designed and implemented by "Zombie Software", consisting of
  76. Xme (Dean Collins), Chris Hyde, Luke Sheneman, Brian Goff, John Hunter,
  77. Xand Brent Heikkula.  It was designed in great part on a volunteer
  78. Xbasis for the University of Idaho Computer Science Department.
  79. XJust what is "Zombie Software"?  See pts.man.
  80. X
  81. XWhat is the difference between PTS and Xpts?  PTS is the entire 
  82. XProblem Tracking System.  Xpts is an X Windows System application
  83. Xwhich is used to access the PTS database.  PTS includes Xpts, as
  84. Xwell as other software.  However, in practice, the names are commonly
  85. Xused interchangably.  We will have to live with this confusion until
  86. Xsomeone comes up with really clever names.  Suggestions are welcome.
  87. X("PTS" and "Xpts" contain no vowels and should therefore be pronounced
  88. Xby spelling out their respective letters.)
  89. X
  90. X--
  91. XDean Collins (dean@halcyon.com)
  92. XFri Nov 26 17:12:24 1993
  93. END_OF_FILE
  94. if test 1986 -ne `wc -c <'pts-1.05/README'`; then
  95.     echo shar: \"'pts-1.05/README'\" unpacked with wrong size!
  96. fi
  97. # end of 'pts-1.05/README'
  98. fi
  99. if test -f 'pts-1.05/ROADMAP' -a "${1}" != "-c" ; then 
  100.   echo shar: Will not clobber existing file \"'pts-1.05/ROADMAP'\"
  101. else
  102. echo shar: Extracting \"'pts-1.05/ROADMAP'\" \(2311 characters\)
  103. sed "s/^X//" >'pts-1.05/ROADMAP' <<'END_OF_FILE'
  104. XFILES
  105. X----------------------------
  106. XCOPYRIGHT    -- Problem Tracking System (PTS) copyright notice.
  107. XCOPYRIGHT.note    -- Unofficial laymans translation of the PTS copyright.
  108. XHISTORY        -- Brief history of PTS versions.
  109. XINSTALL        -- PTS installation manual.  **REQUIRED READING!**
  110. XImakefile    -- imake source file
  111. XImakefile.common-- Common definitions for all Imakefile files.  Customize this.
  112. XMakefile    -- make source file generated by imake & Imakefile
  113. XPLATFORMS    -- A list of platforms PTS has been built on.
  114. XREADME        -- Brief description of PTS.  **Please read!**
  115. XREADME2        -- Last-minute release notes.  **Please read!**
  116. XROADMAP        -- This file, silly!
  117. XTODO        -- A "to-do" list for PTS.  (See */TODO, too.)
  118. Xpatchlevel.h    -- Version information.
  119. X
  120. XDIRECTORIES
  121. X----------------------------
  122. Xconfig        -- PTS configuration file parser
  123. Xcontrib        -- Various unsupported contributed packages/demos
  124. Xdoc        -- PTS documentation
  125. Xneb_cld        -- "The Nebulus Cloud", the high-level database interface
  126. Xptsager        -- PTS cron sub-system (problem ager/mailer)
  127. Xutil        -- Various low-level utility functions.
  128. Xxpts        -- The X Window System user-interface for PTS
  129. Xzdbm        -- The Zombie Database Manager
  130. X
  131. XSee README files within each directory.
  132. X
  133. X
  134. X./doc:
  135. X------
  136. XThis directory contains most of the documentation for the Problem Tracking
  137. XSystem.  It is grouped like this:
  138. X
  139. XRequirements    -- Software Requirements Specification
  140. XDesign        -- Software Design Document
  141. XManual        -- Manpages
  142. XMisc        -- Miscellaneous things
  143. X
  144. X[If not all of these directories is present, see ./doc/README.]
  145. X
  146. XPTS has been designed using the Iterative Waterfall Design methodology.
  147. XFor this reason, there are several versions of the Software Requirements
  148. XDocument and the Software Design Document.  The version numbers below are
  149. Xunrelated to the release number of PTS.
  150. X
  151. X./doc/Design:
  152. X-------------
  153. Xversion1    -- First pass, completed in the spring of 1991.
  154. Xversion2    -- Second pass, completed the summer of 1992.
  155. Xversion3    -- Third pass, completed in the spring of 1993.
  156. X
  157. XThe current version is version3.
  158. X
  159. X
  160. X./doc/Requirements:
  161. X-------------------
  162. Xversion1    -- First pass, completed in the spring of 1991.
  163. Xversion2    -- Second pass, completed the fall of 1991.
  164. X
  165. X./contrib:
  166. X----------
  167. Xptsprt        -- PTS Print utility.  NEW & untested.
  168. Xtexttest    -- Text-mode demo.
  169. X
  170. X--
  171. XDean Collins
  172. XThu Feb  3 23:01:18 PST 1994
  173. END_OF_FILE
  174. if test 2311 -ne `wc -c <'pts-1.05/ROADMAP'`; then
  175.     echo shar: \"'pts-1.05/ROADMAP'\" unpacked with wrong size!
  176. fi
  177. # end of 'pts-1.05/ROADMAP'
  178. fi
  179. if test -f 'pts-1.05/TODO' -a "${1}" != "-c" ; then 
  180.   echo shar: Will not clobber existing file \"'pts-1.05/TODO'\"
  181. else
  182. echo shar: Extracting \"'pts-1.05/TODO'\" \(2632 characters\)
  183. sed "s/^X//" >'pts-1.05/TODO' <<'END_OF_FILE'
  184. XTODO list for PTS.  (Personal notes...may not make sense to anyone but myself.)
  185. X==================
  186. X(*see also TODO lists in each subdirectory*)
  187. X
  188. X(TOO MANY IDEAS, NOT ENOUGH TIME!!!! :-)
  189. X
  190. X----------------------------------------------------------------------
  191. X1.  Better error messages!  More error checking!
  192. X
  193. X2.  <COMPLETED>
  194. X
  195. X3.  <COMPLETED>
  196. X
  197. X4.  <COMPLETED>
  198. X
  199. X5.  Add networked database capabilities...Listen to a port for requests.
  200. XCLIENT/SERVER functionality.  Should be able to build server on top
  201. Xof existing zdbm and modify existing cloud to make calls to zdbm-server
  202. Xinstead of directly to zdbm.  Maybe not really change the cloud,
  203. Xbut just link the cloud to a different set of zdbm functions that
  204. Xdon't really do what they're named but instead contact the server
  205. Xand IT does the action.  Major possiblilties here.
  206. X
  207. X6.  The curses user interface.  Make it so.
  208. X
  209. X7.  MS-Windows user interface.  Go for it.
  210. X
  211. X8.  Use environment variables, particularly for the curses interface.
  212. X    Allow the database config file to be specified by env. vars.
  213. X
  214. X9.  Allow the database config file to be specified on the command-line.
  215. X
  216. X10.  Somehow we need to allow the config file to be re-read, for when
  217. Xnew problem types are added to the database.  (Not that critical).
  218. X
  219. X
  220. X----------------------------------------------------------------------
  221. XMAYBES:
  222. X-------
  223. XM1.  Somehow inform sysop users which problems have been worked on since
  224. Xtheir last xpts session.  Need a ~/.xptsrc ?
  225. X
  226. XM2.  Add a layer between the executable pts and "the cloud".
  227. XThis layer would be whichever user interface library you want
  228. Xto link to.  The application would be the same for all
  229. Xuser-interface libraries.  May only work for similar libraries
  230. X(ie GUI, since curses might be too different.)
  231. X
  232. XM3.  Motif user interface.  For those w/out Athena widgets.
  233. X
  234. X
  235. X======================================================================
  236. XCOMLETED: (moved from above lists after completion...)
  237. X2.  Add the ability to specifiy the top of the database in the config file.
  238. XThis is VERY important, since it extends the usefulness of PTS to other 
  239. Xsituations.  Keeping track of problems for any type of team effort, 
  240. Xsuch as a software design team.  The point is that you could have multiple
  241. XPTS databases without rebuild PTS.
  242. X
  243. X3.  Add the ability to specify these in the config file, too, instead of
  244. Xonly at compile time:
  245. X    print-command
  246. X    mail command
  247. X    database locaton
  248. X
  249. X4.  Add the capability to send mail to certain users when problems IN CERTAIN
  250. XLEAVES are over a set number of days old.  For example, we might have 
  251. Xall problems in /Software/PTS-Problems be mailed to Zombie Software.
  252. X
  253. END_OF_FILE
  254. if test 2632 -ne `wc -c <'pts-1.05/TODO'`; then
  255.     echo shar: \"'pts-1.05/TODO'\" unpacked with wrong size!
  256. fi
  257. # end of 'pts-1.05/TODO'
  258. fi
  259. if test -f 'pts-1.05/config/config.h' -a "${1}" != "-c" ; then 
  260.   echo shar: Will not clobber existing file \"'pts-1.05/config/config.h'\"
  261. else
  262. echo shar: Extracting \"'pts-1.05/config/config.h'\" \(2679 characters\)
  263. sed "s/^X//" >'pts-1.05/config/config.h' <<'END_OF_FILE'
  264. X/*
  265. X * config.h -- Configuration file parser header file.
  266. X * Dean Collins
  267. X *
  268. X * Modified: Dean Collins, Wed Mar 02 18:16:12 1994
  269. X *   Added PARSETEST & PARSEMISC, modified PARSE* values, and 
  270. X *   added AddToSysopList() macro.
  271. X */
  272. X
  273. X/*
  274. X * Copyright (c) 1994,1992 Dean Collins.
  275. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  276. X * 
  277. X * Permission to use, copy, modify, and distribute this software and its
  278. X * documentation free of charge for any purpose is hereby granted without
  279. X * fee, provided that the above copyright notices appear in all copies and
  280. X * that both those copyright notices and this permission notice appear in
  281. X * supporting documentation, and that neither the name of the University of
  282. X * Idaho nor the name of Dean Collins be used in advertising or publicity
  283. X * pertaining to distribution of the software without specific, written
  284. X * prior permission from both parties.  Neither The University of Idaho
  285. X * nor Dean Collins make any representations about the suitability of
  286. X * this software for any purpose.  It is provided "as is" without express
  287. X * or implied warranty.
  288. X * 
  289. X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
  290. X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
  291. X * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
  292. X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
  293. X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  294. X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
  295. X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
  296. X * THIS SOFTWARE.
  297. X */
  298. X
  299. X/* Where is the pts config file located?  Over-ride at compile time and/or
  300. X * in the config file.
  301. X */
  302. X#ifndef CONFIGFILE
  303. X#define CONFIGFILE "/usr/local/lib/PTS/pts.cf"
  304. X#endif
  305. X
  306. X/* Local defines here */
  307. Xextern int parse_error ;
  308. X
  309. X/* Types of parses to do.  These can be OR'd together to perform
  310. X * multiple parses in a single pass (except for PARSETEST).
  311. X */
  312. X#define PARSETEST 0
  313. X#define PARSEPATH 1
  314. X#define PARSEMAIL 2
  315. X#define PARSEMISC 4
  316. X
  317. X/* Used by InStringList() to select the search type. */
  318. X#define EXACTCMP  1
  319. X#define PREFIXCMP 2
  320. X
  321. X/* macros */
  322. X#define AddToSysopList(name,headp) AddToStringList(name,headp)
  323. X
  324. X/* Prototypes */
  325. Xint config_tree(struct Full_path **pathlist) ;
  326. Xint config_mail(MailInfo **maillist) ;
  327. Xint config_misc(void) ;
  328. Xstruct Full_path *AddPath(struct Full_path *head, char *path) ;
  329. XMailInfo *AddMail(MailInfo *head, char *username, int days,
  330. X          StringListRec *pathlist) ;
  331. Xint AddToStringList(char *name, StringListRec **headp);
  332. Xint InStringList(char *name, StringListRec *p, int type);
  333. Xint FreeStringList(StringListRec **headp) ;
  334. END_OF_FILE
  335. if test 2679 -ne `wc -c <'pts-1.05/config/config.h'`; then
  336.     echo shar: \"'pts-1.05/config/config.h'\" unpacked with wrong size!
  337. fi
  338. # end of 'pts-1.05/config/config.h'
  339. fi
  340. if test -f 'pts-1.05/config/test2.cf' -a "${1}" != "-c" ; then 
  341.   echo shar: Will not clobber existing file \"'pts-1.05/config/test2.cf'\"
  342. else
  343. echo shar: Extracting \"'pts-1.05/config/test2.cf'\" \(1977 characters\)
  344. sed "s/^X//" >'pts-1.05/config/test2.cf' <<'END_OF_FILE'
  345. X# /usr/local/lib/pts.cf
  346. X#This is the config file for the Problem Tracking System (PTS).
  347. X
  348. Xdbtop:    /local/PTS/DB
  349. Xprinter:    /usr/bin/lp
  350. Xprinter_opts:    -Plj -# 3 lj@blah
  351. Xmailer:        /usr/local/bin/elm
  352. Xmailer_opts:    -s
  353. X
  354. X#Mail list goes here...
  355. X# account_name    days_until_notified
  356. X    simon\
  357. X    4
  358. Xmail:    dean    2    /Other, /Hey/There,/Nothing, /Hey/There
  359. X    johnd   7
  360. X
  361. X
  362. Xsysops: dean simon johnd brian \
  363. X    sheneman hunter874 hyde861
  364. Xsysops: dean2 simon2 johnd2 brian2 sheneman hunter8742 hyde8612
  365. X
  366. Xsysops: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  367. X
  368. X# Problem types go here... 
  369. X#   list leaves ONLY...
  370. X#   Case IS significant...
  371. X
  372. X#Don't forget to have general groups (like all the ".../Other" ones below)
  373. X#for those square pegs that don't fit your nice round holes.
  374. X#You'll never be able to anticipate _everything_.
  375. X#(If you can ancicipate everything you probably don't need this software. ;-)
  376. X
  377. Xleaf:    /Hardware/Printer
  378. Xleaf:    /Hardware/Keyboard
  379. X/Hardware/Display
  380. X/Hardware/Mouse
  381. X/Hardware/Tape-Drive
  382. Xleaf:    /Hardware/Hard-Drive
  383. X/Hardware/Other
  384. X
  385. X/Other
  386. X
  387. X/Software/Editors/vi
  388. X/Software/Editors/Emacs
  389. X/Software/Editors/Other
  390. X
  391. X/Software/Programming/C
  392. X/Software/Programming/Pascal
  393. X/Software/Programming/Fortran
  394. X/Software/Programming/Scheme
  395. X/Software/Programming/ML
  396. X/Software/Programming/Other
  397. X
  398. X/Software/X-Windows-System/Usage
  399. X/Software/X-Windows-System/Programming
  400. X/Software/X-Windows-System/Other
  401. X
  402. X/Software/Network/Remote-Logins
  403. X/Software/Network/File-Transfers
  404. X/Software/Network/Other
  405. X
  406. X/Software/Modems
  407. X
  408. X/Software/Shell/Korn-shell(ksh)
  409. X/Software/Shell/C-Shell(csh)
  410. X/Software/Shell/Bourne-Shell(sh)
  411. X/Software/Shell/Aegis
  412. X/Software/Shell/Other
  413. X
  414. X/
  415. X
  416. X/Software/Login-Logout
  417. X
  418. X/Software/Mail/elm  
  419. X/Software/Mail/Mail
  420. X/Software/Mail/mail
  421. X/Software/Mail/mh
  422. X/Software/Mail/xmh
  423. X
  424. X/Software/Mail/Software/Mail/Software/Mail/Software/Mail/Software/Mail/Software/Mail/Software/Mail/Software/Mail/Software/Mail
  425. X
  426. X/Software/Mail/sendmail
  427. X/Software/Mail/Other
  428. X
  429. X/Software/Other
  430. X
  431. END_OF_FILE
  432. if test 1977 -ne `wc -c <'pts-1.05/config/test2.cf'`; then
  433.     echo shar: \"'pts-1.05/config/test2.cf'\" unpacked with wrong size!
  434. fi
  435. # end of 'pts-1.05/config/test2.cf'
  436. fi
  437. if test -f 'pts-1.05/contrib/DANGER/Imakefile' -a "${1}" != "-c" ; then 
  438.   echo shar: Will not clobber existing file \"'pts-1.05/contrib/DANGER/Imakefile'\"
  439. else
  440. echo shar: Extracting \"'pts-1.05/contrib/DANGER/Imakefile'\" \(2215 characters\)
  441. sed "s/^X//" >'pts-1.05/contrib/DANGER/Imakefile' <<'END_OF_FILE'
  442. X######################################################################
  443. X# 
  444. X# Imakefile -- Imake rules for unlock index kludge$(PTSTOP).(grin)
  445. X# Dean Collins, Fri Nov 13 19:46:24 PST 1992
  446. X# 
  447. X######################################################################
  448. X#
  449. X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  450. X# 
  451. X# Permission to use, copy, modify, and distribute this software and its
  452. X# documentation free of charge for any purpose is hereby granted without
  453. X# fee, provided that the above copyright notice appear in all copies and
  454. X# that both that copyright notice and this permission notice appear in
  455. X# supporting documentation, and that the name of the University of Idaho
  456. X# not be used in advertising or publicity pertaining to distribution of
  457. X# the software without specific, written prior permission.  The University
  458. X# of Idaho makes no representations about the suitability of this software
  459. X# for any purpose.  It is provided "as is" without express or implied warranty.
  460. X# 
  461. X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  462. X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  463. X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  464. X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  465. X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  466. X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  467. X# PERFORMANCE OF THIS SOFTWARE.
  468. X######################################################################
  469. X
  470. X
  471. XCDEBUGFLAGS = -g -W0,-dba -DDEBUG
  472. X
  473. X         PTSTOP = ../..
  474. X           SRCS = danger.c
  475. X           OBJS = danger.o
  476. X           HDRS = danger.h
  477. X       INCLUDES = -I$(PTSTOP)/zdbm -I$(PTSTOP)/neb_cld -I$(PTSTOP)/config
  478. XLOCAL_LIBRARIES = -L$(PTSTOP)/zdbm -lzdbm -L$(PTSTOP)/neb_cld -lcloud -L$(PTSTOP)/config -lconfig
  479. X        DEBLIBS = $(PTSTOP)/zdbm/libzdbm.a $(PTSTOP)/neb_cld/libcloud.a $(PTSTOP)/config/libconfig.a
  480. X
  481. XNormalProgramTarget(danger, $(OBJS), $(DEPLIBS), $(LOCAL_LIBRARIES), /**/)
  482. XDependTarget()
  483. XLintTarget()
  484. X
  485. X/* You really shouldn't install 'danger' in BINDIR, but just in case... */
  486. Xuninstall::
  487. X    $(RM) $(BINDIR)/danger
  488. X    @echo "uninstall in $(CURRENT_DIR) done"
  489. X
  490. END_OF_FILE
  491. if test 2215 -ne `wc -c <'pts-1.05/contrib/DANGER/Imakefile'`; then
  492.     echo shar: \"'pts-1.05/contrib/DANGER/Imakefile'\" unpacked with wrong size!
  493. fi
  494. # end of 'pts-1.05/contrib/DANGER/Imakefile'
  495. fi
  496. if test -f 'pts-1.05/contrib/Imakefile' -a "${1}" != "-c" ; then 
  497.   echo shar: Will not clobber existing file \"'pts-1.05/contrib/Imakefile'\"
  498. else
  499. echo shar: Extracting \"'pts-1.05/contrib/Imakefile'\" \(2268 characters\)
  500. sed "s/^X//" >'pts-1.05/contrib/Imakefile' <<'END_OF_FILE'
  501. X######################################################################
  502. X# 
  503. X# Imakefile -- Imake rules for the contrib software.
  504. X# Dean Collins, Mon Jun 13 21:47:21 1994
  505. X#
  506. X######################################################################
  507. X#
  508. X# Copyright (c) 1992,1993,1994 Dean Collins.
  509. X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  510. X# 
  511. X# Permission to use, copy, modify, and distribute this software and its
  512. X# documentation free of charge for any purpose is hereby granted without
  513. X# fee, provided that the above copyright notice appear in all copies and
  514. X# that both that copyright notice and this permission notice appear in
  515. X# supporting documentation, and that the name of the University of Idaho
  516. X# not be used in advertising or publicity pertaining to distribution of
  517. X# the software without specific, written prior permission.  The University
  518. X# of Idaho makes no representations about the suitability of this software
  519. X# for any purpose.  It is provided "as is" without express or implied warranty.
  520. X# 
  521. X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  522. X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  523. X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  524. X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  525. X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  526. X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  527. X# PERFORMANCE OF THIS SOFTWARE.
  528. X######################################################################
  529. X
  530. X
  531. X
  532. X######################################################################
  533. X#  YOU SHOULDN'T NEED TO MODIFY ANYTHING IN THIS FILE.
  534. X#  All customization is now done in Imake.config.
  535. X######################################################################
  536. X
  537. X
  538. X#include "../Imake.config"
  539. X
  540. X
  541. X#######################################################################
  542. X
  543. X#define IHaveSubdirs
  544. X#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
  545. X
  546. X/*
  547. X * "DANGER" is left out of SUBDIRS because it is what it's name implies.
  548. X *  "texttest" is left out since it's rather crude.
  549. X */
  550. X
  551. X         SUBDIRS = ptsprt newprob
  552. X
  553. XMakeSubdirs($(SUBDIRS))
  554. XDependSubdirs($(SUBDIRS))
  555. X/*CleanSubdirs($(SUBDIRS))*/
  556. XLintSubdirs($(SUBDIRS))
  557. X
  558. END_OF_FILE
  559. if test 2268 -ne `wc -c <'pts-1.05/contrib/Imakefile'`; then
  560.     echo shar: \"'pts-1.05/contrib/Imakefile'\" unpacked with wrong size!
  561. fi
  562. # end of 'pts-1.05/contrib/Imakefile'
  563. fi
  564. if test -f 'pts-1.05/contrib/ptsprt/cgetopts.c' -a "${1}" != "-c" ; then 
  565.   echo shar: Will not clobber existing file \"'pts-1.05/contrib/ptsprt/cgetopts.c'\"
  566. else
  567. echo shar: Extracting \"'pts-1.05/contrib/ptsprt/cgetopts.c'\" \(2356 characters\)
  568. sed "s/^X//" >'pts-1.05/contrib/ptsprt/cgetopts.c' <<'END_OF_FILE'
  569. X
  570. X#include "cgetopts.h"
  571. X#include <stdio.h>
  572. X
  573. Xstatic int extract_option(cget_opts_ptr_t get_opts, const char* format);
  574. X
  575. Xvoid cget_opts_init(cget_opts_t *getopts, int argc, char* argv[], char opt_char)
  576. X{
  577. X    getopts->argv     = argv;
  578. X    getopts->argc     = argc;
  579. X    getopts->opt_char = opt_char;
  580. X    getopts->arg_str  = NULL;
  581. X    getopts->opt_str  = NULL;
  582. X    getopts->last_opt = '\0';
  583. X} /* cget_opts_init */
  584. X
  585. Xint cget_opts_next(cget_opts_ptr_t get_opts, const char* format)
  586. X{
  587. X    int ret;
  588. X
  589. X    get_opts->arg_str = NULL;
  590. X    if (   (get_opts->opt_str == NULL)
  591. X    || (*(get_opts->opt_str) == '\0'))
  592. X    {
  593. X        if (get_opts->argc > 0)
  594. X        {
  595. X            get_opts->opt_str = *get_opts->argv; 
  596. X        if (*(get_opts->opt_str) == get_opts->opt_char)
  597. X        {
  598. X            /* found an option */
  599. X            get_opts->argv++;
  600. X        get_opts->argc--;
  601. X                get_opts->opt_str++;
  602. X            ret = extract_option(get_opts, format);
  603. X        }
  604. X        else
  605. X        {
  606. X        ret = EOF;
  607. X            }
  608. X        }
  609. X        else
  610. X        {
  611. X            ret = EOF;
  612. X    }
  613. X    }
  614. X    else
  615. X    {
  616. X        ret = extract_option(get_opts, format);
  617. X    }
  618. X    return(ret);
  619. X} /* cget_opts_next */ 
  620. X
  621. Xchar* cget_opts_next_arg(cget_opts_ptr_t get_opts)
  622. X{
  623. X    char* ret;
  624. X
  625. X    if (get_opts->argc > 0)
  626. X    {
  627. X    ret = *(get_opts->argv);
  628. X        get_opts->arg_str = ret;
  629. X    get_opts->argv++;
  630. X        get_opts->argc--;
  631. X    }
  632. X    else
  633. X    {
  634. X        ret = NULL;
  635. X    }
  636. X    return(ret);
  637. X} /* cgetr_opts_next_arg */
  638. X
  639. Xstatic int extract_option(cget_opts_ptr_t get_opts, const char* format)
  640. X{
  641. X    int ret;
  642. X
  643. X    get_opts->last_opt = *get_opts->opt_str;
  644. X    while ((*format != '\0') && (*format != *(get_opts->opt_str)))
  645. X    {
  646. X        format++;
  647. X    }
  648. X    if (*format != '\0')
  649. X    {
  650. X        /* found the option */
  651. X    format++;
  652. X    ret = *(get_opts->opt_str);
  653. X        get_opts->opt_str++;
  654. X    if (*format == ':')
  655. X    {
  656. X        if (*(get_opts->opt_str) != '\0')
  657. X        {
  658. X        get_opts->arg_str = get_opts->opt_str;
  659. X        get_opts->opt_str = NULL;
  660. X        }
  661. X        else
  662. X        {
  663. X            get_opts->arg_str = cget_opts_next_arg(get_opts);
  664. X        if (   (get_opts->arg_str == NULL
  665. X            || (*(get_opts->arg_str) == get_opts->opt_char)))
  666. X        {
  667. X                    ret = '?';
  668. X                }
  669. X            }
  670. X    }
  671. X    else
  672. X    {
  673. X        /* no further string required */   
  674. X        }
  675. X    }
  676. X    else
  677. X    {
  678. X    ret = '?';
  679. X    get_opts->opt_str++;
  680. X    }
  681. X    return(ret);
  682. X} /* extract_option */
  683. X
  684. X
  685. X
  686. X
  687. X
  688. X
  689. X
  690. X
  691. X
  692. X
  693. END_OF_FILE
  694. if test 2356 -ne `wc -c <'pts-1.05/contrib/ptsprt/cgetopts.c'`; then
  695.     echo shar: \"'pts-1.05/contrib/ptsprt/cgetopts.c'\" unpacked with wrong size!
  696. fi
  697. # end of 'pts-1.05/contrib/ptsprt/cgetopts.c'
  698. fi
  699. if test -f 'pts-1.05/doc/Manual/Imakefile' -a "${1}" != "-c" ; then 
  700.   echo shar: Will not clobber existing file \"'pts-1.05/doc/Manual/Imakefile'\"
  701. else
  702. echo shar: Extracting \"'pts-1.05/doc/Manual/Imakefile'\" \(2543 characters\)
  703. sed "s/^X//" >'pts-1.05/doc/Manual/Imakefile' <<'END_OF_FILE'
  704. X######################################################################
  705. X# 
  706. X# Imakefile -- Imake rules for the manual pages.
  707. X# Dean Collins, Thu Jul 30 08:33:47 PDT 1992
  708. X#
  709. X######################################################################
  710. X#
  711. X# Copyright (c) 1993,1992 Dean Collins.
  712. X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  713. X# 
  714. X# Permission to use, copy, modify, and distribute this software and its
  715. X# documentation free of charge for any purpose is hereby granted without
  716. X# fee, provided that the above copyright notice appear in all copies and
  717. X# that both that copyright notice and this permission notice appear in
  718. X# supporting documentation, and that the name of the University of Idaho
  719. X# not be used in advertising or publicity pertaining to distribution of
  720. X# the software without specific, written prior permission.  The University
  721. X# of Idaho makes no representations about the suitability of this software
  722. X# for any purpose.  It is provided "as is" without express or implied warranty.
  723. X# 
  724. X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  725. X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  726. X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  727. X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  728. X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  729. X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  730. X# PERFORMANCE OF THIS SOFTWARE.
  731. X######################################################################
  732. X
  733. XROFF   = nroff -man
  734. X#ROFF  = groff -Tascii -man
  735. XROFFPS = groff -Tps -man
  736. X
  737. XMANPAGES = pts.cf.man pts.man ptsager.man xpts.man zdbm.man newprob.man
  738. X
  739. Xall:
  740. X
  741. Xdepend:
  742. X
  743. Xinstall::
  744. X
  745. XInstallManPage(xpts,$(MANDIR))
  746. XInstallManPage(pts,$(MANDIR))
  747. XInstallManPage(pts.cf,$(MANDIR))
  748. XInstallManPage(ptsager,$(MANDIR))
  749. XInstallManPage(zdbm,$(MANDIR))
  750. XInstallManPage(newprob,$(MANDIR))
  751. X
  752. Xuninstall::
  753. X    $(RM) $(MANDIR)/xpts.ManSuffix \
  754. X          $(MANDIR)/pts.ManSuffix \
  755. X          $(MANDIR)/pts.cf.ManSuffix \ 
  756. X          $(MANDIR)/ptsager.ManSuffix \
  757. X          $(MANDIR)/zdbm.ManSuffix \
  758. X          $(MANDIR)/newprob.ManSuffix
  759. X    @echo "uninstall in $(CURRENT_DIR) done"
  760. X
  761. X# You may find the following rules useful.  Or not.  "Your milage may vary..."
  762. Xps:
  763. X    for i in $(MANPAGES) ;\
  764. X    do \
  765. X        (echo $$i.ps; $(ROFFPS) $$i >$$i.ps;) ; \
  766. X    done
  767. X
  768. Xps.Z: ps
  769. X    for i in $(MANPAGES) ;\
  770. X    do \
  771. X        (compress -fv $$i.ps;) ; \
  772. X    done
  773. X
  774. Xtxt:
  775. X    for i in $(MANPAGES) ;\
  776. X    do \
  777. X        (x=`basename $$i .man`.txt; echo $$x; $(ROFF) $$i >$$x;) ; \
  778. X    done
  779. X    
  780. END_OF_FILE
  781. if test 2543 -ne `wc -c <'pts-1.05/doc/Manual/Imakefile'`; then
  782.     echo shar: \"'pts-1.05/doc/Manual/Imakefile'\" unpacked with wrong size!
  783. fi
  784. # end of 'pts-1.05/doc/Manual/Imakefile'
  785. fi
  786. if test -f 'pts-1.05/doc/Manual/ptsager.man' -a "${1}" != "-c" ; then 
  787.   echo shar: Will not clobber existing file \"'pts-1.05/doc/Manual/ptsager.man'\"
  788. else
  789. echo shar: Extracting \"'pts-1.05/doc/Manual/ptsager.man'\" \(2379 characters\)
  790. sed "s/^X//" >'pts-1.05/doc/Manual/ptsager.man' <<'END_OF_FILE'
  791. X.TH ptsager 1 "16 June 1994" "Zombie Software" "PTS version 1.05"
  792. X.SH NAME
  793. Xptsager - Problem Tracking System problem-ager/auto-mailer.
  794. X.SH SYNOPSIS
  795. Xptsager
  796. X.SH DESCRIPTION
  797. X.I
  798. XPtsager
  799. Xis used to scan through the 
  800. X.I PTS
  801. Xdatabase once a day and send electronic mail
  802. Xto certain system users about problems that have remained unsolved for
  803. Xseveral days.
  804. X.PP
  805. X.I Ptsager
  806. Xuses information found in the
  807. X.I pts.cf(8)
  808. Xconfiguration file to determine who receives mail.  In this file, the
  809. Xmail list specifies a list of users.  Each user is associated with an age.
  810. XIf any unsolved problems are found in the database that are
  811. Xthe same number of days old as an age associated with a user
  812. Xthat user will recieve mail.  These mail messages list
  813. Xthe problem summary (the one-line description) and the
  814. Xlocation in the PTS problem tree (the leaf) where the problem
  815. Xis located for each problem of the appropriate age.
  816. X.PP
  817. X.I Ptsager
  818. Xmust be executed by the owner of the
  819. X.I PTS
  820. Xdatabase, usually "support".  Executing 
  821. X.I Ptsager
  822. Xas the user "root" is strongly discouraged.
  823. X.SH USAGE
  824. XThe
  825. X.I ptsager
  826. Xprogram should be executed nightly by support via cron. 
  827. X
  828. XOn most BSD-like systems you can put something like this in the
  829. Xsystem-wide crontab file to accomplish this task:
  830. X.sp 1
  831. X        30 3 * * * support /usr/local/bin/ptsager
  832. X.sp 1
  833. XOn most System V-like systems you can put something like this
  834. Xin the crontab file for the support account:
  835. X.sp 1
  836. X        30 3 * * * /usr/local/bin/ptsager
  837. X.sp 1
  838. XSee cron(1) or crontab(1) for cron usage on your system.
  839. X.PP
  840. XThe support account can also run ptsager at the command-line
  841. Xif necessary.  However, running ptsager more than once a day
  842. Xwill result in multiple reports being mailed each user
  843. Xin the mail list.
  844. X
  845. X
  846. X.SH FILES
  847. X/usr/local/lib/PTS --
  848. X.I  PTS
  849. Xlibrary files.
  850. X.br
  851. X/usr/local/lib/PTS/pts.cf --
  852. X.I  PTS
  853. Xconfiguration file.
  854. X.br
  855. X/usr/local/lib/PTS/DB --
  856. X.I  PTS
  857. Xdatabase.
  858. X.br
  859. X.SH SEE ALSO
  860. Xxpts(1), pts.cf(8), zdbm(3), pts(1), newprob(1),
  861. Xcron(1), crontab(1).
  862. X.SH AUTHORS
  863. XThe Problem Tracking System was originally designed by
  864. X.I Zombie Software
  865. Xat the University of Idaho.
  866. X.I ptsager
  867. Xwas designed and implemented by Brian Goff and Dean Collins.
  868. XSee pts(1) for more information.
  869. X
  870. X.sp 1
  871. X.SH COPYRIGHT
  872. XCopyright (c) 1994,1993,1992 Dean Collins, Chris Hyde, Luke Sheneman,
  873. XBrian Goff, and John Hunter.
  874. X.br
  875. XCopyright (c) 1992 University of Idaho, Moscow, Idaho.
  876. X
  877. END_OF_FILE
  878. if test 2379 -ne `wc -c <'pts-1.05/doc/Manual/ptsager.man'`; then
  879.     echo shar: \"'pts-1.05/doc/Manual/ptsager.man'\" unpacked with wrong size!
  880. fi
  881. # end of 'pts-1.05/doc/Manual/ptsager.man'
  882. fi
  883. if test -f 'pts-1.05/neb_cld/Imakefile' -a "${1}" != "-c" ; then 
  884.   echo shar: Will not clobber existing file \"'pts-1.05/neb_cld/Imakefile'\"
  885. else
  886. echo shar: Extracting \"'pts-1.05/neb_cld/Imakefile'\" \(2765 characters\)
  887. sed "s/^X//" >'pts-1.05/neb_cld/Imakefile' <<'END_OF_FILE'
  888. X######################################################################
  889. X#
  890. X# Imakefile -- Imake rules for the high-level database interface.
  891. X# Dean Collins, Thu Jul 30 08:57:33 PDT 1992
  892. X#
  893. X# This is an Imakefile for the "Cloud" portion of the ZOMBIE software
  894. X# Problem Tracking System (PTS).  The routines here will be used as an
  895. X# interface to the zdbm database routines.      Sheneman        061592
  896. X#
  897. X# Modified: Dean Collins Thu Mar 10 20:51:15 1994
  898. X# Moved customization to ../Imake.config, which each Imakefile
  899. X# will #include.  This eliminates the need to set CC within
  900. X# each one.
  901. X#
  902. X######################################################################
  903. X#
  904. X# Copyright (c) 1994 Dean Collins.
  905. X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  906. X# 
  907. X# Permission to use, copy, modify, and distribute this software and its
  908. X# documentation free of charge for any purpose is hereby granted without
  909. X# fee, provided that the above copyright notice appear in all copies and
  910. X# that both that copyright notice and this permission notice appear in
  911. X# supporting documentation, and that the name of the University of Idaho
  912. X# not be used in advertising or publicity pertaining to distribution of
  913. X# the software without specific, written prior permission.  The University
  914. X# of Idaho makes no representations about the suitability of this software
  915. X# for any purpose.  It is provided "as is" without express or implied warranty.
  916. X# 
  917. X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  918. X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  919. X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  920. X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  921. X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  922. X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  923. X# PERFORMANCE OF THIS SOFTWARE.
  924. X######################################################################
  925. X
  926. X######################################################################
  927. X#  YOU SHOULDN'T NEED TO MODIFY ANYTHING IN THIS FILE.
  928. X#  All customization is now done in ../Imake.config.
  929. X######################################################################
  930. X
  931. X
  932. X#include "../Imake.config"
  933. X
  934. X
  935. X#----------------------------------------------------------------------
  936. X
  937. X           SRCS = setup.c summaries.c problems.c tester.c subtree.c \
  938. X          clouderror.c
  939. X           OBJS = setup.o summaries.o problems.o tester.o subtree.o \
  940. X          clouderror.o
  941. X           HDRS = cloud.h clouderror.h
  942. X       INCLUDES = -I../zdbm -I../util
  943. XLOCAL_LIBRARIES = -L../zdbm -lzdbm -L../util -lutil
  944. X        DEPLIBS = ../zdbm/libzdbm.a ../util/libutil.a
  945. X
  946. X
  947. XNormalLibraryTarget(cloud,$(OBJS))
  948. XDependTarget()
  949. XLintTarget()
  950. X
  951. Xuninstall::
  952. X
  953. END_OF_FILE
  954. if test 2765 -ne `wc -c <'pts-1.05/neb_cld/Imakefile'`; then
  955.     echo shar: \"'pts-1.05/neb_cld/Imakefile'\" unpacked with wrong size!
  956. fi
  957. # end of 'pts-1.05/neb_cld/Imakefile'
  958. fi
  959. if test -f 'pts-1.05/neb_cld/tmp.c' -a "${1}" != "-c" ; then 
  960.   echo shar: Will not clobber existing file \"'pts-1.05/neb_cld/tmp.c'\"
  961. else
  962. echo shar: Extracting \"'pts-1.05/neb_cld/tmp.c'\" \(2051 characters\)
  963. sed "s/^X//" >'pts-1.05/neb_cld/tmp.c' <<'END_OF_FILE'
  964. X/* Author:  Luke Sheneman */
  965. X
  966. X/*
  967. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  968. X *
  969. X * Permission to use, copy, modify, and distribute this software and its
  970. X * documentation free of charge for any purpose is hereby granted without
  971. X * fee, provided that the above copyright notice appear in all copies and
  972. X * that both that copyright notice and this permission notice appear in
  973. X * supporting documentation, and that the name of the University of Idaho
  974. X * not be used in advertising or publicity pertaining to distribution of
  975. X * the software without specific, written prior permission.  The University
  976. X * of Idaho makes no representations about the suitability of this software
  977. X * for any purpose.  It is provided "as is" without express or implied warranty.
  978. X *
  979. X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  980. X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  981. X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  982. X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  983. X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  984. X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  985. X * PERFORMANCE OF THIS SOFTWARE.
  986. X */
  987. X
  988. X/* These functions are marginally useful for debugging purposes only.  These
  989. X   functions are not necessary for the normal operation of the PTS system, 
  990. X   but can provide help in the case of debugging.
  991. X*/
  992. X
  993. X/* tester.c provides definitions for the following functions:
  994. X *
  995. X * TraverseList() - Traverses a linked list of Full_path structures.
  996. X */
  997. X
  998. X
  999. X#define NUMPATHS 6
  1000. X
  1001. X#include <stdio.h>
  1002. X#include "zdbm.h"
  1003. X#include "cloud.h"
  1004. X#include "clouderror.h"
  1005. X
  1006. X
  1007. Xvoid TraverseList(path)
  1008. Xstruct Full_path *path;
  1009. X{
  1010. X    struct Full_path *t;
  1011. X
  1012. X    cld_errno=0;
  1013. X
  1014. X    t=path;
  1015. X
  1016. X#ifdef DEBUG
  1017. X    printf("\n");
  1018. X#endif /* DEBUG */
  1019. X
  1020. X    while(t)
  1021. X    {
  1022. X
  1023. X#ifdef DEBUG
  1024. X        printf("TraverseList() - %s\n",t->path);
  1025. X#else
  1026. X        printf("%s\n", t->path) ;
  1027. X#endif /* DEBUG */
  1028. X
  1029. X        t=t->next;
  1030. X    }    
  1031. X
  1032. X#ifdef DEBUG
  1033. X    printf("\n");
  1034. X#endif /* DEBUG */
  1035. X
  1036. X}
  1037. X
  1038. END_OF_FILE
  1039. if test 2051 -ne `wc -c <'pts-1.05/neb_cld/tmp.c'`; then
  1040.     echo shar: \"'pts-1.05/neb_cld/tmp.c'\" unpacked with wrong size!
  1041. fi
  1042. # end of 'pts-1.05/neb_cld/tmp.c'
  1043. fi
  1044. if test -f 'pts-1.05/util/Imakefile' -a "${1}" != "-c" ; then 
  1045.   echo shar: Will not clobber existing file \"'pts-1.05/util/Imakefile'\"
  1046. else
  1047. echo shar: Extracting \"'pts-1.05/util/Imakefile'\" \(2236 characters\)
  1048. sed "s/^X//" >'pts-1.05/util/Imakefile' <<'END_OF_FILE'
  1049. X######################################################################
  1050. X#
  1051. X# Imakefile -- Imake rules for several low-level utilities used by
  1052. X#           all parts of PTS.
  1053. X# Dean Collins, Fri Mar 11 14:13:58 1994
  1054. X#
  1055. X######################################################################
  1056. X#
  1057. X# Copyright (c) 1994 Dean Collins.
  1058. X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  1059. X# 
  1060. X# Permission to use, copy, modify, and distribute this software and its
  1061. X# documentation free of charge for any purpose is hereby granted without
  1062. X# fee, provided that the above copyright notice appear in all copies and
  1063. X# that both that copyright notice and this permission notice appear in
  1064. X# supporting documentation, and that the name of the University of Idaho
  1065. X# not be used in advertising or publicity pertaining to distribution of
  1066. X# the software without specific, written prior permission.  The University
  1067. X# of Idaho makes no representations about the suitability of this software
  1068. X# for any purpose.  It is provided "as is" without express or implied warranty.
  1069. X# 
  1070. X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  1071. X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  1072. X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  1073. X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  1074. X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  1075. X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  1076. X# PERFORMANCE OF THIS SOFTWARE.
  1077. X######################################################################
  1078. X
  1079. X######################################################################
  1080. X#  YOU SHOULDN'T NEED TO MODIFY ANYTHING IN THIS FILE.
  1081. X#  All customization is now done in ../Imake.config.
  1082. X######################################################################
  1083. X
  1084. X
  1085. X#include "../Imake.config"
  1086. X
  1087. X
  1088. X#----------------------------------------------------------------------
  1089. X
  1090. X           SRCS = str.c sendmail.c writebuf.c $(MISSING_SRCS)
  1091. X           OBJS = str.o sendmail.o writebuf.o $(MISSING_OBJS)
  1092. X           HDRS = util.h
  1093. X       INCLUDES = 
  1094. XLOCAL_LIBRARIES = 
  1095. X        DEPLIBS = 
  1096. X
  1097. X
  1098. XNormalLibraryTarget(util,$(OBJS))
  1099. XDependTarget()
  1100. XLintTarget()
  1101. X
  1102. Xuninstall::
  1103. X
  1104. END_OF_FILE
  1105. if test 2236 -ne `wc -c <'pts-1.05/util/Imakefile'`; then
  1106.     echo shar: \"'pts-1.05/util/Imakefile'\" unpacked with wrong size!
  1107. fi
  1108. # end of 'pts-1.05/util/Imakefile'
  1109. fi
  1110. if test -f 'pts-1.05/util/strerror.c' -a "${1}" != "-c" ; then 
  1111.   echo shar: Will not clobber existing file \"'pts-1.05/util/strerror.c'\"
  1112. else
  1113. echo shar: Extracting \"'pts-1.05/util/strerror.c'\" \(2566 characters\)
  1114. sed "s/^X//" >'pts-1.05/util/strerror.c' <<'END_OF_FILE'
  1115. X/*
  1116. X * Copyright (c) 1988 Regents of the University of California.
  1117. X * All rights reserved.
  1118. X *
  1119. X * Redistribution and use in source and binary forms, with or without
  1120. X * modification, are permitted provided that the following conditions
  1121. X * are met:
  1122. X * 1. Redistributions of source code must retain the above copyright
  1123. X *    notice, this list of conditions and the following disclaimer.
  1124. X * 2. Redistributions in binary form must reproduce the above copyright
  1125. X *    notice, this list of conditions and the following disclaimer in the
  1126. X *    documentation and/or other materials provided with the distribution.
  1127. X * 3. All advertising materials mentioning features or use of this software
  1128. X *    must display the following acknowledgement:
  1129. X *    This product includes software developed by the University of
  1130. X *    California, Berkeley and its contributors.
  1131. X * 4. Neither the name of the University nor the names of its contributors
  1132. X *    may be used to endorse or promote products derived from this software
  1133. X *    without specific prior written permission.
  1134. X *
  1135. X * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1136. X * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1137. X * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1138. X * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1139. X * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1140. X * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1141. X * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1142. X * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1143. X * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1144. X * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1145. X * SUCH DAMAGE.
  1146. X */
  1147. X
  1148. X#if defined(LIBC_SCCS) && !defined(lint)
  1149. Xstatic char sccsid[] = "@(#)strerror.c    5.6 (Berkeley) 5/4/91";
  1150. X#endif /* LIBC_SCCS and not lint */
  1151. X
  1152. X#include <string.h>
  1153. X
  1154. Xchar *
  1155. Xstrerror(num)
  1156. X    int num;
  1157. X{
  1158. X    extern int sys_nerr;
  1159. X    extern char *sys_errlist[];
  1160. X#define    UPREFIX    "Unknown error: "
  1161. X    static char ebuf[40] = UPREFIX;        /* 64-bit number + slop */
  1162. X    register unsigned int errnum;
  1163. X    register char *p, *t;
  1164. X    char tmp[40];
  1165. X
  1166. X    errnum = num;                /* convert to unsigned */
  1167. X    if (errnum < sys_nerr)
  1168. X        return(sys_errlist[errnum]);
  1169. X
  1170. X    /* Do this by hand, so we don't include stdio(3). */
  1171. X    t = tmp;
  1172. X    do {
  1173. X        *t++ = "0123456789"[errnum % 10];
  1174. X    } while (errnum /= 10);
  1175. X    for (p = ebuf + sizeof(UPREFIX) - 1;;) {
  1176. X        *p++ = *--t;
  1177. X        if (t <= tmp)
  1178. X            break;
  1179. X    }
  1180. X    return(ebuf);
  1181. X}
  1182. END_OF_FILE
  1183. if test 2566 -ne `wc -c <'pts-1.05/util/strerror.c'`; then
  1184.     echo shar: \"'pts-1.05/util/strerror.c'\" unpacked with wrong size!
  1185. fi
  1186. # end of 'pts-1.05/util/strerror.c'
  1187. fi
  1188. if test -f 'pts-1.05/util/util.h' -a "${1}" != "-c" ; then 
  1189.   echo shar: Will not clobber existing file \"'pts-1.05/util/util.h'\"
  1190. else
  1191. echo shar: Extracting \"'pts-1.05/util/util.h'\" \(2443 characters\)
  1192. sed "s/^X//" >'pts-1.05/util/util.h' <<'END_OF_FILE'
  1193. X/* util.h -- Several low-level utilities.
  1194. X *
  1195. X * Created: Dean Collins Fri Mar 11 14:16:07 1994
  1196. X *
  1197. X * Copyright (c) 1994 Luke Sheneman.
  1198. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  1199. X *
  1200. X * Permission to use, copy, modify, and distribute this software and its
  1201. X * documentation free of charge for any purpose is hereby granted without
  1202. X * fee, provided that the above copyright notice appear in all copies and
  1203. X * that both that copyright notice and this permission notice appear in
  1204. X * supporting documentation, and that the name of the University of Idaho
  1205. X * not be used in advertising or publicity pertaining to distribution of
  1206. X * the software without specific, written prior permission.  The University
  1207. X * of Idaho makes no representations about the suitability of this software
  1208. X * for any purpose.  It is provided "as is" without express or implied warranty.
  1209. X *
  1210. X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  1211. X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  1212. X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  1213. X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  1214. X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  1215. X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  1216. X * PERFORMANCE OF THIS SOFTWARE.
  1217. X */
  1218. X
  1219. X    /* Make sure this is only included once. */
  1220. X#ifndef UTIL_INCLUDED
  1221. X#define UTIL_INCLUDED
  1222. X
  1223. X
  1224. X/********************** Prototypes for str.c ********************************/
  1225. X
  1226. Xchar *FixStr(char *str) ;
  1227. Xchar *StripLeading(char *str) ;
  1228. Xchar *StripTrailing(char *str) ;
  1229. X
  1230. X/******************* Prototypes for various .c files **********************/
  1231. X
  1232. Xint SendMail(char *Prog, char *Opts, char *Subject,    /* sendmail.c */
  1233. X             char *User, char *Host, char *Filename);
  1234. Xint WriteBuf(int fd, char *buf, int count) ;        /* writebuf.c */
  1235. X
  1236. X
  1237. X#ifdef NEED_STRERROR
  1238. Xchar *strerror(int num) ;                /* strerror.c */
  1239. X#endif
  1240. X
  1241. X#ifdef NEED_STRFTIME
  1242. Xint strftime(char *s, size_t maxsize, const char *format,
  1243. X         const struct tm *timeptr);            /* strftime.c */
  1244. X#endif
  1245. X
  1246. X#ifdef NEED_TRUNCATE
  1247. Xint truncate(char  *filenam, char  *filesize);        /* truncate.c */
  1248. X#endif
  1249. X
  1250. X/* HP-UX 9.x uses setresuid() instead of seteuid(). */
  1251. X#ifdef __hppa
  1252. X#   define SETEUID(u) setresuid(-1,(u),-1)
  1253. X#else /*not defined __hppa*/
  1254. X#   define SETEUID(u) seteuid(u)
  1255. X#endif /* __hppa */
  1256. X
  1257. X
  1258. X#endif /*UTIL_INCLUDED*/
  1259. X/* end of util.h */
  1260. END_OF_FILE
  1261. if test 2443 -ne `wc -c <'pts-1.05/util/util.h'`; then
  1262.     echo shar: \"'pts-1.05/util/util.h'\" unpacked with wrong size!
  1263. fi
  1264. # end of 'pts-1.05/util/util.h'
  1265. fi
  1266. if test -f 'pts-1.05/xpts/TODO' -a "${1}" != "-c" ; then 
  1267.   echo shar: Will not clobber existing file \"'pts-1.05/xpts/TODO'\"
  1268. else
  1269. echo shar: Extracting \"'pts-1.05/xpts/TODO'\" \(2837 characters\)
  1270. sed "s/^X//" >'pts-1.05/xpts/TODO' <<'END_OF_FILE'
  1271. XTODO list for xpts.  (Personal notes...may not make sense to anyone but myself.)
  1272. X==================
  1273. X
  1274. XShort-range goals:
  1275. X-----------------
  1276. Xget rid of tmpstr[] arrays; change to char *, use malloc instead.
  1277. X
  1278. XDo more length checking on strings.
  1279. X
  1280. X
  1281. XLonger-range goals:
  1282. X------------------
  1283. XX11R6.  Ensure compatability.
  1284. X
  1285. XMake ChangeList() scroll the list to the top whenever the list is changed.
  1286. X
  1287. XGet rid of the stupid globals!!!!!  I hate globals!!!!
  1288. X
  1289. XCome up with a new widget for a problem.  It would include the current problem
  1290. Xviewer, as well as the functions that are performed on the problem.
  1291. X
  1292. XAllow multiple problems to be viewed/edited at the same time.  (Re-entrant code?)
  1293. X
  1294. XBreak some the functions that have grown excessivly long into several, smaller
  1295. Xpieces.
  1296. X
  1297. XHave 'return' key default to one of the buttons on each window.
  1298. X
  1299. XAdd dialog widget to pickProblem that shows current path.
  1300. X
  1301. XThe Problem Summaries list and the Unsolved Summaries List popups need
  1302. Xto have a "rescan" button.  Especially unsolvedPopup.
  1303. X
  1304. XHelp screens for every screen would be SIMPLE.  The help button
  1305. Xshould be in the lower right-hand corner of each window.
  1306. X
  1307. XMake signals cause their popup to happen immediatly and not wait for the
  1308. Xnext event to display their window.
  1309. X
  1310. XUse X resources for more things, such as the MOTD file name.
  1311. X
  1312. XDeal with non-existant help-files (rather than aborting.)
  1313. X
  1314. XDifferentiate between activate.c and select.c functions better.
  1315. XProbably need to rename some functions.
  1316. X
  1317. XAllow for users of varying experience levels.  Especially, we need
  1318. Xto get rid of some of the warnings for experienced sysops. 
  1319. XThings to screen out include the printer notice and the solved notice.
  1320. X
  1321. XChange the xpts icon when a new problem is reported (like xbiff).
  1322. X
  1323. X
  1324. XMAYBES:
  1325. X-------
  1326. XSomehow inform sysop users which problems have been worked on since
  1327. Xtheir last xpts session.  Need a ~/.xptsrc ?
  1328. X
  1329. XAllow arrow keys (and other keys?) to have reasonable meanings in each window.
  1330. X
  1331. XMake all xpts window iconify when one is iconified.  (See xv for an example?)
  1332. X
  1333. XChange the cursor into an hour-glass (or something) when xpts is busy and
  1334. Xnot accepting user input.
  1335. X
  1336. XHave TAB key move current window field to the next.
  1337. X
  1338. XSomehow allow users to request new problem leaves.  A suggestion box?
  1339. X
  1340. X
  1341. XDONE:  (Moved from above lists when completed)
  1342. X-----
  1343. XReading the unsolved summaries is rather slow, and will get slower as the
  1344. Xdatabase gets larger.  It needs to be optimized, and the number of calls
  1345. Xto it need to be limited, if possible.  Possible optimizations include:
  1346. X
  1347. X    a.  Having get_problem() return the filename of the log, not the log.
  1348. X    This was considered at one time, but not done for other reasons.
  1349. X
  1350. X    b.  Allow an entry in the unsolved list to be removed from the list
  1351. X    without regenerating the entire list.
  1352. X
  1353. X    (THANKS CHRIS!)
  1354. X
  1355. X--
  1356. XDean Collins
  1357. XFri Feb  4 18:11:46 PST 1994
  1358. END_OF_FILE
  1359. if test 2837 -ne `wc -c <'pts-1.05/xpts/TODO'`; then
  1360.     echo shar: \"'pts-1.05/xpts/TODO'\" unpacked with wrong size!
  1361. fi
  1362. # end of 'pts-1.05/xpts/TODO'
  1363. fi
  1364. if test -f 'pts-1.05/xpts/activate.h' -a "${1}" != "-c" ; then 
  1365.   echo shar: Will not clobber existing file \"'pts-1.05/xpts/activate.h'\"
  1366. else
  1367. echo shar: Extracting \"'pts-1.05/xpts/activate.h'\" \(1998 characters\)
  1368. sed "s/^X//" >'pts-1.05/xpts/activate.h' <<'END_OF_FILE'
  1369. X/*
  1370. X * activate.h -- Function prototypes activate.c for the X interface to
  1371. X * the Problem Tracking System (PTS) database.
  1372. X * Dean Collins -- Mon Feb  8 21:17:40 PST 1993
  1373. X */
  1374. X
  1375. X/*
  1376. X * Copyright (c) 1992,1993 Dean Collins.
  1377. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  1378. X * 
  1379. X * Permission to use, copy, modify, and distribute this software and its
  1380. X * documentation free of charge for any purpose is hereby granted without
  1381. X * fee, provided that the above copyright notices appear in all copies and
  1382. X * that both those copyright notices and this permission notice appear in
  1383. X * supporting documentation, and that neither the name of the University of
  1384. X * Idaho nor the name of Dean Collins be used in advertising or publicity
  1385. X * pertaining to distribution of the software without specific, written
  1386. X * prior permission from both parties.  Neither The University of Idaho
  1387. X * nor Dean Collins make any representations about the suitability of
  1388. X * this software for any purpose.  It is provided "as is" without express
  1389. X * or implied warranty.
  1390. X * 
  1391. X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
  1392. X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
  1393. X * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
  1394. X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
  1395. X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  1396. X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
  1397. X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
  1398. X * THIS SOFTWARE.
  1399. X */
  1400. X
  1401. X
  1402. X
  1403. Xvoid ButtonActivate     (Widget w, XtPointer client_data, XtPointer call_data);
  1404. Xvoid MainMenuActivate   (Widget w, XtPointer client_data, XtPointer call_data);
  1405. Xvoid PickProblemActivate(Widget w, XtPointer client_data, XtPointer call_data);
  1406. Xvoid SysopMenuActivate  (Widget w, XtPointer client_data, XtPointer call_data);
  1407. Xvoid ViewProblemActivate(Widget w, XtPointer client_data, XtPointer call_data);
  1408. X
  1409. X/* end of activate.h */
  1410. END_OF_FILE
  1411. if test 1998 -ne `wc -c <'pts-1.05/xpts/activate.h'`; then
  1412.     echo shar: \"'pts-1.05/xpts/activate.h'\" unpacked with wrong size!
  1413. fi
  1414. # end of 'pts-1.05/xpts/activate.h'
  1415. fi
  1416. if test -f 'pts-1.05/xpts/macros.h' -a "${1}" != "-c" ; then 
  1417.   echo shar: Will not clobber existing file \"'pts-1.05/xpts/macros.h'\"
  1418. else
  1419. echo shar: Extracting \"'pts-1.05/xpts/macros.h'\" \(2183 characters\)
  1420. sed "s/^X//" >'pts-1.05/xpts/macros.h' <<'END_OF_FILE'
  1421. X/*
  1422. X * macros.h -- X interface to the Problem Tracking System (PTS) database.
  1423. X * Dean Collins -- Tue Mar 24 12:39:39 PST 1992
  1424. X */
  1425. X
  1426. X/*
  1427. X * Copyright (c) 1992,1993 Dean Collins.
  1428. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  1429. X * 
  1430. X * Permission to use, copy, modify, and distribute this software and its
  1431. X * documentation free of charge for any purpose is hereby granted without
  1432. X * fee, provided that the above copyright notices appear in all copies and
  1433. X * that both those copyright notices and this permission notice appear in
  1434. X * supporting documentation, and that neither the name of the University of
  1435. X * Idaho nor the name of Dean Collins be used in advertising or publicity
  1436. X * pertaining to distribution of the software without specific, written
  1437. X * prior permission from both parties.  Neither The University of Idaho
  1438. X * nor Dean Collins make any representations about the suitability of
  1439. X * this software for any purpose.  It is provided "as is" without express
  1440. X * or implied warranty.
  1441. X * 
  1442. X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
  1443. X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
  1444. X * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
  1445. X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
  1446. X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  1447. X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
  1448. X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
  1449. X * THIS SOFTWARE.
  1450. X */
  1451. X
  1452. X
  1453. X/* NoticePopup() -- This function is for important notices that the user
  1454. X *             should be informed about, and that they need to 
  1455. X *            acknowledge.  It is basically the same as the ErrorPopup().
  1456. X *            The only difference comes from the X resources.
  1457. X */
  1458. X#define NoticePopup(n,p,m) ErrorPopup(n,p,m)
  1459. X
  1460. X
  1461. X/* Raisewidget() -- This function raises the specified widget so that it
  1462. X *            is in front of all other windows.  It will not de-iconify
  1463. X *            a widget in order to display it, (yet).
  1464. X */
  1465. X#define RaiseWidget(w) XRaiseWindow(XtDisplay(w),XtWindow(w))
  1466. X
  1467. X
  1468. X/* forever() -- A cute little thang... */
  1469. X#define forever() while(1)
  1470. X
  1471. X
  1472. X/* end of macros.h */
  1473. X
  1474. END_OF_FILE
  1475. if test 2183 -ne `wc -c <'pts-1.05/xpts/macros.h'`; then
  1476.     echo shar: \"'pts-1.05/xpts/macros.h'\" unpacked with wrong size!
  1477. fi
  1478. # end of 'pts-1.05/xpts/macros.h'
  1479. fi
  1480. if test -f 'pts-1.05/xpts/misc.h' -a "${1}" != "-c" ; then 
  1481.   echo shar: Will not clobber existing file \"'pts-1.05/xpts/misc.h'\"
  1482. else
  1483. echo shar: Extracting \"'pts-1.05/xpts/misc.h'\" \(2647 characters\)
  1484. sed "s/^X//" >'pts-1.05/xpts/misc.h' <<'END_OF_FILE'
  1485. X/*
  1486. X * misc.h -- Function prototypes for misc.c.
  1487. X * Dean Collins -- Mon Feb  8 21:17:40 PST 1993
  1488. X */
  1489. X
  1490. X/*
  1491. X * Copyright (c) 1992,1993 Dean Collins.
  1492. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  1493. X * 
  1494. X * Permission to use, copy, modify, and distribute this software and its
  1495. X * documentation free of charge for any purpose is hereby granted without
  1496. X * fee, provided that the above copyright notices appear in all copies and
  1497. X * that both those copyright notices and this permission notice appear in
  1498. X * supporting documentation, and that neither the name of the University of
  1499. X * Idaho nor the name of Dean Collins be used in advertising or publicity
  1500. X * pertaining to distribution of the software without specific, written
  1501. X * prior permission from both parties.  Neither The University of Idaho
  1502. X * nor Dean Collins make any representations about the suitability of
  1503. X * this software for any purpose.  It is provided "as is" without express
  1504. X * or implied warranty.
  1505. X * 
  1506. X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
  1507. X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
  1508. X * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
  1509. X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
  1510. X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  1511. X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
  1512. X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
  1513. X * THIS SOFTWARE.
  1514. X */
  1515. X
  1516. X
  1517. Xvoid    ChangeList(String type, int item, int flag, XtPointer client_data) ;
  1518. Xvoid    DoDeleteProblem(Widget w, XtPointer client_data, XtPointer call_data) ;
  1519. Xvoid    DoMoveProblem1 (Widget w, XtPointer client_data, XtPointer call_data) ;
  1520. Xvoid    DoMoveProblem2 (Widget w, XtPointer client_data, XtPointer call_data) ;
  1521. Xvoid    GotoProblemType(Widget w, XtPointer client_data, XtPointer call_data) ;
  1522. XXtActionProc NoOp(void) ;
  1523. Xvoid    Syntax(XtAppContext app_con, char *call) ;
  1524. Xvoid    AllocProblemItems(void) ;
  1525. Xvoid    FreeItems(char **Items, int MaxItems) ;
  1526. Xvoid    AppMainLoop(XtAppContext app_con) ;
  1527. Xvoid    PrintNewProblemLabel(void) ;
  1528. Xint    LockedProblem(int newflag) ;
  1529. Xint    PTS_XIOErrorHandler(Display *display) ;
  1530. Xint    PTS_XErrorHandler(Display *dpy, XErrorEvent *event) ;
  1531. Xint    XPrintDefaultError(Display *dpy, XErrorEvent *event, FILE *fp) ;
  1532. Xint    ReadList(Widget popup, Widget probViewer) ;
  1533. Xvoid    ShutDownDB(int AllowPopups) ;
  1534. Xint    SuperWarningPopup(String name, Widget parent, String message) ;
  1535. Xint     SuperWarningTrue (Widget w, XtPointer client_data, XtPointer call_data);
  1536. Xint     SuperWarningFalse(Widget w, XtPointer client_data, XtPointer call_data);
  1537. X
  1538. X/* end of misc.h */
  1539. END_OF_FILE
  1540. if test 2647 -ne `wc -c <'pts-1.05/xpts/misc.h'`; then
  1541.     echo shar: \"'pts-1.05/xpts/misc.h'\" unpacked with wrong size!
  1542. fi
  1543. # end of 'pts-1.05/xpts/misc.h'
  1544. fi
  1545. if test -f 'pts-1.05/xpts/signal.h' -a "${1}" != "-c" ; then 
  1546.   echo shar: Will not clobber existing file \"'pts-1.05/xpts/signal.h'\"
  1547. else
  1548. echo shar: Extracting \"'pts-1.05/xpts/signal.h'\" \(2211 characters\)
  1549. sed "s/^X//" >'pts-1.05/xpts/signal.h' <<'END_OF_FILE'
  1550. X/*
  1551. X * signal.h -- Function prototypes for signal.c.
  1552. X * Dean Collins -- Mon Feb  8 21:17:40 PST 1993
  1553. X */
  1554. X
  1555. X/*
  1556. X * Copyright (c) 1992,1993 Dean Collins.
  1557. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  1558. X * 
  1559. X * Permission to use, copy, modify, and distribute this software and its
  1560. X * documentation free of charge for any purpose is hereby granted without
  1561. X * fee, provided that the above copyright notices appear in all copies and
  1562. X * that both those copyright notices and this permission notice appear in
  1563. X * supporting documentation, and that neither the name of the University of
  1564. X * Idaho nor the name of Dean Collins be used in advertising or publicity
  1565. X * pertaining to distribution of the software without specific, written
  1566. X * prior permission from both parties.  Neither The University of Idaho
  1567. X * nor Dean Collins make any representations about the suitability of
  1568. X * this software for any purpose.  It is provided "as is" without express
  1569. X * or implied warranty.
  1570. X * 
  1571. X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
  1572. X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
  1573. X * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
  1574. X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
  1575. X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  1576. X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
  1577. X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
  1578. X * THIS SOFTWARE.
  1579. X */
  1580. X
  1581. X
  1582. X
  1583. X/*-------------------- Function Prototypes: --------------------*/
  1584. X#ifdef XPTS
  1585. X
  1586. X#ifndef NOSIGNALS
  1587. X
  1588. X/* If your system requires that signal handlers be defined of a type
  1589. X * other than void, include -DSIGHANDLER=xxx in OS_DEFINES in ../Imake.config.
  1590. X * This is needed on some (all?) Linux versions, which require signal
  1591. X * handlers be of type __sighandler_t rather than void.
  1592. X */
  1593. X#ifndef SIGHANDLER
  1594. X#define SIGHANDLER void
  1595. X#endif /*!SIGHANDLER*/
  1596. X
  1597. X
  1598. Xvoid    InitSignalHandler(void) ;
  1599. XSIGHANDLER XSignalHandler(int Signal) ;
  1600. Xvoid    DoSignal(int Signal) ;
  1601. Xchar    *signalstr(int Signal) ;
  1602. Xvoid    SuperErrorSelect (Widget w, XtPointer client_data, XtPointer call_data);
  1603. X
  1604. X#endif /* NOSIGNALS */
  1605. X
  1606. X#endif
  1607. X
  1608. X/* end of signal.h */
  1609. END_OF_FILE
  1610. if test 2211 -ne `wc -c <'pts-1.05/xpts/signal.h'`; then
  1611.     echo shar: \"'pts-1.05/xpts/signal.h'\" unpacked with wrong size!
  1612. fi
  1613. # end of 'pts-1.05/xpts/signal.h'
  1614. fi
  1615. if test -f 'pts-1.05/xpts/types.h' -a "${1}" != "-c" ; then 
  1616.   echo shar: Will not clobber existing file \"'pts-1.05/xpts/types.h'\"
  1617. else
  1618. echo shar: Extracting \"'pts-1.05/xpts/types.h'\" \(1925 characters\)
  1619. sed "s/^X//" >'pts-1.05/xpts/types.h' <<'END_OF_FILE'
  1620. X/*
  1621. X * types.h -- Type definitions for X interface to the Problem
  1622. X * Tracking System (PTS) database.
  1623. X * Dean Collins -- Mon Feb  8 21:36:52 PST 1993
  1624. X */
  1625. X
  1626. X/*
  1627. X * Copyright (c) 1992,1993 Dean Collins.
  1628. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  1629. X * 
  1630. X * Permission to use, copy, modify, and distribute this software and its
  1631. X * documentation free of charge for any purpose is hereby granted without
  1632. X * fee, provided that the above copyright notices appear in all copies and
  1633. X * that both those copyright notices and this permission notice appear in
  1634. X * supporting documentation, and that neither the name of the University of
  1635. X * Idaho nor the name of Dean Collins be used in advertising or publicity
  1636. X * pertaining to distribution of the software without specific, written
  1637. X * prior permission from both parties.  Neither The University of Idaho
  1638. X * nor Dean Collins make any representations about the suitability of
  1639. X * this software for any purpose.  It is provided "as is" without express
  1640. X * or implied warranty.
  1641. X * 
  1642. X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
  1643. X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
  1644. X * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
  1645. X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
  1646. X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  1647. X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
  1648. X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
  1649. X * THIS SOFTWARE.
  1650. X */
  1651. X
  1652. X
  1653. X      /* Pretty generic definitions, used in various places.
  1654. X       */
  1655. Xtypedef int bool ;
  1656. X
  1657. X
  1658. X/* See signal.c for an explanation of NOSIGNALS */
  1659. X#ifndef NOSIGNALS
  1660. X
  1661. Xtypedef struct 
  1662. X{  int count ;
  1663. X   int signal ;
  1664. X   int type ;   /* USERSIG=user interrupts, SYSSIG=system interrupts */
  1665. X} SigType ;
  1666. X
  1667. X#define USERSIG 1
  1668. X#define SYSSIG 2
  1669. X
  1670. X#endif /*NOSIGNALS*/
  1671. X
  1672. X/* end of types.h */
  1673. X
  1674. END_OF_FILE
  1675. if test 1925 -ne `wc -c <'pts-1.05/xpts/types.h'`; then
  1676.     echo shar: \"'pts-1.05/xpts/types.h'\" unpacked with wrong size!
  1677. fi
  1678. # end of 'pts-1.05/xpts/types.h'
  1679. fi
  1680. if test -f 'pts-1.05/xpts/xpts.xbm' -a "${1}" != "-c" ; then 
  1681.   echo shar: Will not clobber existing file \"'pts-1.05/xpts/xpts.xbm'\"
  1682. else
  1683. echo shar: Extracting \"'pts-1.05/xpts/xpts.xbm'\" \(1889 characters\)
  1684. sed "s/^X//" >'pts-1.05/xpts/xpts.xbm' <<'END_OF_FILE'
  1685. X#define batsignal_width 48
  1686. X#define batsignal_height 48
  1687. Xstatic char batsignal_bits[] = {
  1688. X   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0xff, 0xff,
  1689. X   0xff, 0xff, 0x0f, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x03, 0x00, 0xe0, 0xff,
  1690. X   0xff, 0xff, 0x00, 0x00, 0x80, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xff,
  1691. X   0xff, 0x3f, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xfc,
  1692. X   0xff, 0x0f, 0x00, 0x41, 0x00, 0xf8, 0xff, 0x07, 0x00, 0x41, 0x00, 0xf0,
  1693. X   0xff, 0x03, 0x00, 0x41, 0x00, 0xf0, 0xff, 0x01, 0x00, 0x63, 0x00, 0xe0,
  1694. X   0xff, 0x22, 0x00, 0x7f, 0x00, 0xe2, 0x7f, 0x61, 0x00, 0x7f, 0x00, 0xc3,
  1695. X   0xff, 0xf0, 0x00, 0x7f, 0xc0, 0xc7, 0x7f, 0xf1, 0xf3, 0xff, 0xf3, 0xc7,
  1696. X   0xbf, 0xf8, 0xff, 0xff, 0xff, 0x8f, 0x5f, 0xf8, 0xff, 0xff, 0xff, 0x8f,
  1697. X   0xbf, 0xfc, 0xff, 0xff, 0xff, 0x9f, 0x5f, 0xfc, 0xff, 0xff, 0xff, 0x9f,
  1698. X   0xaf, 0xfc, 0xff, 0xff, 0xff, 0x9f, 0x57, 0xfc, 0xff, 0xff, 0xff, 0x9f,
  1699. X   0xaf, 0xfc, 0xff, 0xff, 0xff, 0x9f, 0x57, 0xf8, 0xff, 0xff, 0xff, 0x8f,
  1700. X   0xab, 0xf8, 0xff, 0xff, 0xff, 0xcf, 0x55, 0xf9, 0x3c, 0x3e, 0x9e, 0xcf,
  1701. X   0xaa, 0xf0, 0x18, 0x3e, 0x8c, 0xc7, 0x55, 0x71, 0x08, 0x1c, 0x08, 0xe7,
  1702. X   0xaa, 0x62, 0x00, 0x1c, 0x00, 0xe3, 0x55, 0x61, 0x00, 0x1c, 0x00, 0xf3,
  1703. X   0xaa, 0xc2, 0x00, 0x1c, 0x80, 0xf1, 0x55, 0x85, 0x00, 0x08, 0x80, 0xf0,
  1704. X   0xaa, 0x0a, 0x00, 0x08, 0x00, 0xf8, 0x55, 0x15, 0x00, 0x08, 0x00, 0xfc,
  1705. X   0xaa, 0x2a, 0x00, 0x08, 0x00, 0xfe, 0x55, 0x55, 0x00, 0x00, 0x00, 0xff,
  1706. X   0xaa, 0xaa, 0x00, 0x00, 0x80, 0xff, 0x55, 0x55, 0x05, 0x00, 0xc0, 0xff,
  1707. X   0xaa, 0xaa, 0x2a, 0x00, 0xe8, 0xff, 0x55, 0x55, 0x55, 0x55, 0xf5, 0xff,
  1708. X   0xaa, 0xaa, 0xaa, 0xaa, 0xfa, 0xff, 0x55, 0x55, 0x55, 0x55, 0xfd, 0xff,
  1709. X   0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0x55, 0x55, 0x55, 0xd5, 0xff, 0xff,
  1710. X   0xaa, 0xaa, 0xaa, 0xea, 0xff, 0xff, 0x55, 0x55, 0x55, 0xfd, 0xff, 0xff,
  1711. X   0xaa, 0xaa, 0xaa, 0xfe, 0xff, 0xff, 0x55, 0x55, 0x55, 0xff, 0xff, 0xff};
  1712. END_OF_FILE
  1713. if test 1889 -ne `wc -c <'pts-1.05/xpts/xpts.xbm'`; then
  1714.     echo shar: \"'pts-1.05/xpts/xpts.xbm'\" unpacked with wrong size!
  1715. fi
  1716. # end of 'pts-1.05/xpts/xpts.xbm'
  1717. fi
  1718. if test -f 'pts-1.05/xpts/xpts.xbm.old2' -a "${1}" != "-c" ; then 
  1719.   echo shar: Will not clobber existing file \"'pts-1.05/xpts/xpts.xbm.old2'\"
  1720. else
  1721. echo shar: Extracting \"'pts-1.05/xpts/xpts.xbm.old2'\" \(1874 characters\)
  1722. sed "s/^X//" >'pts-1.05/xpts/xpts.xbm.old2' <<'END_OF_FILE'
  1723. X#define xpts_width 48
  1724. X#define xpts_height 48
  1725. Xstatic char xpts_bits[] = {
  1726. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1727. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1728. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1729. X   0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
  1730. X   0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00,
  1731. X   0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
  1732. X   0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
  1733. X   0x46, 0x07, 0x0c, 0x00, 0x00, 0x00, 0xc6, 0x01, 0x0c, 0x00, 0x00, 0x00,
  1734. X   0xc6, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xc6, 0x70, 0x0c, 0x00, 0x00, 0x00,
  1735. X   0xc6, 0xd8, 0x0c, 0x06, 0x00, 0x00, 0xc0, 0xd8, 0x0c, 0x06, 0x00, 0x00,
  1736. X   0x00, 0xd8, 0x3c, 0x06, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x06, 0x00, 0x00,
  1737. X   0x0e, 0x70, 0x6c, 0x06, 0x00, 0x00, 0x38, 0x00, 0x6c, 0x06, 0x00, 0x00,
  1738. X   0xe0, 0x00, 0x6c, 0x06, 0x00, 0x00, 0x80, 0x03, 0x3c, 0x06, 0x00, 0x00,
  1739. X   0x00, 0x0e, 0x00, 0xc6, 0x01, 0x60, 0x00, 0x38, 0x00, 0x66, 0x03, 0x60,
  1740. X   0x00, 0xe0, 0x00, 0xe6, 0x03, 0xf0, 0xe0, 0x80, 0x03, 0x66, 0x30, 0xf3,
  1741. X   0x80, 0x03, 0x0e, 0x60, 0x38, 0xf7, 0x00, 0x0e, 0x38, 0xc0, 0xd9, 0xf6,
  1742. X   0x00, 0x38, 0xe0, 0x00, 0xd8, 0xf6, 0x00, 0xe0, 0x80, 0x03, 0x18, 0xf6,
  1743. X   0x00, 0x80, 0x03, 0x0e, 0x18, 0x66, 0x00, 0x00, 0x0e, 0x38, 0x00, 0x60,
  1744. X   0x00, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x80, 0x03, 0x60,
  1745. X   0x00, 0x00, 0x80, 0x03, 0x0e, 0x60, 0x00, 0x00, 0x00, 0x0e, 0x38, 0x00,
  1746. X   0x00, 0x00, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1747. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1748. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  1749. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  1750. END_OF_FILE
  1751. if test 1874 -ne `wc -c <'pts-1.05/xpts/xpts.xbm.old2'`; then
  1752.     echo shar: \"'pts-1.05/xpts/xpts.xbm.old2'\" unpacked with wrong size!
  1753. fi
  1754. # end of 'pts-1.05/xpts/xpts.xbm.old2'
  1755. fi
  1756. if test -f 'pts-1.05/zdbm/Imakefile' -a "${1}" != "-c" ; then 
  1757.   echo shar: Will not clobber existing file \"'pts-1.05/zdbm/Imakefile'\"
  1758. else
  1759. echo shar: Extracting \"'pts-1.05/zdbm/Imakefile'\" \(2576 characters\)
  1760. sed "s/^X//" >'pts-1.05/zdbm/Imakefile' <<'END_OF_FILE'
  1761. X######################################################################
  1762. X# 
  1763. X# Imakefile -- Imake rules for the zdbm database library.
  1764. X# Dean Collins, Thu Jul 30 08:43:14 PDT 1992
  1765. X#
  1766. X# Modified: Dean Collins Thu Mar 10 20:59:37 1994
  1767. X# Moved customization to ../Imake.config, which each Imakefile
  1768. X# will #include.  This eliminates the need to set CC within
  1769. X# each one.
  1770. X#
  1771. X######################################################################
  1772. X#
  1773. X# Copyright (c) 1994 Dean Collins.
  1774. X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  1775. X# 
  1776. X# Permission to use, copy, modify, and distribute this software and its
  1777. X# documentation free of charge for any purpose is hereby granted without
  1778. X# fee, provided that the above copyright notice appear in all copies and
  1779. X# that both that copyright notice and this permission notice appear in
  1780. X# supporting documentation, and that the name of the University of Idaho
  1781. X# not be used in advertising or publicity pertaining to distribution of
  1782. X# the software without specific, written prior permission.  The University
  1783. X# of Idaho makes no representations about the suitability of this software
  1784. X# for any purpose.  It is provided "as is" without express or implied warranty.
  1785. X# 
  1786. X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  1787. X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  1788. X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  1789. X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  1790. X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  1791. X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  1792. X# PERFORMANCE OF THIS SOFTWARE.
  1793. X######################################################################
  1794. X
  1795. X######################################################################
  1796. X#  YOU SHOULDN'T NEED TO MODIFY ANYTHING IN THIS FILE.
  1797. X#  All customization is now done in ../Imake.config.
  1798. X######################################################################
  1799. X
  1800. X
  1801. X#include "../Imake.config"
  1802. X
  1803. X
  1804. X#----------------------------------------------------------------------
  1805. X
  1806. X           SRCS = edit_prob.c get_prob.c move_prob.c reopen_prob.c\
  1807. X          update_prob.c zdbm_io.c
  1808. X           OBJS = edit_prob.o get_prob.o move_prob.o reopen_prob.o\
  1809. X          update_prob.o zdbm_io.o
  1810. X           HDRS = zdbm.h
  1811. X       INCLUDES = -I../util
  1812. XLOCAL_LIBRARIES = -L../util -lutil
  1813. X        DEPLIBS = ../util/libutil.a
  1814. X
  1815. XNormalLibraryTarget(zdbm,$(OBJS))
  1816. XDependTarget()
  1817. XLintTarget()
  1818. X
  1819. Xuninstall::
  1820. X
  1821. XNormalProgramTarget(t_harness2, t_harness2.o, libzdbm.a, libzdbm.a, /**/)
  1822. X
  1823. END_OF_FILE
  1824. if test 2576 -ne `wc -c <'pts-1.05/zdbm/Imakefile'`; then
  1825.     echo shar: \"'pts-1.05/zdbm/Imakefile'\" unpacked with wrong size!
  1826. fi
  1827. # end of 'pts-1.05/zdbm/Imakefile'
  1828. fi
  1829. if test -f 'pts-1.05/zdbm/addprob.c' -a "${1}" != "-c" ; then 
  1830.   echo shar: Will not clobber existing file \"'pts-1.05/zdbm/addprob.c'\"
  1831. else
  1832. echo shar: Extracting \"'pts-1.05/zdbm/addprob.c'\" \(2303 characters\)
  1833. sed "s/^X//" >'pts-1.05/zdbm/addprob.c' <<'END_OF_FILE'
  1834. X/*
  1835. X * addprob.c --
  1836. X * Chris Hyde
  1837. X * created: 
  1838. X */
  1839. X
  1840. X/*
  1841. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  1842. X *
  1843. X * Permission to use, copy, modify, and distribute this software and its
  1844. X * documentation free of charge for any purpose is hereby granted without
  1845. X * fee, provided that the above copyright notice appear in all copies and
  1846. X * that both that copyright notice and this permission notice appear in
  1847. X * supporting documentation, and that the name of the University of Idaho
  1848. X * not be used in advertising or publicity pertaining to distribution of
  1849. X * the software without specific, written prior permission.  The University
  1850. X * of Idaho makes no representations about the suitability of this software
  1851. X * for any purpose.  It is provided "as is" without express or implied warranty.
  1852. X *
  1853. X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  1854. X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  1855. X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  1856. X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  1857. X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  1858. X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  1859. X * PERFORMANCE OF THIS SOFTWARE.
  1860. X */
  1861. X
  1862. X#include <stdio.h>
  1863. X#include <string.h>
  1864. X#include <sys/types.h>
  1865. X#include <sys/stat.h>
  1866. X#include <sys/file.h>
  1867. X#include <sys/param.h>
  1868. X#include <sys/file.h>
  1869. X#include <sys/time.h>
  1870. X#include <time.h>
  1871. X#include <errno.h>
  1872. X#include <pwd.h>
  1873. X#include "zdbm.h"
  1874. X
  1875. Xmain()
  1876. X{
  1877. X char param1[81], param2[81];
  1878. X char long_string[1024], *cp;
  1879. X reporter_record rep_rec;
  1880. X
  1881. X/**********************************************************
  1882. X *
  1883. X * Code to test the add_problem() function.
  1884. X */
  1885. X
  1886. X sprintf(long_string, "This is a long string\\n\nWith interspersed newlines\\n\nUsed to test the add_problem() function\\n\n");
  1887. X printf("Short Description: ");
  1888. X gets(param1);
  1889. X printf("Db_path: ");
  1890. X gets(param2);
  1891. X
  1892. X printf("Account Name: ");
  1893. X gets(rep_rec.account_name);
  1894. X printf("Node Name: ");
  1895. X gets(rep_rec.node_name);
  1896. X printf("Time: ");
  1897. X gets(rep_rec.date_time);
  1898. X
  1899. X cp=add_problem(&rep_rec, long_string, param1, param2);
  1900. X if (cp==NULL)
  1901. X {
  1902. X    printf("DB_ERRORNO = %d is:\n", db_errorno);
  1903. X    perror(NULL);
  1904. X    exit(errno);
  1905. X }
  1906. X else
  1907. X    printf("CP = %s\n", cp);
  1908. X}
  1909. END_OF_FILE
  1910. if test 2303 -ne `wc -c <'pts-1.05/zdbm/addprob.c'`; then
  1911.     echo shar: \"'pts-1.05/zdbm/addprob.c'\" unpacked with wrong size!
  1912. fi
  1913. # end of 'pts-1.05/zdbm/addprob.c'
  1914. fi
  1915. if test -f 'pts-1.05/zdbm/delprob.c' -a "${1}" != "-c" ; then 
  1916.   echo shar: Will not clobber existing file \"'pts-1.05/zdbm/delprob.c'\"
  1917. else
  1918. echo shar: Extracting \"'pts-1.05/zdbm/delprob.c'\" \(2228 characters\)
  1919. sed "s/^X//" >'pts-1.05/zdbm/delprob.c' <<'END_OF_FILE'
  1920. X/*
  1921. X * delprob.c --
  1922. X * Chris Hyde
  1923. X * created: 
  1924. X */
  1925. X
  1926. X/*
  1927. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  1928. X *
  1929. X * Permission to use, copy, modify, and distribute this software and its
  1930. X * documentation free of charge for any purpose is hereby granted without
  1931. X * fee, provided that the above copyright notice appear in all copies and
  1932. X * that both that copyright notice and this permission notice appear in
  1933. X * supporting documentation, and that the name of the University of Idaho
  1934. X * not be used in advertising or publicity pertaining to distribution of
  1935. X * the software without specific, written prior permission.  The University
  1936. X * of Idaho makes no representations about the suitability of this software
  1937. X * for any purpose.  It is provided "as is" without express or implied warranty.
  1938. X *
  1939. X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  1940. X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  1941. X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  1942. X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  1943. X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  1944. X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  1945. X * PERFORMANCE OF THIS SOFTWARE.
  1946. X */
  1947. X
  1948. X#include <stdio.h>
  1949. X#include <string.h>
  1950. X#include <sys/types.h>
  1951. X#include <sys/stat.h>
  1952. X#include <sys/file.h>
  1953. X#include <sys/param.h>
  1954. X#include <sys/file.h>
  1955. X#include <sys/time.h>
  1956. X#include <time.h>
  1957. X#include <errno.h>
  1958. X#include <pwd.h>
  1959. X
  1960. X#include "zdbm.h"
  1961. X
  1962. Xmain(int argc, char **argv)
  1963. X{
  1964. X char ans[3];
  1965. X int err;
  1966. X
  1967. X if (argc<3)
  1968. X {
  1969. X    fprintf(stderr, "You need to specifiy a DB path and prid.\n");
  1970. X    fprintf(stderr, "EX. - delprob Help/Me 172199200000\n");
  1971. X    exit(1);
  1972. X }
  1973. X err=delete_problem(argv[1], argv[2], DELETENOTOK);
  1974. X if ((err==FAIL) && (db_errorno==ORGLINK))
  1975. X {
  1976. X    printf("Problem requested is an Original Link - Are you sure (Y/N)? ");
  1977. X    gets(ans);
  1978. X    if ((ans[0]=='Y') || (ans[0]=='y'))
  1979. X       err=delete_problem(argv[1], argv[2], DELETEOK);
  1980. X }
  1981. X if (err==FAIL)
  1982. X {
  1983. X    fprintf(stderr, "The deleteion failed - error no %d.\n", db_errorno);
  1984. X    perror(NULL);
  1985. X    exit(db_errorno);
  1986. X }
  1987. X else
  1988. X    fprintf(stderr, "The deletion suceeded.\n");
  1989. X}
  1990. END_OF_FILE
  1991. if test 2228 -ne `wc -c <'pts-1.05/zdbm/delprob.c'`; then
  1992.     echo shar: \"'pts-1.05/zdbm/delprob.c'\" unpacked with wrong size!
  1993. fi
  1994. # end of 'pts-1.05/zdbm/delprob.c'
  1995. fi
  1996. if test -f 'pts-1.05/zdbm/fcreate.c' -a "${1}" != "-c" ; then 
  1997.   echo shar: Will not clobber existing file \"'pts-1.05/zdbm/fcreate.c'\"
  1998. else
  1999. echo shar: Extracting \"'pts-1.05/zdbm/fcreate.c'\" \(1893 characters\)
  2000. sed "s/^X//" >'pts-1.05/zdbm/fcreate.c' <<'END_OF_FILE'
  2001. X/*
  2002. X * fcreate.c --
  2003. X * Chris Hyde
  2004. X * created: 
  2005. X */
  2006. X
  2007. X/*
  2008. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  2009. X *
  2010. X * Permission to use, copy, modify, and distribute this software and its
  2011. X * documentation free of charge for any purpose is hereby granted without
  2012. X * fee, provided that the above copyright notice appear in all copies and
  2013. X * that both that copyright notice and this permission notice appear in
  2014. X * supporting documentation, and that the name of the University of Idaho
  2015. X * not be used in advertising or publicity pertaining to distribution of
  2016. X * the software without specific, written prior permission.  The University
  2017. X * of Idaho makes no representations about the suitability of this software
  2018. X * for any purpose.  It is provided "as is" without express or implied warranty.
  2019. X *
  2020. X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  2021. X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  2022. X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  2023. X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  2024. X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  2025. X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  2026. X * PERFORMANCE OF THIS SOFTWARE.
  2027. X */
  2028. X
  2029. X#include <stdio.h>
  2030. X#include <string.h>
  2031. X#include <sys/types.h>
  2032. X#include <sys/stat.h>
  2033. X#include <sys/file.h>
  2034. X#include <sys/param.h>
  2035. X#include <sys/file.h>
  2036. X#include <sys/time.h>
  2037. X#include <time.h>
  2038. X#include <errno.h>
  2039. X#include <pwd.h>
  2040. X#include "zdbm.h"
  2041. X
  2042. Xmain(int argc, char **argv)
  2043. X{
  2044. X if (argc<2)
  2045. X {
  2046. X    fprintf(stderr, "You Must Give A Pathlist To Create.\n");
  2047. X    exit(1);
  2048. X }
  2049. X if (open(argv[1], O_WRONLY | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR)==NULL)
  2050. X {
  2051. X    fprintf(stderr, "Could Not Create %s.\n", argv[1]);
  2052. X    perror(NULL);
  2053. X    exit(errno);
  2054. X }
  2055. X else
  2056. X    fprintf(stderr, "%s has been created.\n", argv[1]);
  2057. X}
  2058. END_OF_FILE
  2059. if test 1893 -ne `wc -c <'pts-1.05/zdbm/fcreate.c'`; then
  2060.     echo shar: \"'pts-1.05/zdbm/fcreate.c'\" unpacked with wrong size!
  2061. fi
  2062. # end of 'pts-1.05/zdbm/fcreate.c'
  2063. fi
  2064. if test -f 'pts-1.05/zdbm/read_index.c' -a "${1}" != "-c" ; then 
  2065.   echo shar: Will not clobber existing file \"'pts-1.05/zdbm/read_index.c'\"
  2066. else
  2067. echo shar: Extracting \"'pts-1.05/zdbm/read_index.c'\" \(2402 characters\)
  2068. sed "s/^X//" >'pts-1.05/zdbm/read_index.c' <<'END_OF_FILE'
  2069. X/*
  2070. X * read_index.c -- 
  2071. X * Chris Hyde
  2072. X * created: 
  2073. X */
  2074. X
  2075. X/*
  2076. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  2077. X *
  2078. X * Permission to use, copy, modify, and distribute this software and its
  2079. X * documentation free of charge for any purpose is hereby granted without
  2080. X * fee, provided that the above copyright notice appear in all copies and
  2081. X * that both that copyright notice and this permission notice appear in
  2082. X * supporting documentation, and that the name of the University of Idaho
  2083. X * not be used in advertising or publicity pertaining to distribution of
  2084. X * the software without specific, written prior permission.  The University
  2085. X * of Idaho makes no representations about the suitability of this software
  2086. X * for any purpose.  It is provided "as is" without express or implied warranty.
  2087. X *
  2088. X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  2089. X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  2090. X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  2091. X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  2092. X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  2093. X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  2094. X * PERFORMANCE OF THIS SOFTWARE.
  2095. X */
  2096. X
  2097. X#include <stdio.h>
  2098. X#include <string.h>
  2099. X#include <sys/types.h>
  2100. X#include <sys/stat.h>
  2101. X#include <sys/file.h>
  2102. X#include <sys/param.h>
  2103. X#include <sys/file.h>
  2104. X#include <sys/time.h>
  2105. X#include <time.h>
  2106. X#include <errno.h>
  2107. X#include <pwd.h>
  2108. X
  2109. X#include "zdbm.h"
  2110. X
  2111. Xmain(int argc, char **argv)
  2112. X{
  2113. X index_record index;
  2114. X FILE *index_file;
  2115. X int count=1;
  2116. X
  2117. X if (argc<2)
  2118. X {
  2119. X    fprintf(stderr, "You Must Give the Pathlist To A Problem Leaf.|n");
  2120. X    exit(1);
  2121. X }
  2122. X
  2123. X if ((index_file=open_file(argv[1], ".index",  "r", INDEX))==NULL)
  2124. X {
  2125. X    fprintf(stderr, "Could Not Open %s.\n", argv[1]);
  2126. X    exit(errno);
  2127. X }
  2128. X printf("Index records from the %s index file.\n\n", argv[1]);
  2129. X while (fread(&index, sizeof(index_record), 1, index_file)!=NULL)
  2130. X {
  2131. X    printf("Index record %d:\n", count++);
  2132. X    printf("\tPrid - %s\n\tMRD - %03d\tSF - %03d\tEF - %03d\n", index.prid, 
  2133. X        index.mrd, index.sf, index.ef);
  2134. X    printf("\tAccount_name - %s\n", index.account_name);
  2135. X    printf("\tNode_name - %s\n", index.node_name);
  2136. X    printf("\tPid - %d\n", index.pid);
  2137. X    printf("\tLn_prid - %s\n\tSD - %s\n\tFR - %s\n\n", index.ln_prid, index.sd,
  2138. X        index.fr);
  2139. X }
  2140. X}
  2141. END_OF_FILE
  2142. if test 2402 -ne `wc -c <'pts-1.05/zdbm/read_index.c'`; then
  2143.     echo shar: \"'pts-1.05/zdbm/read_index.c'\" unpacked with wrong size!
  2144. fi
  2145. # end of 'pts-1.05/zdbm/read_index.c'
  2146. fi
  2147. if test -f 'pts-1.05/zdbm/read_log.c' -a "${1}" != "-c" ; then 
  2148.   echo shar: Will not clobber existing file \"'pts-1.05/zdbm/read_log.c'\"
  2149. else
  2150. echo shar: Extracting \"'pts-1.05/zdbm/read_log.c'\" \(2007 characters\)
  2151. sed "s/^X//" >'pts-1.05/zdbm/read_log.c' <<'END_OF_FILE'
  2152. X/*
  2153. X * read_log.c --
  2154. X * Chris Hyde
  2155. X * created: 
  2156. X */
  2157. X
  2158. X/*
  2159. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  2160. X *
  2161. X * Permission to use, copy, modify, and distribute this software and its
  2162. X * documentation free of charge for any purpose is hereby granted without
  2163. X * fee, provided that the above copyright notice appear in all copies and
  2164. X * that both that copyright notice and this permission notice appear in
  2165. X * supporting documentation, and that the name of the University of Idaho
  2166. X * not be used in advertising or publicity pertaining to distribution of
  2167. X * the software without specific, written prior permission.  The University
  2168. X * of Idaho makes no representations about the suitability of this software
  2169. X * for any purpose.  It is provided "as is" without express or implied warranty.
  2170. X *
  2171. X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  2172. X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  2173. X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  2174. X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  2175. X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  2176. X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  2177. X * PERFORMANCE OF THIS SOFTWARE.
  2178. X */
  2179. X
  2180. X#include <stdio.h>
  2181. X#include <string.h>
  2182. X#include <sys/types.h>
  2183. X#include <sys/stat.h>
  2184. X#include <sys/file.h>
  2185. X#include <sys/param.h>
  2186. X#include <sys/file.h>
  2187. X#include <sys/time.h>
  2188. X#include <time.h>
  2189. X#include <errno.h>
  2190. X#include <pwd.h>
  2191. X
  2192. X#include "zdbm.h"
  2193. X
  2194. Xmain(int argc, char **argv)
  2195. X{
  2196. X FILE *log_file;
  2197. X int count;
  2198. X char buffer[BUFFLEN];
  2199. X
  2200. X if (argc<2)
  2201. X {
  2202. X    printf("You Must Include The Pathlist To A Log File.\n");
  2203. X    exit(1);
  2204. X }
  2205. X
  2206. X if ((log_file=fopen(argv[1], "r"))==NULL)
  2207. X {
  2208. X    printf("Could Not Open %s.\n", argv[1]);
  2209. X    exit(errno);
  2210. X }
  2211. X printf("The contents of the %s log file.\n\n", argv[1]);
  2212. X while ((count=fread(buffer, sizeof(char), BUFFLEN-1, log_file))>0)
  2213. X {
  2214. X    buffer[count]='\0';
  2215. X    printf("%s", buffer);
  2216. X }
  2217. X}
  2218. END_OF_FILE
  2219. if test 2007 -ne `wc -c <'pts-1.05/zdbm/read_log.c'`; then
  2220.     echo shar: \"'pts-1.05/zdbm/read_log.c'\" unpacked with wrong size!
  2221. fi
  2222. # end of 'pts-1.05/zdbm/read_log.c'
  2223. fi
  2224. if test -f 'pts-1.05/zdbm/read_rep.c' -a "${1}" != "-c" ; then 
  2225.   echo shar: Will not clobber existing file \"'pts-1.05/zdbm/read_rep.c'\"
  2226. else
  2227. echo shar: Extracting \"'pts-1.05/zdbm/read_rep.c'\" \(2126 characters\)
  2228. sed "s/^X//" >'pts-1.05/zdbm/read_rep.c' <<'END_OF_FILE'
  2229. X/*
  2230. X * read_rep.c --
  2231. X * Chris Hyde
  2232. X * created: 
  2233. X */
  2234. X
  2235. X/*
  2236. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  2237. X *
  2238. X * Permission to use, copy, modify, and distribute this software and its
  2239. X * documentation free of charge for any purpose is hereby granted without
  2240. X * fee, provided that the above copyright notice appear in all copies and
  2241. X * that both that copyright notice and this permission notice appear in
  2242. X * supporting documentation, and that the name of the University of Idaho
  2243. X * not be used in advertising or publicity pertaining to distribution of
  2244. X * the software without specific, written prior permission.  The University
  2245. X * of Idaho makes no representations about the suitability of this software
  2246. X * for any purpose.  It is provided "as is" without express or implied warranty.
  2247. X *
  2248. X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  2249. X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  2250. X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  2251. X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  2252. X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  2253. X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  2254. X * PERFORMANCE OF THIS SOFTWARE.
  2255. X */
  2256. X
  2257. X#include <stdio.h>
  2258. X#include <string.h>
  2259. X#include <sys/types.h>
  2260. X#include <sys/stat.h>
  2261. X#include <sys/file.h>
  2262. X#include <sys/param.h>
  2263. X#include <sys/file.h>
  2264. X#include <sys/time.h>
  2265. X#include <time.h>
  2266. X#include <errno.h>
  2267. X#include <pwd.h>
  2268. X#include "zdbm.h"
  2269. X
  2270. Xmain(int argc, char **argv)
  2271. X{
  2272. X reporter_record rep_rec;
  2273. X FILE *rep_file;
  2274. X int count=1;
  2275. X
  2276. X if (argc<2)
  2277. X {
  2278. X    fprintf(stderr, "You Must Give the Pathlist To A Reporter File.\n");
  2279. X    exit(1);
  2280. X }
  2281. X
  2282. X if ((rep_file=open_file(argv[1], ".rep", "r", REP))==NULL)
  2283. X {
  2284. X    fprintf(stderr, "Could Not Open %s.\n", argv[1]);
  2285. X    exit(errno);
  2286. X }
  2287. X printf("Reporter records from the %s reporter file.\n\n", argv[1]);
  2288. X while (fread(&rep_rec, sizeof(reporter_record), 1, rep_file)!=NULL)
  2289. X    printf("Reporter record %d:\n\t%s, %s, %s\n", count++, rep_rec.account_name,
  2290. X        rep_rec.node_name, rep_rec.date_time);
  2291. X}
  2292. END_OF_FILE
  2293. if test 2126 -ne `wc -c <'pts-1.05/zdbm/read_rep.c'`; then
  2294.     echo shar: \"'pts-1.05/zdbm/read_rep.c'\" unpacked with wrong size!
  2295. fi
  2296. # end of 'pts-1.05/zdbm/read_rep.c'
  2297. fi
  2298. if test -f 'pts-1.05/zdbm/readreop.c' -a "${1}" != "-c" ; then 
  2299.   echo shar: Will not clobber existing file \"'pts-1.05/zdbm/readreop.c'\"
  2300. else
  2301. echo shar: Extracting \"'pts-1.05/zdbm/readreop.c'\" \(2348 characters\)
  2302. sed "s/^X//" >'pts-1.05/zdbm/readreop.c' <<'END_OF_FILE'
  2303. X/*
  2304. X * readreop.c -- 
  2305. X * Chris Hyde
  2306. X * created: 
  2307. X */
  2308. X
  2309. X/*
  2310. X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
  2311. X *
  2312. X * Permission to use, copy, modify, and distribute this software and its
  2313. X * documentation free of charge for any purpose is hereby granted without
  2314. X * fee, provided that the above copyright notice appear in all copies and
  2315. X * that both that copyright notice and this permission notice appear in
  2316. X * supporting documentation, and that the name of the University of Idaho
  2317. X * not be used in advertising or publicity pertaining to distribution of
  2318. X * the software without specific, written prior permission.  The University
  2319. X * of Idaho makes no representations about the suitability of this software
  2320. X * for any purpose.  It is provided "as is" without express or implied warranty.
  2321. X *
  2322. X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
  2323. X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  2324. X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
  2325. X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  2326. X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  2327. X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  2328. X * PERFORMANCE OF THIS SOFTWARE.
  2329. X */
  2330. X
  2331. X#include <stdio.h>
  2332. X#include <string.h>
  2333. X#include <sys/types.h>
  2334. X#include <sys/stat.h>
  2335. X#include <sys/file.h>
  2336. X#include <sys/param.h>
  2337. X#include <sys/file.h>
  2338. X#include <sys/time.h>
  2339. X#include <time.h>
  2340. X#include <errno.h>
  2341. X#include <pwd.h>
  2342. X#include "zdbm.h"
  2343. X
  2344. Xmain(int argc, char **argv)
  2345. X{
  2346. X index_record index;
  2347. X FILE *index_file;
  2348. X int count=1;
  2349. X long temp;
  2350. X
  2351. X if ((index_file=open_file(REOPENDIR, ".index", "r", INDEX))==NULL)
  2352. X {
  2353. X    fprintf(stderr, "Could Not Open %s.\n", argv[1]);
  2354. X    exit(errno);
  2355. X }
  2356. X fread(&temp, sizeof(long), 1, index_file);
  2357. X printf("Index records from the Reopened index file.\n\n");
  2358. X while (fread(&index, sizeof(index_record), 1, index_file)!=NULL)
  2359. X {
  2360. X    printf("Index record %d:\n", count++);
  2361. X    printf("\tPrid - %s\n\tMRD - %03d\tSF - %03d\tEF - %03d\n", index.prid, 
  2362. X        index.mrd, index.sf, index.ef);
  2363. X    printf("\tAccount_name - %s\n", index.account_name);
  2364. X    printf("\tNode_name - %s\n", index.node_name);
  2365. X    printf("\tPid - %d\n", index.pid);
  2366. X    printf("\tLn_prid - %s\n\tSD - %s\n\tFR - %s\n\n", index.ln_prid, index.sd,
  2367. X        index.fr);
  2368. X }
  2369. X}
  2370. END_OF_FILE
  2371. if test 2348 -ne `wc -c <'pts-1.05/zdbm/readreop.c'`; then
  2372.     echo shar: \"'pts-1.05/zdbm/readreop.c'\" unpacked with wrong size!
  2373. fi
  2374. # end of 'pts-1.05/zdbm/readreop.c'
  2375. fi
  2376. echo shar: End of archive 2 \(of 16\).
  2377. cp /dev/null ark2isdone
  2378. MISSING=""
  2379. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
  2380.     if test ! -f ark${I}isdone ; then
  2381.     MISSING="${MISSING} ${I}"
  2382.     fi
  2383. done
  2384. if test "${MISSING}" = "" ; then
  2385.     echo You have unpacked all 16 archives.
  2386.     echo "\nNow execute the command 'touch pts-1.05/xpts/xpts.help' and \nread the INSTALL document.\n"
  2387.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  2388. else
  2389.     echo You still need to unpack the following archives:
  2390.     echo "        " ${MISSING}
  2391. fi
  2392. ##  End of shell archive.
  2393. exit 0
  2394.