home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso
/
altsrc
/
articles
/
10700
< prev
next >
Wrap
Internet Message Format
|
1994-06-19
|
89KB
Path: wupost!cs.utexas.edu!swrinde!news.dell.com!tadpole.com!uunet!tsw!not-for-mail
From: dean%tsw@uunet.UU.NET (Dean Collins)
Newsgroups: alt.sources
Subject: X Problem Tracking System (02/16)
Followup-To: alt.sources.d
Date: 18 Jun 1994 12:22:59 -0700
Organization: Zombie Software
Lines: 2387
Distribution: world
Message-ID: <2tvhij$q4u@hal.sea.tsw.com>
References: <2tvhif$q4k@hal.sea.tsw.com>
Reply-To: dean@halcyon.com
NNTP-Posting-Host: hal.sea.tsw.com
Archive-name: pts/part02
Submitted-by: dean@halcyon.com (Dean Collins)
Version: 1.05
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of archive 2 (of 16)."
# Contents: pts-1.05/README pts-1.05/ROADMAP pts-1.05/TODO
# pts-1.05/config/config.h pts-1.05/config/test2.cf
# pts-1.05/contrib/DANGER/Imakefile pts-1.05/contrib/Imakefile
# pts-1.05/contrib/ptsprt/cgetopts.c pts-1.05/doc/Manual/Imakefile
# pts-1.05/doc/Manual/ptsager.man pts-1.05/neb_cld/Imakefile
# pts-1.05/neb_cld/tmp.c pts-1.05/util/Imakefile
# pts-1.05/util/strerror.c pts-1.05/util/util.h pts-1.05/xpts/TODO
# pts-1.05/xpts/activate.h pts-1.05/xpts/macros.h
# pts-1.05/xpts/misc.h pts-1.05/xpts/signal.h pts-1.05/xpts/types.h
# pts-1.05/xpts/xpts.xbm pts-1.05/xpts/xpts.xbm.old2
# pts-1.05/zdbm/Imakefile pts-1.05/zdbm/addprob.c
# pts-1.05/zdbm/delprob.c pts-1.05/zdbm/fcreate.c
# pts-1.05/zdbm/read_index.c pts-1.05/zdbm/read_log.c
# pts-1.05/zdbm/read_rep.c pts-1.05/zdbm/readreop.c
# Wrapped by dean@hal on Sat Jun 18 12:08:11 1994
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'pts-1.05/README' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/README'\"
else
echo shar: Extracting \"'pts-1.05/README'\" \(1986 characters\)
sed "s/^X//" >'pts-1.05/README' <<'END_OF_FILE'
XDESCRIPTION
X-----------
XPTS is a database tool which is used to improve communication
Xbetween system users and support personnel about problems encountered
Xwith the system. It consists of several programs, including
XXpts and ptsager.
X
XIn a nutshell:
XXpts is used by system users to report problems. Support personnel
X(sysops) also use it to log their activities on solving each problem.
XXpts also sends e-mail to problem reporters when their problems are solved.
X
XPtsager scans through the database once a day and sends electronic mail
Xto certain system users about problems that have remained unsolved for
Xseveral days.
X
XWhile PTS was designed with managing a network of Unix workstations in
Xmind, it is general and versatile enough to be used in many
Xother ways. For example, at the University of Idaho, Xpts was used
Xby the design team to report problems with and take suggestions about
Xearly versions of Xpts. We are very interested in hearing about unique
Xand creative ways in which you use Xpts.
X
X
X(**See manual pages in doc/Manual. In particular, see pts.man and
XXpts.man.**)
X
X
XPTS was designed and implemented by "Zombie Software", consisting of
Xme (Dean Collins), Chris Hyde, Luke Sheneman, Brian Goff, John Hunter,
Xand Brent Heikkula. It was designed in great part on a volunteer
Xbasis for the University of Idaho Computer Science Department.
XJust what is "Zombie Software"? See pts.man.
X
XWhat is the difference between PTS and Xpts? PTS is the entire
XProblem Tracking System. Xpts is an X Windows System application
Xwhich is used to access the PTS database. PTS includes Xpts, as
Xwell as other software. However, in practice, the names are commonly
Xused interchangably. We will have to live with this confusion until
Xsomeone comes up with really clever names. Suggestions are welcome.
X("PTS" and "Xpts" contain no vowels and should therefore be pronounced
Xby spelling out their respective letters.)
X
X--
XDean Collins (dean@halcyon.com)
XFri Nov 26 17:12:24 1993
END_OF_FILE
if test 1986 -ne `wc -c <'pts-1.05/README'`; then
echo shar: \"'pts-1.05/README'\" unpacked with wrong size!
fi
# end of 'pts-1.05/README'
fi
if test -f 'pts-1.05/ROADMAP' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/ROADMAP'\"
else
echo shar: Extracting \"'pts-1.05/ROADMAP'\" \(2311 characters\)
sed "s/^X//" >'pts-1.05/ROADMAP' <<'END_OF_FILE'
XFILES
X----------------------------
XCOPYRIGHT -- Problem Tracking System (PTS) copyright notice.
XCOPYRIGHT.note -- Unofficial laymans translation of the PTS copyright.
XHISTORY -- Brief history of PTS versions.
XINSTALL -- PTS installation manual. **REQUIRED READING!**
XImakefile -- imake source file
XImakefile.common-- Common definitions for all Imakefile files. Customize this.
XMakefile -- make source file generated by imake & Imakefile
XPLATFORMS -- A list of platforms PTS has been built on.
XREADME -- Brief description of PTS. **Please read!**
XREADME2 -- Last-minute release notes. **Please read!**
XROADMAP -- This file, silly!
XTODO -- A "to-do" list for PTS. (See */TODO, too.)
Xpatchlevel.h -- Version information.
X
XDIRECTORIES
X----------------------------
Xconfig -- PTS configuration file parser
Xcontrib -- Various unsupported contributed packages/demos
Xdoc -- PTS documentation
Xneb_cld -- "The Nebulus Cloud", the high-level database interface
Xptsager -- PTS cron sub-system (problem ager/mailer)
Xutil -- Various low-level utility functions.
Xxpts -- The X Window System user-interface for PTS
Xzdbm -- The Zombie Database Manager
X
XSee README files within each directory.
X
X
X./doc:
X------
XThis directory contains most of the documentation for the Problem Tracking
XSystem. It is grouped like this:
X
XRequirements -- Software Requirements Specification
XDesign -- Software Design Document
XManual -- Manpages
XMisc -- Miscellaneous things
X
X[If not all of these directories is present, see ./doc/README.]
X
XPTS has been designed using the Iterative Waterfall Design methodology.
XFor this reason, there are several versions of the Software Requirements
XDocument and the Software Design Document. The version numbers below are
Xunrelated to the release number of PTS.
X
X./doc/Design:
X-------------
Xversion1 -- First pass, completed in the spring of 1991.
Xversion2 -- Second pass, completed the summer of 1992.
Xversion3 -- Third pass, completed in the spring of 1993.
X
XThe current version is version3.
X
X
X./doc/Requirements:
X-------------------
Xversion1 -- First pass, completed in the spring of 1991.
Xversion2 -- Second pass, completed the fall of 1991.
X
X./contrib:
X----------
Xptsprt -- PTS Print utility. NEW & untested.
Xtexttest -- Text-mode demo.
X
X--
XDean Collins
XThu Feb 3 23:01:18 PST 1994
END_OF_FILE
if test 2311 -ne `wc -c <'pts-1.05/ROADMAP'`; then
echo shar: \"'pts-1.05/ROADMAP'\" unpacked with wrong size!
fi
# end of 'pts-1.05/ROADMAP'
fi
if test -f 'pts-1.05/TODO' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/TODO'\"
else
echo shar: Extracting \"'pts-1.05/TODO'\" \(2632 characters\)
sed "s/^X//" >'pts-1.05/TODO' <<'END_OF_FILE'
XTODO list for PTS. (Personal notes...may not make sense to anyone but myself.)
X==================
X(*see also TODO lists in each subdirectory*)
X
X(TOO MANY IDEAS, NOT ENOUGH TIME!!!! :-)
X
X----------------------------------------------------------------------
X1. Better error messages! More error checking!
X
X2. <COMPLETED>
X
X3. <COMPLETED>
X
X4. <COMPLETED>
X
X5. Add networked database capabilities...Listen to a port for requests.
XCLIENT/SERVER functionality. Should be able to build server on top
Xof existing zdbm and modify existing cloud to make calls to zdbm-server
Xinstead of directly to zdbm. Maybe not really change the cloud,
Xbut just link the cloud to a different set of zdbm functions that
Xdon't really do what they're named but instead contact the server
Xand IT does the action. Major possiblilties here.
X
X6. The curses user interface. Make it so.
X
X7. MS-Windows user interface. Go for it.
X
X8. Use environment variables, particularly for the curses interface.
X Allow the database config file to be specified by env. vars.
X
X9. Allow the database config file to be specified on the command-line.
X
X10. Somehow we need to allow the config file to be re-read, for when
Xnew problem types are added to the database. (Not that critical).
X
X
X----------------------------------------------------------------------
XMAYBES:
X-------
XM1. Somehow inform sysop users which problems have been worked on since
Xtheir last xpts session. Need a ~/.xptsrc ?
X
XM2. Add a layer between the executable pts and "the cloud".
XThis layer would be whichever user interface library you want
Xto link to. The application would be the same for all
Xuser-interface libraries. May only work for similar libraries
X(ie GUI, since curses might be too different.)
X
XM3. Motif user interface. For those w/out Athena widgets.
X
X
X======================================================================
XCOMLETED: (moved from above lists after completion...)
X2. Add the ability to specifiy the top of the database in the config file.
XThis is VERY important, since it extends the usefulness of PTS to other
Xsituations. Keeping track of problems for any type of team effort,
Xsuch as a software design team. The point is that you could have multiple
XPTS databases without rebuild PTS.
X
X3. Add the ability to specify these in the config file, too, instead of
Xonly at compile time:
X print-command
X mail command
X database locaton
X
X4. Add the capability to send mail to certain users when problems IN CERTAIN
XLEAVES are over a set number of days old. For example, we might have
Xall problems in /Software/PTS-Problems be mailed to Zombie Software.
X
END_OF_FILE
if test 2632 -ne `wc -c <'pts-1.05/TODO'`; then
echo shar: \"'pts-1.05/TODO'\" unpacked with wrong size!
fi
# end of 'pts-1.05/TODO'
fi
if test -f 'pts-1.05/config/config.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/config/config.h'\"
else
echo shar: Extracting \"'pts-1.05/config/config.h'\" \(2679 characters\)
sed "s/^X//" >'pts-1.05/config/config.h' <<'END_OF_FILE'
X/*
X * config.h -- Configuration file parser header file.
X * Dean Collins
X *
X * Modified: Dean Collins, Wed Mar 02 18:16:12 1994
X * Added PARSETEST & PARSEMISC, modified PARSE* values, and
X * added AddToSysopList() macro.
X */
X
X/*
X * Copyright (c) 1994,1992 Dean Collins.
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notices appear in all copies and
X * that both those copyright notices and this permission notice appear in
X * supporting documentation, and that neither the name of the University of
X * Idaho nor the name of Dean Collins be used in advertising or publicity
X * pertaining to distribution of the software without specific, written
X * prior permission from both parties. Neither The University of Idaho
X * nor Dean Collins make any representations about the suitability of
X * this software for any purpose. It is provided "as is" without express
X * or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
X * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
X * THIS SOFTWARE.
X */
X
X/* Where is the pts config file located? Over-ride at compile time and/or
X * in the config file.
X */
X#ifndef CONFIGFILE
X#define CONFIGFILE "/usr/local/lib/PTS/pts.cf"
X#endif
X
X/* Local defines here */
Xextern int parse_error ;
X
X/* Types of parses to do. These can be OR'd together to perform
X * multiple parses in a single pass (except for PARSETEST).
X */
X#define PARSETEST 0
X#define PARSEPATH 1
X#define PARSEMAIL 2
X#define PARSEMISC 4
X
X/* Used by InStringList() to select the search type. */
X#define EXACTCMP 1
X#define PREFIXCMP 2
X
X/* macros */
X#define AddToSysopList(name,headp) AddToStringList(name,headp)
X
X/* Prototypes */
Xint config_tree(struct Full_path **pathlist) ;
Xint config_mail(MailInfo **maillist) ;
Xint config_misc(void) ;
Xstruct Full_path *AddPath(struct Full_path *head, char *path) ;
XMailInfo *AddMail(MailInfo *head, char *username, int days,
X StringListRec *pathlist) ;
Xint AddToStringList(char *name, StringListRec **headp);
Xint InStringList(char *name, StringListRec *p, int type);
Xint FreeStringList(StringListRec **headp) ;
END_OF_FILE
if test 2679 -ne `wc -c <'pts-1.05/config/config.h'`; then
echo shar: \"'pts-1.05/config/config.h'\" unpacked with wrong size!
fi
# end of 'pts-1.05/config/config.h'
fi
if test -f 'pts-1.05/config/test2.cf' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/config/test2.cf'\"
else
echo shar: Extracting \"'pts-1.05/config/test2.cf'\" \(1977 characters\)
sed "s/^X//" >'pts-1.05/config/test2.cf' <<'END_OF_FILE'
X# /usr/local/lib/pts.cf
X#This is the config file for the Problem Tracking System (PTS).
X
Xdbtop: /local/PTS/DB
Xprinter: /usr/bin/lp
Xprinter_opts: -Plj -# 3 lj@blah
Xmailer: /usr/local/bin/elm
Xmailer_opts: -s
X
X#Mail list goes here...
X# account_name days_until_notified
X simon\
X 4
Xmail: dean 2 /Other, /Hey/There,/Nothing, /Hey/There
X johnd 7
X
X
Xsysops: dean simon johnd brian \
X sheneman hunter874 hyde861
Xsysops: dean2 simon2 johnd2 brian2 sheneman hunter8742 hyde8612
X
Xsysops: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
X
X# Problem types go here...
X# list leaves ONLY...
X# Case IS significant...
X
X#Don't forget to have general groups (like all the ".../Other" ones below)
X#for those square pegs that don't fit your nice round holes.
X#You'll never be able to anticipate _everything_.
X#(If you can ancicipate everything you probably don't need this software. ;-)
X
Xleaf: /Hardware/Printer
Xleaf: /Hardware/Keyboard
X/Hardware/Display
X/Hardware/Mouse
X/Hardware/Tape-Drive
Xleaf: /Hardware/Hard-Drive
X/Hardware/Other
X
X/Other
X
X/Software/Editors/vi
X/Software/Editors/Emacs
X/Software/Editors/Other
X
X/Software/Programming/C
X/Software/Programming/Pascal
X/Software/Programming/Fortran
X/Software/Programming/Scheme
X/Software/Programming/ML
X/Software/Programming/Other
X
X/Software/X-Windows-System/Usage
X/Software/X-Windows-System/Programming
X/Software/X-Windows-System/Other
X
X/Software/Network/Remote-Logins
X/Software/Network/File-Transfers
X/Software/Network/Other
X
X/Software/Modems
X
X/Software/Shell/Korn-shell(ksh)
X/Software/Shell/C-Shell(csh)
X/Software/Shell/Bourne-Shell(sh)
X/Software/Shell/Aegis
X/Software/Shell/Other
X
X/
X
X/Software/Login-Logout
X
X/Software/Mail/elm
X/Software/Mail/Mail
X/Software/Mail/mail
X/Software/Mail/mh
X/Software/Mail/xmh
X
X/Software/Mail/Software/Mail/Software/Mail/Software/Mail/Software/Mail/Software/Mail/Software/Mail/Software/Mail/Software/Mail
X
X/Software/Mail/sendmail
X/Software/Mail/Other
X
X/Software/Other
X
END_OF_FILE
if test 1977 -ne `wc -c <'pts-1.05/config/test2.cf'`; then
echo shar: \"'pts-1.05/config/test2.cf'\" unpacked with wrong size!
fi
# end of 'pts-1.05/config/test2.cf'
fi
if test -f 'pts-1.05/contrib/DANGER/Imakefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/contrib/DANGER/Imakefile'\"
else
echo shar: Extracting \"'pts-1.05/contrib/DANGER/Imakefile'\" \(2215 characters\)
sed "s/^X//" >'pts-1.05/contrib/DANGER/Imakefile' <<'END_OF_FILE'
X######################################################################
X#
X# Imakefile -- Imake rules for unlock index kludge$(PTSTOP).(grin)
X# Dean Collins, Fri Nov 13 19:46:24 PST 1992
X#
X######################################################################
X#
X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X#
X# Permission to use, copy, modify, and distribute this software and its
X# documentation free of charge for any purpose is hereby granted without
X# fee, provided that the above copyright notice appear in all copies and
X# that both that copyright notice and this permission notice appear in
X# supporting documentation, and that the name of the University of Idaho
X# not be used in advertising or publicity pertaining to distribution of
X# the software without specific, written prior permission. The University
X# of Idaho makes no representations about the suitability of this software
X# for any purpose. It is provided "as is" without express or implied warranty.
X#
X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X# PERFORMANCE OF THIS SOFTWARE.
X######################################################################
X
X
XCDEBUGFLAGS = -g -W0,-dba -DDEBUG
X
X PTSTOP = ../..
X SRCS = danger.c
X OBJS = danger.o
X HDRS = danger.h
X INCLUDES = -I$(PTSTOP)/zdbm -I$(PTSTOP)/neb_cld -I$(PTSTOP)/config
XLOCAL_LIBRARIES = -L$(PTSTOP)/zdbm -lzdbm -L$(PTSTOP)/neb_cld -lcloud -L$(PTSTOP)/config -lconfig
X DEBLIBS = $(PTSTOP)/zdbm/libzdbm.a $(PTSTOP)/neb_cld/libcloud.a $(PTSTOP)/config/libconfig.a
X
XNormalProgramTarget(danger, $(OBJS), $(DEPLIBS), $(LOCAL_LIBRARIES), /**/)
XDependTarget()
XLintTarget()
X
X/* You really shouldn't install 'danger' in BINDIR, but just in case... */
Xuninstall::
X $(RM) $(BINDIR)/danger
X @echo "uninstall in $(CURRENT_DIR) done"
X
END_OF_FILE
if test 2215 -ne `wc -c <'pts-1.05/contrib/DANGER/Imakefile'`; then
echo shar: \"'pts-1.05/contrib/DANGER/Imakefile'\" unpacked with wrong size!
fi
# end of 'pts-1.05/contrib/DANGER/Imakefile'
fi
if test -f 'pts-1.05/contrib/Imakefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/contrib/Imakefile'\"
else
echo shar: Extracting \"'pts-1.05/contrib/Imakefile'\" \(2268 characters\)
sed "s/^X//" >'pts-1.05/contrib/Imakefile' <<'END_OF_FILE'
X######################################################################
X#
X# Imakefile -- Imake rules for the contrib software.
X# Dean Collins, Mon Jun 13 21:47:21 1994
X#
X######################################################################
X#
X# Copyright (c) 1992,1993,1994 Dean Collins.
X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X#
X# Permission to use, copy, modify, and distribute this software and its
X# documentation free of charge for any purpose is hereby granted without
X# fee, provided that the above copyright notice appear in all copies and
X# that both that copyright notice and this permission notice appear in
X# supporting documentation, and that the name of the University of Idaho
X# not be used in advertising or publicity pertaining to distribution of
X# the software without specific, written prior permission. The University
X# of Idaho makes no representations about the suitability of this software
X# for any purpose. It is provided "as is" without express or implied warranty.
X#
X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X# PERFORMANCE OF THIS SOFTWARE.
X######################################################################
X
X
X
X######################################################################
X# YOU SHOULDN'T NEED TO MODIFY ANYTHING IN THIS FILE.
X# All customization is now done in Imake.config.
X######################################################################
X
X
X#include "../Imake.config"
X
X
X#######################################################################
X
X#define IHaveSubdirs
X#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
X
X/*
X * "DANGER" is left out of SUBDIRS because it is what it's name implies.
X * "texttest" is left out since it's rather crude.
X */
X
X SUBDIRS = ptsprt newprob
X
XMakeSubdirs($(SUBDIRS))
XDependSubdirs($(SUBDIRS))
X/*CleanSubdirs($(SUBDIRS))*/
XLintSubdirs($(SUBDIRS))
X
END_OF_FILE
if test 2268 -ne `wc -c <'pts-1.05/contrib/Imakefile'`; then
echo shar: \"'pts-1.05/contrib/Imakefile'\" unpacked with wrong size!
fi
# end of 'pts-1.05/contrib/Imakefile'
fi
if test -f 'pts-1.05/contrib/ptsprt/cgetopts.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/contrib/ptsprt/cgetopts.c'\"
else
echo shar: Extracting \"'pts-1.05/contrib/ptsprt/cgetopts.c'\" \(2356 characters\)
sed "s/^X//" >'pts-1.05/contrib/ptsprt/cgetopts.c' <<'END_OF_FILE'
X
X#include "cgetopts.h"
X#include <stdio.h>
X
Xstatic int extract_option(cget_opts_ptr_t get_opts, const char* format);
X
Xvoid cget_opts_init(cget_opts_t *getopts, int argc, char* argv[], char opt_char)
X{
X getopts->argv = argv;
X getopts->argc = argc;
X getopts->opt_char = opt_char;
X getopts->arg_str = NULL;
X getopts->opt_str = NULL;
X getopts->last_opt = '\0';
X} /* cget_opts_init */
X
Xint cget_opts_next(cget_opts_ptr_t get_opts, const char* format)
X{
X int ret;
X
X get_opts->arg_str = NULL;
X if ( (get_opts->opt_str == NULL)
X || (*(get_opts->opt_str) == '\0'))
X {
X if (get_opts->argc > 0)
X {
X get_opts->opt_str = *get_opts->argv;
X if (*(get_opts->opt_str) == get_opts->opt_char)
X {
X /* found an option */
X get_opts->argv++;
X get_opts->argc--;
X get_opts->opt_str++;
X ret = extract_option(get_opts, format);
X }
X else
X {
X ret = EOF;
X }
X }
X else
X {
X ret = EOF;
X }
X }
X else
X {
X ret = extract_option(get_opts, format);
X }
X return(ret);
X} /* cget_opts_next */
X
Xchar* cget_opts_next_arg(cget_opts_ptr_t get_opts)
X{
X char* ret;
X
X if (get_opts->argc > 0)
X {
X ret = *(get_opts->argv);
X get_opts->arg_str = ret;
X get_opts->argv++;
X get_opts->argc--;
X }
X else
X {
X ret = NULL;
X }
X return(ret);
X} /* cgetr_opts_next_arg */
X
Xstatic int extract_option(cget_opts_ptr_t get_opts, const char* format)
X{
X int ret;
X
X get_opts->last_opt = *get_opts->opt_str;
X while ((*format != '\0') && (*format != *(get_opts->opt_str)))
X {
X format++;
X }
X if (*format != '\0')
X {
X /* found the option */
X format++;
X ret = *(get_opts->opt_str);
X get_opts->opt_str++;
X if (*format == ':')
X {
X if (*(get_opts->opt_str) != '\0')
X {
X get_opts->arg_str = get_opts->opt_str;
X get_opts->opt_str = NULL;
X }
X else
X {
X get_opts->arg_str = cget_opts_next_arg(get_opts);
X if ( (get_opts->arg_str == NULL
X || (*(get_opts->arg_str) == get_opts->opt_char)))
X {
X ret = '?';
X }
X }
X }
X else
X {
X /* no further string required */
X }
X }
X else
X {
X ret = '?';
X get_opts->opt_str++;
X }
X return(ret);
X} /* extract_option */
X
X
X
X
X
X
X
X
X
X
END_OF_FILE
if test 2356 -ne `wc -c <'pts-1.05/contrib/ptsprt/cgetopts.c'`; then
echo shar: \"'pts-1.05/contrib/ptsprt/cgetopts.c'\" unpacked with wrong size!
fi
# end of 'pts-1.05/contrib/ptsprt/cgetopts.c'
fi
if test -f 'pts-1.05/doc/Manual/Imakefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/doc/Manual/Imakefile'\"
else
echo shar: Extracting \"'pts-1.05/doc/Manual/Imakefile'\" \(2543 characters\)
sed "s/^X//" >'pts-1.05/doc/Manual/Imakefile' <<'END_OF_FILE'
X######################################################################
X#
X# Imakefile -- Imake rules for the manual pages.
X# Dean Collins, Thu Jul 30 08:33:47 PDT 1992
X#
X######################################################################
X#
X# Copyright (c) 1993,1992 Dean Collins.
X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X#
X# Permission to use, copy, modify, and distribute this software and its
X# documentation free of charge for any purpose is hereby granted without
X# fee, provided that the above copyright notice appear in all copies and
X# that both that copyright notice and this permission notice appear in
X# supporting documentation, and that the name of the University of Idaho
X# not be used in advertising or publicity pertaining to distribution of
X# the software without specific, written prior permission. The University
X# of Idaho makes no representations about the suitability of this software
X# for any purpose. It is provided "as is" without express or implied warranty.
X#
X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X# PERFORMANCE OF THIS SOFTWARE.
X######################################################################
X
XROFF = nroff -man
X#ROFF = groff -Tascii -man
XROFFPS = groff -Tps -man
X
XMANPAGES = pts.cf.man pts.man ptsager.man xpts.man zdbm.man newprob.man
X
Xall:
X
Xdepend:
X
Xinstall::
X
XInstallManPage(xpts,$(MANDIR))
XInstallManPage(pts,$(MANDIR))
XInstallManPage(pts.cf,$(MANDIR))
XInstallManPage(ptsager,$(MANDIR))
XInstallManPage(zdbm,$(MANDIR))
XInstallManPage(newprob,$(MANDIR))
X
Xuninstall::
X $(RM) $(MANDIR)/xpts.ManSuffix \
X $(MANDIR)/pts.ManSuffix \
X $(MANDIR)/pts.cf.ManSuffix \
X $(MANDIR)/ptsager.ManSuffix \
X $(MANDIR)/zdbm.ManSuffix \
X $(MANDIR)/newprob.ManSuffix
X @echo "uninstall in $(CURRENT_DIR) done"
X
X# You may find the following rules useful. Or not. "Your milage may vary..."
Xps:
X for i in $(MANPAGES) ;\
X do \
X (echo $$i.ps; $(ROFFPS) $$i >$$i.ps;) ; \
X done
X
Xps.Z: ps
X for i in $(MANPAGES) ;\
X do \
X (compress -fv $$i.ps;) ; \
X done
X
Xtxt:
X for i in $(MANPAGES) ;\
X do \
X (x=`basename $$i .man`.txt; echo $$x; $(ROFF) $$i >$$x;) ; \
X done
X
END_OF_FILE
if test 2543 -ne `wc -c <'pts-1.05/doc/Manual/Imakefile'`; then
echo shar: \"'pts-1.05/doc/Manual/Imakefile'\" unpacked with wrong size!
fi
# end of 'pts-1.05/doc/Manual/Imakefile'
fi
if test -f 'pts-1.05/doc/Manual/ptsager.man' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/doc/Manual/ptsager.man'\"
else
echo shar: Extracting \"'pts-1.05/doc/Manual/ptsager.man'\" \(2379 characters\)
sed "s/^X//" >'pts-1.05/doc/Manual/ptsager.man' <<'END_OF_FILE'
X.TH ptsager 1 "16 June 1994" "Zombie Software" "PTS version 1.05"
X.SH NAME
Xptsager - Problem Tracking System problem-ager/auto-mailer.
X.SH SYNOPSIS
Xptsager
X.SH DESCRIPTION
X.I
XPtsager
Xis used to scan through the
X.I PTS
Xdatabase once a day and send electronic mail
Xto certain system users about problems that have remained unsolved for
Xseveral days.
X.PP
X.I Ptsager
Xuses information found in the
X.I pts.cf(8)
Xconfiguration file to determine who receives mail. In this file, the
Xmail list specifies a list of users. Each user is associated with an age.
XIf any unsolved problems are found in the database that are
Xthe same number of days old as an age associated with a user
Xthat user will recieve mail. These mail messages list
Xthe problem summary (the one-line description) and the
Xlocation in the PTS problem tree (the leaf) where the problem
Xis located for each problem of the appropriate age.
X.PP
X.I Ptsager
Xmust be executed by the owner of the
X.I PTS
Xdatabase, usually "support". Executing
X.I Ptsager
Xas the user "root" is strongly discouraged.
X.SH USAGE
XThe
X.I ptsager
Xprogram should be executed nightly by support via cron.
X
XOn most BSD-like systems you can put something like this in the
Xsystem-wide crontab file to accomplish this task:
X.sp 1
X 30 3 * * * support /usr/local/bin/ptsager
X.sp 1
XOn most System V-like systems you can put something like this
Xin the crontab file for the support account:
X.sp 1
X 30 3 * * * /usr/local/bin/ptsager
X.sp 1
XSee cron(1) or crontab(1) for cron usage on your system.
X.PP
XThe support account can also run ptsager at the command-line
Xif necessary. However, running ptsager more than once a day
Xwill result in multiple reports being mailed each user
Xin the mail list.
X
X
X.SH FILES
X/usr/local/lib/PTS --
X.I PTS
Xlibrary files.
X.br
X/usr/local/lib/PTS/pts.cf --
X.I PTS
Xconfiguration file.
X.br
X/usr/local/lib/PTS/DB --
X.I PTS
Xdatabase.
X.br
X.SH SEE ALSO
Xxpts(1), pts.cf(8), zdbm(3), pts(1), newprob(1),
Xcron(1), crontab(1).
X.SH AUTHORS
XThe Problem Tracking System was originally designed by
X.I Zombie Software
Xat the University of Idaho.
X.I ptsager
Xwas designed and implemented by Brian Goff and Dean Collins.
XSee pts(1) for more information.
X
X.sp 1
X.SH COPYRIGHT
XCopyright (c) 1994,1993,1992 Dean Collins, Chris Hyde, Luke Sheneman,
XBrian Goff, and John Hunter.
X.br
XCopyright (c) 1992 University of Idaho, Moscow, Idaho.
X
END_OF_FILE
if test 2379 -ne `wc -c <'pts-1.05/doc/Manual/ptsager.man'`; then
echo shar: \"'pts-1.05/doc/Manual/ptsager.man'\" unpacked with wrong size!
fi
# end of 'pts-1.05/doc/Manual/ptsager.man'
fi
if test -f 'pts-1.05/neb_cld/Imakefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/neb_cld/Imakefile'\"
else
echo shar: Extracting \"'pts-1.05/neb_cld/Imakefile'\" \(2765 characters\)
sed "s/^X//" >'pts-1.05/neb_cld/Imakefile' <<'END_OF_FILE'
X######################################################################
X#
X# Imakefile -- Imake rules for the high-level database interface.
X# Dean Collins, Thu Jul 30 08:57:33 PDT 1992
X#
X# This is an Imakefile for the "Cloud" portion of the ZOMBIE software
X# Problem Tracking System (PTS). The routines here will be used as an
X# interface to the zdbm database routines. Sheneman 061592
X#
X# Modified: Dean Collins Thu Mar 10 20:51:15 1994
X# Moved customization to ../Imake.config, which each Imakefile
X# will #include. This eliminates the need to set CC within
X# each one.
X#
X######################################################################
X#
X# Copyright (c) 1994 Dean Collins.
X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X#
X# Permission to use, copy, modify, and distribute this software and its
X# documentation free of charge for any purpose is hereby granted without
X# fee, provided that the above copyright notice appear in all copies and
X# that both that copyright notice and this permission notice appear in
X# supporting documentation, and that the name of the University of Idaho
X# not be used in advertising or publicity pertaining to distribution of
X# the software without specific, written prior permission. The University
X# of Idaho makes no representations about the suitability of this software
X# for any purpose. It is provided "as is" without express or implied warranty.
X#
X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X# PERFORMANCE OF THIS SOFTWARE.
X######################################################################
X
X######################################################################
X# YOU SHOULDN'T NEED TO MODIFY ANYTHING IN THIS FILE.
X# All customization is now done in ../Imake.config.
X######################################################################
X
X
X#include "../Imake.config"
X
X
X#----------------------------------------------------------------------
X
X SRCS = setup.c summaries.c problems.c tester.c subtree.c \
X clouderror.c
X OBJS = setup.o summaries.o problems.o tester.o subtree.o \
X clouderror.o
X HDRS = cloud.h clouderror.h
X INCLUDES = -I../zdbm -I../util
XLOCAL_LIBRARIES = -L../zdbm -lzdbm -L../util -lutil
X DEPLIBS = ../zdbm/libzdbm.a ../util/libutil.a
X
X
XNormalLibraryTarget(cloud,$(OBJS))
XDependTarget()
XLintTarget()
X
Xuninstall::
X
END_OF_FILE
if test 2765 -ne `wc -c <'pts-1.05/neb_cld/Imakefile'`; then
echo shar: \"'pts-1.05/neb_cld/Imakefile'\" unpacked with wrong size!
fi
# end of 'pts-1.05/neb_cld/Imakefile'
fi
if test -f 'pts-1.05/neb_cld/tmp.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/neb_cld/tmp.c'\"
else
echo shar: Extracting \"'pts-1.05/neb_cld/tmp.c'\" \(2051 characters\)
sed "s/^X//" >'pts-1.05/neb_cld/tmp.c' <<'END_OF_FILE'
X/* Author: Luke Sheneman */
X
X/*
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notice appear in all copies and
X * that both that copyright notice and this permission notice appear in
X * supporting documentation, and that the name of the University of Idaho
X * not be used in advertising or publicity pertaining to distribution of
X * the software without specific, written prior permission. The University
X * of Idaho makes no representations about the suitability of this software
X * for any purpose. It is provided "as is" without express or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X/* These functions are marginally useful for debugging purposes only. These
X functions are not necessary for the normal operation of the PTS system,
X but can provide help in the case of debugging.
X*/
X
X/* tester.c provides definitions for the following functions:
X *
X * TraverseList() - Traverses a linked list of Full_path structures.
X */
X
X
X#define NUMPATHS 6
X
X#include <stdio.h>
X#include "zdbm.h"
X#include "cloud.h"
X#include "clouderror.h"
X
X
Xvoid TraverseList(path)
Xstruct Full_path *path;
X{
X struct Full_path *t;
X
X cld_errno=0;
X
X t=path;
X
X#ifdef DEBUG
X printf("\n");
X#endif /* DEBUG */
X
X while(t)
X {
X
X#ifdef DEBUG
X printf("TraverseList() - %s\n",t->path);
X#else
X printf("%s\n", t->path) ;
X#endif /* DEBUG */
X
X t=t->next;
X }
X
X#ifdef DEBUG
X printf("\n");
X#endif /* DEBUG */
X
X}
X
END_OF_FILE
if test 2051 -ne `wc -c <'pts-1.05/neb_cld/tmp.c'`; then
echo shar: \"'pts-1.05/neb_cld/tmp.c'\" unpacked with wrong size!
fi
# end of 'pts-1.05/neb_cld/tmp.c'
fi
if test -f 'pts-1.05/util/Imakefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/util/Imakefile'\"
else
echo shar: Extracting \"'pts-1.05/util/Imakefile'\" \(2236 characters\)
sed "s/^X//" >'pts-1.05/util/Imakefile' <<'END_OF_FILE'
X######################################################################
X#
X# Imakefile -- Imake rules for several low-level utilities used by
X# all parts of PTS.
X# Dean Collins, Fri Mar 11 14:13:58 1994
X#
X######################################################################
X#
X# Copyright (c) 1994 Dean Collins.
X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X#
X# Permission to use, copy, modify, and distribute this software and its
X# documentation free of charge for any purpose is hereby granted without
X# fee, provided that the above copyright notice appear in all copies and
X# that both that copyright notice and this permission notice appear in
X# supporting documentation, and that the name of the University of Idaho
X# not be used in advertising or publicity pertaining to distribution of
X# the software without specific, written prior permission. The University
X# of Idaho makes no representations about the suitability of this software
X# for any purpose. It is provided "as is" without express or implied warranty.
X#
X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X# PERFORMANCE OF THIS SOFTWARE.
X######################################################################
X
X######################################################################
X# YOU SHOULDN'T NEED TO MODIFY ANYTHING IN THIS FILE.
X# All customization is now done in ../Imake.config.
X######################################################################
X
X
X#include "../Imake.config"
X
X
X#----------------------------------------------------------------------
X
X SRCS = str.c sendmail.c writebuf.c $(MISSING_SRCS)
X OBJS = str.o sendmail.o writebuf.o $(MISSING_OBJS)
X HDRS = util.h
X INCLUDES =
XLOCAL_LIBRARIES =
X DEPLIBS =
X
X
XNormalLibraryTarget(util,$(OBJS))
XDependTarget()
XLintTarget()
X
Xuninstall::
X
END_OF_FILE
if test 2236 -ne `wc -c <'pts-1.05/util/Imakefile'`; then
echo shar: \"'pts-1.05/util/Imakefile'\" unpacked with wrong size!
fi
# end of 'pts-1.05/util/Imakefile'
fi
if test -f 'pts-1.05/util/strerror.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/util/strerror.c'\"
else
echo shar: Extracting \"'pts-1.05/util/strerror.c'\" \(2566 characters\)
sed "s/^X//" >'pts-1.05/util/strerror.c' <<'END_OF_FILE'
X/*
X * Copyright (c) 1988 Regents of the University of California.
X * All rights reserved.
X *
X * Redistribution and use in source and binary forms, with or without
X * modification, are permitted provided that the following conditions
X * are met:
X * 1. Redistributions of source code must retain the above copyright
X * notice, this list of conditions and the following disclaimer.
X * 2. Redistributions in binary form must reproduce the above copyright
X * notice, this list of conditions and the following disclaimer in the
X * documentation and/or other materials provided with the distribution.
X * 3. All advertising materials mentioning features or use of this software
X * must display the following acknowledgement:
X * This product includes software developed by the University of
X * California, Berkeley and its contributors.
X * 4. Neither the name of the University nor the names of its contributors
X * may be used to endorse or promote products derived from this software
X * without specific prior written permission.
X *
X * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
X * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
X * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
X * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
X * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
X * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
X * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
X * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
X * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
X * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
X * SUCH DAMAGE.
X */
X
X#if defined(LIBC_SCCS) && !defined(lint)
Xstatic char sccsid[] = "@(#)strerror.c 5.6 (Berkeley) 5/4/91";
X#endif /* LIBC_SCCS and not lint */
X
X#include <string.h>
X
Xchar *
Xstrerror(num)
X int num;
X{
X extern int sys_nerr;
X extern char *sys_errlist[];
X#define UPREFIX "Unknown error: "
X static char ebuf[40] = UPREFIX; /* 64-bit number + slop */
X register unsigned int errnum;
X register char *p, *t;
X char tmp[40];
X
X errnum = num; /* convert to unsigned */
X if (errnum < sys_nerr)
X return(sys_errlist[errnum]);
X
X /* Do this by hand, so we don't include stdio(3). */
X t = tmp;
X do {
X *t++ = "0123456789"[errnum % 10];
X } while (errnum /= 10);
X for (p = ebuf + sizeof(UPREFIX) - 1;;) {
X *p++ = *--t;
X if (t <= tmp)
X break;
X }
X return(ebuf);
X}
END_OF_FILE
if test 2566 -ne `wc -c <'pts-1.05/util/strerror.c'`; then
echo shar: \"'pts-1.05/util/strerror.c'\" unpacked with wrong size!
fi
# end of 'pts-1.05/util/strerror.c'
fi
if test -f 'pts-1.05/util/util.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/util/util.h'\"
else
echo shar: Extracting \"'pts-1.05/util/util.h'\" \(2443 characters\)
sed "s/^X//" >'pts-1.05/util/util.h' <<'END_OF_FILE'
X/* util.h -- Several low-level utilities.
X *
X * Created: Dean Collins Fri Mar 11 14:16:07 1994
X *
X * Copyright (c) 1994 Luke Sheneman.
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notice appear in all copies and
X * that both that copyright notice and this permission notice appear in
X * supporting documentation, and that the name of the University of Idaho
X * not be used in advertising or publicity pertaining to distribution of
X * the software without specific, written prior permission. The University
X * of Idaho makes no representations about the suitability of this software
X * for any purpose. It is provided "as is" without express or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X /* Make sure this is only included once. */
X#ifndef UTIL_INCLUDED
X#define UTIL_INCLUDED
X
X
X/********************** Prototypes for str.c ********************************/
X
Xchar *FixStr(char *str) ;
Xchar *StripLeading(char *str) ;
Xchar *StripTrailing(char *str) ;
X
X/******************* Prototypes for various .c files **********************/
X
Xint SendMail(char *Prog, char *Opts, char *Subject, /* sendmail.c */
X char *User, char *Host, char *Filename);
Xint WriteBuf(int fd, char *buf, int count) ; /* writebuf.c */
X
X
X#ifdef NEED_STRERROR
Xchar *strerror(int num) ; /* strerror.c */
X#endif
X
X#ifdef NEED_STRFTIME
Xint strftime(char *s, size_t maxsize, const char *format,
X const struct tm *timeptr); /* strftime.c */
X#endif
X
X#ifdef NEED_TRUNCATE
Xint truncate(char *filenam, char *filesize); /* truncate.c */
X#endif
X
X/* HP-UX 9.x uses setresuid() instead of seteuid(). */
X#ifdef __hppa
X# define SETEUID(u) setresuid(-1,(u),-1)
X#else /*not defined __hppa*/
X# define SETEUID(u) seteuid(u)
X#endif /* __hppa */
X
X
X#endif /*UTIL_INCLUDED*/
X/* end of util.h */
END_OF_FILE
if test 2443 -ne `wc -c <'pts-1.05/util/util.h'`; then
echo shar: \"'pts-1.05/util/util.h'\" unpacked with wrong size!
fi
# end of 'pts-1.05/util/util.h'
fi
if test -f 'pts-1.05/xpts/TODO' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/xpts/TODO'\"
else
echo shar: Extracting \"'pts-1.05/xpts/TODO'\" \(2837 characters\)
sed "s/^X//" >'pts-1.05/xpts/TODO' <<'END_OF_FILE'
XTODO list for xpts. (Personal notes...may not make sense to anyone but myself.)
X==================
X
XShort-range goals:
X-----------------
Xget rid of tmpstr[] arrays; change to char *, use malloc instead.
X
XDo more length checking on strings.
X
X
XLonger-range goals:
X------------------
XX11R6. Ensure compatability.
X
XMake ChangeList() scroll the list to the top whenever the list is changed.
X
XGet rid of the stupid globals!!!!! I hate globals!!!!
X
XCome up with a new widget for a problem. It would include the current problem
Xviewer, as well as the functions that are performed on the problem.
X
XAllow multiple problems to be viewed/edited at the same time. (Re-entrant code?)
X
XBreak some the functions that have grown excessivly long into several, smaller
Xpieces.
X
XHave 'return' key default to one of the buttons on each window.
X
XAdd dialog widget to pickProblem that shows current path.
X
XThe Problem Summaries list and the Unsolved Summaries List popups need
Xto have a "rescan" button. Especially unsolvedPopup.
X
XHelp screens for every screen would be SIMPLE. The help button
Xshould be in the lower right-hand corner of each window.
X
XMake signals cause their popup to happen immediatly and not wait for the
Xnext event to display their window.
X
XUse X resources for more things, such as the MOTD file name.
X
XDeal with non-existant help-files (rather than aborting.)
X
XDifferentiate between activate.c and select.c functions better.
XProbably need to rename some functions.
X
XAllow for users of varying experience levels. Especially, we need
Xto get rid of some of the warnings for experienced sysops.
XThings to screen out include the printer notice and the solved notice.
X
XChange the xpts icon when a new problem is reported (like xbiff).
X
X
XMAYBES:
X-------
XSomehow inform sysop users which problems have been worked on since
Xtheir last xpts session. Need a ~/.xptsrc ?
X
XAllow arrow keys (and other keys?) to have reasonable meanings in each window.
X
XMake all xpts window iconify when one is iconified. (See xv for an example?)
X
XChange the cursor into an hour-glass (or something) when xpts is busy and
Xnot accepting user input.
X
XHave TAB key move current window field to the next.
X
XSomehow allow users to request new problem leaves. A suggestion box?
X
X
XDONE: (Moved from above lists when completed)
X-----
XReading the unsolved summaries is rather slow, and will get slower as the
Xdatabase gets larger. It needs to be optimized, and the number of calls
Xto it need to be limited, if possible. Possible optimizations include:
X
X a. Having get_problem() return the filename of the log, not the log.
X This was considered at one time, but not done for other reasons.
X
X b. Allow an entry in the unsolved list to be removed from the list
X without regenerating the entire list.
X
X (THANKS CHRIS!)
X
X--
XDean Collins
XFri Feb 4 18:11:46 PST 1994
END_OF_FILE
if test 2837 -ne `wc -c <'pts-1.05/xpts/TODO'`; then
echo shar: \"'pts-1.05/xpts/TODO'\" unpacked with wrong size!
fi
# end of 'pts-1.05/xpts/TODO'
fi
if test -f 'pts-1.05/xpts/activate.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/xpts/activate.h'\"
else
echo shar: Extracting \"'pts-1.05/xpts/activate.h'\" \(1998 characters\)
sed "s/^X//" >'pts-1.05/xpts/activate.h' <<'END_OF_FILE'
X/*
X * activate.h -- Function prototypes activate.c for the X interface to
X * the Problem Tracking System (PTS) database.
X * Dean Collins -- Mon Feb 8 21:17:40 PST 1993
X */
X
X/*
X * Copyright (c) 1992,1993 Dean Collins.
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notices appear in all copies and
X * that both those copyright notices and this permission notice appear in
X * supporting documentation, and that neither the name of the University of
X * Idaho nor the name of Dean Collins be used in advertising or publicity
X * pertaining to distribution of the software without specific, written
X * prior permission from both parties. Neither The University of Idaho
X * nor Dean Collins make any representations about the suitability of
X * this software for any purpose. It is provided "as is" without express
X * or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
X * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
X * THIS SOFTWARE.
X */
X
X
X
Xvoid ButtonActivate (Widget w, XtPointer client_data, XtPointer call_data);
Xvoid MainMenuActivate (Widget w, XtPointer client_data, XtPointer call_data);
Xvoid PickProblemActivate(Widget w, XtPointer client_data, XtPointer call_data);
Xvoid SysopMenuActivate (Widget w, XtPointer client_data, XtPointer call_data);
Xvoid ViewProblemActivate(Widget w, XtPointer client_data, XtPointer call_data);
X
X/* end of activate.h */
END_OF_FILE
if test 1998 -ne `wc -c <'pts-1.05/xpts/activate.h'`; then
echo shar: \"'pts-1.05/xpts/activate.h'\" unpacked with wrong size!
fi
# end of 'pts-1.05/xpts/activate.h'
fi
if test -f 'pts-1.05/xpts/macros.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/xpts/macros.h'\"
else
echo shar: Extracting \"'pts-1.05/xpts/macros.h'\" \(2183 characters\)
sed "s/^X//" >'pts-1.05/xpts/macros.h' <<'END_OF_FILE'
X/*
X * macros.h -- X interface to the Problem Tracking System (PTS) database.
X * Dean Collins -- Tue Mar 24 12:39:39 PST 1992
X */
X
X/*
X * Copyright (c) 1992,1993 Dean Collins.
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notices appear in all copies and
X * that both those copyright notices and this permission notice appear in
X * supporting documentation, and that neither the name of the University of
X * Idaho nor the name of Dean Collins be used in advertising or publicity
X * pertaining to distribution of the software without specific, written
X * prior permission from both parties. Neither The University of Idaho
X * nor Dean Collins make any representations about the suitability of
X * this software for any purpose. It is provided "as is" without express
X * or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
X * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
X * THIS SOFTWARE.
X */
X
X
X/* NoticePopup() -- This function is for important notices that the user
X * should be informed about, and that they need to
X * acknowledge. It is basically the same as the ErrorPopup().
X * The only difference comes from the X resources.
X */
X#define NoticePopup(n,p,m) ErrorPopup(n,p,m)
X
X
X/* Raisewidget() -- This function raises the specified widget so that it
X * is in front of all other windows. It will not de-iconify
X * a widget in order to display it, (yet).
X */
X#define RaiseWidget(w) XRaiseWindow(XtDisplay(w),XtWindow(w))
X
X
X/* forever() -- A cute little thang... */
X#define forever() while(1)
X
X
X/* end of macros.h */
X
END_OF_FILE
if test 2183 -ne `wc -c <'pts-1.05/xpts/macros.h'`; then
echo shar: \"'pts-1.05/xpts/macros.h'\" unpacked with wrong size!
fi
# end of 'pts-1.05/xpts/macros.h'
fi
if test -f 'pts-1.05/xpts/misc.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/xpts/misc.h'\"
else
echo shar: Extracting \"'pts-1.05/xpts/misc.h'\" \(2647 characters\)
sed "s/^X//" >'pts-1.05/xpts/misc.h' <<'END_OF_FILE'
X/*
X * misc.h -- Function prototypes for misc.c.
X * Dean Collins -- Mon Feb 8 21:17:40 PST 1993
X */
X
X/*
X * Copyright (c) 1992,1993 Dean Collins.
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notices appear in all copies and
X * that both those copyright notices and this permission notice appear in
X * supporting documentation, and that neither the name of the University of
X * Idaho nor the name of Dean Collins be used in advertising or publicity
X * pertaining to distribution of the software without specific, written
X * prior permission from both parties. Neither The University of Idaho
X * nor Dean Collins make any representations about the suitability of
X * this software for any purpose. It is provided "as is" without express
X * or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
X * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
X * THIS SOFTWARE.
X */
X
X
Xvoid ChangeList(String type, int item, int flag, XtPointer client_data) ;
Xvoid DoDeleteProblem(Widget w, XtPointer client_data, XtPointer call_data) ;
Xvoid DoMoveProblem1 (Widget w, XtPointer client_data, XtPointer call_data) ;
Xvoid DoMoveProblem2 (Widget w, XtPointer client_data, XtPointer call_data) ;
Xvoid GotoProblemType(Widget w, XtPointer client_data, XtPointer call_data) ;
XXtActionProc NoOp(void) ;
Xvoid Syntax(XtAppContext app_con, char *call) ;
Xvoid AllocProblemItems(void) ;
Xvoid FreeItems(char **Items, int MaxItems) ;
Xvoid AppMainLoop(XtAppContext app_con) ;
Xvoid PrintNewProblemLabel(void) ;
Xint LockedProblem(int newflag) ;
Xint PTS_XIOErrorHandler(Display *display) ;
Xint PTS_XErrorHandler(Display *dpy, XErrorEvent *event) ;
Xint XPrintDefaultError(Display *dpy, XErrorEvent *event, FILE *fp) ;
Xint ReadList(Widget popup, Widget probViewer) ;
Xvoid ShutDownDB(int AllowPopups) ;
Xint SuperWarningPopup(String name, Widget parent, String message) ;
Xint SuperWarningTrue (Widget w, XtPointer client_data, XtPointer call_data);
Xint SuperWarningFalse(Widget w, XtPointer client_data, XtPointer call_data);
X
X/* end of misc.h */
END_OF_FILE
if test 2647 -ne `wc -c <'pts-1.05/xpts/misc.h'`; then
echo shar: \"'pts-1.05/xpts/misc.h'\" unpacked with wrong size!
fi
# end of 'pts-1.05/xpts/misc.h'
fi
if test -f 'pts-1.05/xpts/signal.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/xpts/signal.h'\"
else
echo shar: Extracting \"'pts-1.05/xpts/signal.h'\" \(2211 characters\)
sed "s/^X//" >'pts-1.05/xpts/signal.h' <<'END_OF_FILE'
X/*
X * signal.h -- Function prototypes for signal.c.
X * Dean Collins -- Mon Feb 8 21:17:40 PST 1993
X */
X
X/*
X * Copyright (c) 1992,1993 Dean Collins.
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notices appear in all copies and
X * that both those copyright notices and this permission notice appear in
X * supporting documentation, and that neither the name of the University of
X * Idaho nor the name of Dean Collins be used in advertising or publicity
X * pertaining to distribution of the software without specific, written
X * prior permission from both parties. Neither The University of Idaho
X * nor Dean Collins make any representations about the suitability of
X * this software for any purpose. It is provided "as is" without express
X * or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
X * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
X * THIS SOFTWARE.
X */
X
X
X
X/*-------------------- Function Prototypes: --------------------*/
X#ifdef XPTS
X
X#ifndef NOSIGNALS
X
X/* If your system requires that signal handlers be defined of a type
X * other than void, include -DSIGHANDLER=xxx in OS_DEFINES in ../Imake.config.
X * This is needed on some (all?) Linux versions, which require signal
X * handlers be of type __sighandler_t rather than void.
X */
X#ifndef SIGHANDLER
X#define SIGHANDLER void
X#endif /*!SIGHANDLER*/
X
X
Xvoid InitSignalHandler(void) ;
XSIGHANDLER XSignalHandler(int Signal) ;
Xvoid DoSignal(int Signal) ;
Xchar *signalstr(int Signal) ;
Xvoid SuperErrorSelect (Widget w, XtPointer client_data, XtPointer call_data);
X
X#endif /* NOSIGNALS */
X
X#endif
X
X/* end of signal.h */
END_OF_FILE
if test 2211 -ne `wc -c <'pts-1.05/xpts/signal.h'`; then
echo shar: \"'pts-1.05/xpts/signal.h'\" unpacked with wrong size!
fi
# end of 'pts-1.05/xpts/signal.h'
fi
if test -f 'pts-1.05/xpts/types.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/xpts/types.h'\"
else
echo shar: Extracting \"'pts-1.05/xpts/types.h'\" \(1925 characters\)
sed "s/^X//" >'pts-1.05/xpts/types.h' <<'END_OF_FILE'
X/*
X * types.h -- Type definitions for X interface to the Problem
X * Tracking System (PTS) database.
X * Dean Collins -- Mon Feb 8 21:36:52 PST 1993
X */
X
X/*
X * Copyright (c) 1992,1993 Dean Collins.
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notices appear in all copies and
X * that both those copyright notices and this permission notice appear in
X * supporting documentation, and that neither the name of the University of
X * Idaho nor the name of Dean Collins be used in advertising or publicity
X * pertaining to distribution of the software without specific, written
X * prior permission from both parties. Neither The University of Idaho
X * nor Dean Collins make any representations about the suitability of
X * this software for any purpose. It is provided "as is" without express
X * or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO AND DEAN COLLINS DISCLAIM ALL WARRANTIES WITH
X * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
X * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE UNIVERSITY OF IDAHO
X * OR DEAN COLLINS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
X * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
X * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
X * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
X * THIS SOFTWARE.
X */
X
X
X /* Pretty generic definitions, used in various places.
X */
Xtypedef int bool ;
X
X
X/* See signal.c for an explanation of NOSIGNALS */
X#ifndef NOSIGNALS
X
Xtypedef struct
X{ int count ;
X int signal ;
X int type ; /* USERSIG=user interrupts, SYSSIG=system interrupts */
X} SigType ;
X
X#define USERSIG 1
X#define SYSSIG 2
X
X#endif /*NOSIGNALS*/
X
X/* end of types.h */
X
END_OF_FILE
if test 1925 -ne `wc -c <'pts-1.05/xpts/types.h'`; then
echo shar: \"'pts-1.05/xpts/types.h'\" unpacked with wrong size!
fi
# end of 'pts-1.05/xpts/types.h'
fi
if test -f 'pts-1.05/xpts/xpts.xbm' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/xpts/xpts.xbm'\"
else
echo shar: Extracting \"'pts-1.05/xpts/xpts.xbm'\" \(1889 characters\)
sed "s/^X//" >'pts-1.05/xpts/xpts.xbm' <<'END_OF_FILE'
X#define batsignal_width 48
X#define batsignal_height 48
Xstatic char batsignal_bits[] = {
X 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0xff, 0xff,
X 0xff, 0xff, 0x0f, 0x00, 0xf8, 0xff, 0xff, 0xff, 0x03, 0x00, 0xe0, 0xff,
X 0xff, 0xff, 0x00, 0x00, 0x80, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xff,
X 0xff, 0x3f, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xfc,
X 0xff, 0x0f, 0x00, 0x41, 0x00, 0xf8, 0xff, 0x07, 0x00, 0x41, 0x00, 0xf0,
X 0xff, 0x03, 0x00, 0x41, 0x00, 0xf0, 0xff, 0x01, 0x00, 0x63, 0x00, 0xe0,
X 0xff, 0x22, 0x00, 0x7f, 0x00, 0xe2, 0x7f, 0x61, 0x00, 0x7f, 0x00, 0xc3,
X 0xff, 0xf0, 0x00, 0x7f, 0xc0, 0xc7, 0x7f, 0xf1, 0xf3, 0xff, 0xf3, 0xc7,
X 0xbf, 0xf8, 0xff, 0xff, 0xff, 0x8f, 0x5f, 0xf8, 0xff, 0xff, 0xff, 0x8f,
X 0xbf, 0xfc, 0xff, 0xff, 0xff, 0x9f, 0x5f, 0xfc, 0xff, 0xff, 0xff, 0x9f,
X 0xaf, 0xfc, 0xff, 0xff, 0xff, 0x9f, 0x57, 0xfc, 0xff, 0xff, 0xff, 0x9f,
X 0xaf, 0xfc, 0xff, 0xff, 0xff, 0x9f, 0x57, 0xf8, 0xff, 0xff, 0xff, 0x8f,
X 0xab, 0xf8, 0xff, 0xff, 0xff, 0xcf, 0x55, 0xf9, 0x3c, 0x3e, 0x9e, 0xcf,
X 0xaa, 0xf0, 0x18, 0x3e, 0x8c, 0xc7, 0x55, 0x71, 0x08, 0x1c, 0x08, 0xe7,
X 0xaa, 0x62, 0x00, 0x1c, 0x00, 0xe3, 0x55, 0x61, 0x00, 0x1c, 0x00, 0xf3,
X 0xaa, 0xc2, 0x00, 0x1c, 0x80, 0xf1, 0x55, 0x85, 0x00, 0x08, 0x80, 0xf0,
X 0xaa, 0x0a, 0x00, 0x08, 0x00, 0xf8, 0x55, 0x15, 0x00, 0x08, 0x00, 0xfc,
X 0xaa, 0x2a, 0x00, 0x08, 0x00, 0xfe, 0x55, 0x55, 0x00, 0x00, 0x00, 0xff,
X 0xaa, 0xaa, 0x00, 0x00, 0x80, 0xff, 0x55, 0x55, 0x05, 0x00, 0xc0, 0xff,
X 0xaa, 0xaa, 0x2a, 0x00, 0xe8, 0xff, 0x55, 0x55, 0x55, 0x55, 0xf5, 0xff,
X 0xaa, 0xaa, 0xaa, 0xaa, 0xfa, 0xff, 0x55, 0x55, 0x55, 0x55, 0xfd, 0xff,
X 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0x55, 0x55, 0x55, 0xd5, 0xff, 0xff,
X 0xaa, 0xaa, 0xaa, 0xea, 0xff, 0xff, 0x55, 0x55, 0x55, 0xfd, 0xff, 0xff,
X 0xaa, 0xaa, 0xaa, 0xfe, 0xff, 0xff, 0x55, 0x55, 0x55, 0xff, 0xff, 0xff};
END_OF_FILE
if test 1889 -ne `wc -c <'pts-1.05/xpts/xpts.xbm'`; then
echo shar: \"'pts-1.05/xpts/xpts.xbm'\" unpacked with wrong size!
fi
# end of 'pts-1.05/xpts/xpts.xbm'
fi
if test -f 'pts-1.05/xpts/xpts.xbm.old2' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/xpts/xpts.xbm.old2'\"
else
echo shar: Extracting \"'pts-1.05/xpts/xpts.xbm.old2'\" \(1874 characters\)
sed "s/^X//" >'pts-1.05/xpts/xpts.xbm.old2' <<'END_OF_FILE'
X#define xpts_width 48
X#define xpts_height 48
Xstatic char xpts_bits[] = {
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
X 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00,
X 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,
X 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
X 0x46, 0x07, 0x0c, 0x00, 0x00, 0x00, 0xc6, 0x01, 0x0c, 0x00, 0x00, 0x00,
X 0xc6, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xc6, 0x70, 0x0c, 0x00, 0x00, 0x00,
X 0xc6, 0xd8, 0x0c, 0x06, 0x00, 0x00, 0xc0, 0xd8, 0x0c, 0x06, 0x00, 0x00,
X 0x00, 0xd8, 0x3c, 0x06, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x06, 0x00, 0x00,
X 0x0e, 0x70, 0x6c, 0x06, 0x00, 0x00, 0x38, 0x00, 0x6c, 0x06, 0x00, 0x00,
X 0xe0, 0x00, 0x6c, 0x06, 0x00, 0x00, 0x80, 0x03, 0x3c, 0x06, 0x00, 0x00,
X 0x00, 0x0e, 0x00, 0xc6, 0x01, 0x60, 0x00, 0x38, 0x00, 0x66, 0x03, 0x60,
X 0x00, 0xe0, 0x00, 0xe6, 0x03, 0xf0, 0xe0, 0x80, 0x03, 0x66, 0x30, 0xf3,
X 0x80, 0x03, 0x0e, 0x60, 0x38, 0xf7, 0x00, 0x0e, 0x38, 0xc0, 0xd9, 0xf6,
X 0x00, 0x38, 0xe0, 0x00, 0xd8, 0xf6, 0x00, 0xe0, 0x80, 0x03, 0x18, 0xf6,
X 0x00, 0x80, 0x03, 0x0e, 0x18, 0x66, 0x00, 0x00, 0x0e, 0x38, 0x00, 0x60,
X 0x00, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x80, 0x03, 0x60,
X 0x00, 0x00, 0x80, 0x03, 0x0e, 0x60, 0x00, 0x00, 0x00, 0x0e, 0x38, 0x00,
X 0x00, 0x00, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
END_OF_FILE
if test 1874 -ne `wc -c <'pts-1.05/xpts/xpts.xbm.old2'`; then
echo shar: \"'pts-1.05/xpts/xpts.xbm.old2'\" unpacked with wrong size!
fi
# end of 'pts-1.05/xpts/xpts.xbm.old2'
fi
if test -f 'pts-1.05/zdbm/Imakefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/zdbm/Imakefile'\"
else
echo shar: Extracting \"'pts-1.05/zdbm/Imakefile'\" \(2576 characters\)
sed "s/^X//" >'pts-1.05/zdbm/Imakefile' <<'END_OF_FILE'
X######################################################################
X#
X# Imakefile -- Imake rules for the zdbm database library.
X# Dean Collins, Thu Jul 30 08:43:14 PDT 1992
X#
X# Modified: Dean Collins Thu Mar 10 20:59:37 1994
X# Moved customization to ../Imake.config, which each Imakefile
X# will #include. This eliminates the need to set CC within
X# each one.
X#
X######################################################################
X#
X# Copyright (c) 1994 Dean Collins.
X# Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X#
X# Permission to use, copy, modify, and distribute this software and its
X# documentation free of charge for any purpose is hereby granted without
X# fee, provided that the above copyright notice appear in all copies and
X# that both that copyright notice and this permission notice appear in
X# supporting documentation, and that the name of the University of Idaho
X# not be used in advertising or publicity pertaining to distribution of
X# the software without specific, written prior permission. The University
X# of Idaho makes no representations about the suitability of this software
X# for any purpose. It is provided "as is" without express or implied warranty.
X#
X# THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X# SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X# IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X# PERFORMANCE OF THIS SOFTWARE.
X######################################################################
X
X######################################################################
X# YOU SHOULDN'T NEED TO MODIFY ANYTHING IN THIS FILE.
X# All customization is now done in ../Imake.config.
X######################################################################
X
X
X#include "../Imake.config"
X
X
X#----------------------------------------------------------------------
X
X SRCS = edit_prob.c get_prob.c move_prob.c reopen_prob.c\
X update_prob.c zdbm_io.c
X OBJS = edit_prob.o get_prob.o move_prob.o reopen_prob.o\
X update_prob.o zdbm_io.o
X HDRS = zdbm.h
X INCLUDES = -I../util
XLOCAL_LIBRARIES = -L../util -lutil
X DEPLIBS = ../util/libutil.a
X
XNormalLibraryTarget(zdbm,$(OBJS))
XDependTarget()
XLintTarget()
X
Xuninstall::
X
XNormalProgramTarget(t_harness2, t_harness2.o, libzdbm.a, libzdbm.a, /**/)
X
END_OF_FILE
if test 2576 -ne `wc -c <'pts-1.05/zdbm/Imakefile'`; then
echo shar: \"'pts-1.05/zdbm/Imakefile'\" unpacked with wrong size!
fi
# end of 'pts-1.05/zdbm/Imakefile'
fi
if test -f 'pts-1.05/zdbm/addprob.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/zdbm/addprob.c'\"
else
echo shar: Extracting \"'pts-1.05/zdbm/addprob.c'\" \(2303 characters\)
sed "s/^X//" >'pts-1.05/zdbm/addprob.c' <<'END_OF_FILE'
X/*
X * addprob.c --
X * Chris Hyde
X * created:
X */
X
X/*
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notice appear in all copies and
X * that both that copyright notice and this permission notice appear in
X * supporting documentation, and that the name of the University of Idaho
X * not be used in advertising or publicity pertaining to distribution of
X * the software without specific, written prior permission. The University
X * of Idaho makes no representations about the suitability of this software
X * for any purpose. It is provided "as is" without express or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X#include <stdio.h>
X#include <string.h>
X#include <sys/types.h>
X#include <sys/stat.h>
X#include <sys/file.h>
X#include <sys/param.h>
X#include <sys/file.h>
X#include <sys/time.h>
X#include <time.h>
X#include <errno.h>
X#include <pwd.h>
X#include "zdbm.h"
X
Xmain()
X{
X char param1[81], param2[81];
X char long_string[1024], *cp;
X reporter_record rep_rec;
X
X/**********************************************************
X *
X * Code to test the add_problem() function.
X */
X
X sprintf(long_string, "This is a long string\\n\nWith interspersed newlines\\n\nUsed to test the add_problem() function\\n\n");
X
X printf("Short Description: ");
X gets(param1);
X printf("Db_path: ");
X gets(param2);
X
X printf("Account Name: ");
X gets(rep_rec.account_name);
X printf("Node Name: ");
X gets(rep_rec.node_name);
X printf("Time: ");
X gets(rep_rec.date_time);
X
X cp=add_problem(&rep_rec, long_string, param1, param2);
X if (cp==NULL)
X {
X printf("DB_ERRORNO = %d is:\n", db_errorno);
X perror(NULL);
X exit(errno);
X }
X else
X printf("CP = %s\n", cp);
X}
END_OF_FILE
if test 2303 -ne `wc -c <'pts-1.05/zdbm/addprob.c'`; then
echo shar: \"'pts-1.05/zdbm/addprob.c'\" unpacked with wrong size!
fi
# end of 'pts-1.05/zdbm/addprob.c'
fi
if test -f 'pts-1.05/zdbm/delprob.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/zdbm/delprob.c'\"
else
echo shar: Extracting \"'pts-1.05/zdbm/delprob.c'\" \(2228 characters\)
sed "s/^X//" >'pts-1.05/zdbm/delprob.c' <<'END_OF_FILE'
X/*
X * delprob.c --
X * Chris Hyde
X * created:
X */
X
X/*
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notice appear in all copies and
X * that both that copyright notice and this permission notice appear in
X * supporting documentation, and that the name of the University of Idaho
X * not be used in advertising or publicity pertaining to distribution of
X * the software without specific, written prior permission. The University
X * of Idaho makes no representations about the suitability of this software
X * for any purpose. It is provided "as is" without express or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X#include <stdio.h>
X#include <string.h>
X#include <sys/types.h>
X#include <sys/stat.h>
X#include <sys/file.h>
X#include <sys/param.h>
X#include <sys/file.h>
X#include <sys/time.h>
X#include <time.h>
X#include <errno.h>
X#include <pwd.h>
X
X#include "zdbm.h"
X
Xmain(int argc, char **argv)
X{
X char ans[3];
X int err;
X
X if (argc<3)
X {
X fprintf(stderr, "You need to specifiy a DB path and prid.\n");
X fprintf(stderr, "EX. - delprob Help/Me 172199200000\n");
X exit(1);
X }
X
X err=delete_problem(argv[1], argv[2], DELETENOTOK);
X if ((err==FAIL) && (db_errorno==ORGLINK))
X {
X printf("Problem requested is an Original Link - Are you sure (Y/N)? ");
X gets(ans);
X if ((ans[0]=='Y') || (ans[0]=='y'))
X err=delete_problem(argv[1], argv[2], DELETEOK);
X }
X if (err==FAIL)
X {
X fprintf(stderr, "The deleteion failed - error no %d.\n", db_errorno);
X perror(NULL);
X exit(db_errorno);
X }
X else
X fprintf(stderr, "The deletion suceeded.\n");
X}
END_OF_FILE
if test 2228 -ne `wc -c <'pts-1.05/zdbm/delprob.c'`; then
echo shar: \"'pts-1.05/zdbm/delprob.c'\" unpacked with wrong size!
fi
# end of 'pts-1.05/zdbm/delprob.c'
fi
if test -f 'pts-1.05/zdbm/fcreate.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/zdbm/fcreate.c'\"
else
echo shar: Extracting \"'pts-1.05/zdbm/fcreate.c'\" \(1893 characters\)
sed "s/^X//" >'pts-1.05/zdbm/fcreate.c' <<'END_OF_FILE'
X/*
X * fcreate.c --
X * Chris Hyde
X * created:
X */
X
X/*
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notice appear in all copies and
X * that both that copyright notice and this permission notice appear in
X * supporting documentation, and that the name of the University of Idaho
X * not be used in advertising or publicity pertaining to distribution of
X * the software without specific, written prior permission. The University
X * of Idaho makes no representations about the suitability of this software
X * for any purpose. It is provided "as is" without express or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X#include <stdio.h>
X#include <string.h>
X#include <sys/types.h>
X#include <sys/stat.h>
X#include <sys/file.h>
X#include <sys/param.h>
X#include <sys/file.h>
X#include <sys/time.h>
X#include <time.h>
X#include <errno.h>
X#include <pwd.h>
X#include "zdbm.h"
X
Xmain(int argc, char **argv)
X{
X
X if (argc<2)
X {
X fprintf(stderr, "You Must Give A Pathlist To Create.\n");
X exit(1);
X }
X if (open(argv[1], O_WRONLY | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR)==NULL)
X {
X fprintf(stderr, "Could Not Create %s.\n", argv[1]);
X perror(NULL);
X exit(errno);
X }
X else
X fprintf(stderr, "%s has been created.\n", argv[1]);
X}
X
END_OF_FILE
if test 1893 -ne `wc -c <'pts-1.05/zdbm/fcreate.c'`; then
echo shar: \"'pts-1.05/zdbm/fcreate.c'\" unpacked with wrong size!
fi
# end of 'pts-1.05/zdbm/fcreate.c'
fi
if test -f 'pts-1.05/zdbm/read_index.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/zdbm/read_index.c'\"
else
echo shar: Extracting \"'pts-1.05/zdbm/read_index.c'\" \(2402 characters\)
sed "s/^X//" >'pts-1.05/zdbm/read_index.c' <<'END_OF_FILE'
X/*
X * read_index.c --
X * Chris Hyde
X * created:
X */
X
X/*
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notice appear in all copies and
X * that both that copyright notice and this permission notice appear in
X * supporting documentation, and that the name of the University of Idaho
X * not be used in advertising or publicity pertaining to distribution of
X * the software without specific, written prior permission. The University
X * of Idaho makes no representations about the suitability of this software
X * for any purpose. It is provided "as is" without express or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X#include <stdio.h>
X#include <string.h>
X#include <sys/types.h>
X#include <sys/stat.h>
X#include <sys/file.h>
X#include <sys/param.h>
X#include <sys/file.h>
X#include <sys/time.h>
X#include <time.h>
X#include <errno.h>
X#include <pwd.h>
X
X#include "zdbm.h"
X
Xmain(int argc, char **argv)
X{
X index_record index;
X FILE *index_file;
X int count=1;
X
X if (argc<2)
X {
X fprintf(stderr, "You Must Give the Pathlist To A Problem Leaf.|n");
X exit(1);
X }
X
X if ((index_file=open_file(argv[1], ".index", "r", INDEX))==NULL)
X {
X fprintf(stderr, "Could Not Open %s.\n", argv[1]);
X exit(errno);
X }
X printf("Index records from the %s index file.\n\n", argv[1]);
X while (fread(&index, sizeof(index_record), 1, index_file)!=NULL)
X {
X printf("Index record %d:\n", count++);
X printf("\tPrid - %s\n\tMRD - %03d\tSF - %03d\tEF - %03d\n", index.prid,
X index.mrd, index.sf, index.ef);
X printf("\tAccount_name - %s\n", index.account_name);
X printf("\tNode_name - %s\n", index.node_name);
X printf("\tPid - %d\n", index.pid);
X printf("\tLn_prid - %s\n\tSD - %s\n\tFR - %s\n\n", index.ln_prid, index.sd,
X index.fr);
X }
X}
X
END_OF_FILE
if test 2402 -ne `wc -c <'pts-1.05/zdbm/read_index.c'`; then
echo shar: \"'pts-1.05/zdbm/read_index.c'\" unpacked with wrong size!
fi
# end of 'pts-1.05/zdbm/read_index.c'
fi
if test -f 'pts-1.05/zdbm/read_log.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/zdbm/read_log.c'\"
else
echo shar: Extracting \"'pts-1.05/zdbm/read_log.c'\" \(2007 characters\)
sed "s/^X//" >'pts-1.05/zdbm/read_log.c' <<'END_OF_FILE'
X/*
X * read_log.c --
X * Chris Hyde
X * created:
X */
X
X/*
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notice appear in all copies and
X * that both that copyright notice and this permission notice appear in
X * supporting documentation, and that the name of the University of Idaho
X * not be used in advertising or publicity pertaining to distribution of
X * the software without specific, written prior permission. The University
X * of Idaho makes no representations about the suitability of this software
X * for any purpose. It is provided "as is" without express or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X#include <stdio.h>
X#include <string.h>
X#include <sys/types.h>
X#include <sys/stat.h>
X#include <sys/file.h>
X#include <sys/param.h>
X#include <sys/file.h>
X#include <sys/time.h>
X#include <time.h>
X#include <errno.h>
X#include <pwd.h>
X
X#include "zdbm.h"
X
Xmain(int argc, char **argv)
X{
X FILE *log_file;
X int count;
X char buffer[BUFFLEN];
X
X if (argc<2)
X {
X printf("You Must Include The Pathlist To A Log File.\n");
X exit(1);
X }
X
X if ((log_file=fopen(argv[1], "r"))==NULL)
X {
X printf("Could Not Open %s.\n", argv[1]);
X exit(errno);
X }
X printf("The contents of the %s log file.\n\n", argv[1]);
X while ((count=fread(buffer, sizeof(char), BUFFLEN-1, log_file))>0)
X {
X buffer[count]='\0';
X printf("%s", buffer);
X }
X}
X
END_OF_FILE
if test 2007 -ne `wc -c <'pts-1.05/zdbm/read_log.c'`; then
echo shar: \"'pts-1.05/zdbm/read_log.c'\" unpacked with wrong size!
fi
# end of 'pts-1.05/zdbm/read_log.c'
fi
if test -f 'pts-1.05/zdbm/read_rep.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/zdbm/read_rep.c'\"
else
echo shar: Extracting \"'pts-1.05/zdbm/read_rep.c'\" \(2126 characters\)
sed "s/^X//" >'pts-1.05/zdbm/read_rep.c' <<'END_OF_FILE'
X/*
X * read_rep.c --
X * Chris Hyde
X * created:
X */
X
X/*
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notice appear in all copies and
X * that both that copyright notice and this permission notice appear in
X * supporting documentation, and that the name of the University of Idaho
X * not be used in advertising or publicity pertaining to distribution of
X * the software without specific, written prior permission. The University
X * of Idaho makes no representations about the suitability of this software
X * for any purpose. It is provided "as is" without express or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X#include <stdio.h>
X#include <string.h>
X#include <sys/types.h>
X#include <sys/stat.h>
X#include <sys/file.h>
X#include <sys/param.h>
X#include <sys/file.h>
X#include <sys/time.h>
X#include <time.h>
X#include <errno.h>
X#include <pwd.h>
X#include "zdbm.h"
X
Xmain(int argc, char **argv)
X{
X reporter_record rep_rec;
X FILE *rep_file;
X int count=1;
X
X if (argc<2)
X {
X fprintf(stderr, "You Must Give the Pathlist To A Reporter File.\n");
X exit(1);
X }
X
X if ((rep_file=open_file(argv[1], ".rep", "r", REP))==NULL)
X {
X fprintf(stderr, "Could Not Open %s.\n", argv[1]);
X exit(errno);
X }
X printf("Reporter records from the %s reporter file.\n\n", argv[1]);
X while (fread(&rep_rec, sizeof(reporter_record), 1, rep_file)!=NULL)
X printf("Reporter record %d:\n\t%s, %s, %s\n", count++, rep_rec.account_name,
X rep_rec.node_name, rep_rec.date_time);
X}
X
END_OF_FILE
if test 2126 -ne `wc -c <'pts-1.05/zdbm/read_rep.c'`; then
echo shar: \"'pts-1.05/zdbm/read_rep.c'\" unpacked with wrong size!
fi
# end of 'pts-1.05/zdbm/read_rep.c'
fi
if test -f 'pts-1.05/zdbm/readreop.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'pts-1.05/zdbm/readreop.c'\"
else
echo shar: Extracting \"'pts-1.05/zdbm/readreop.c'\" \(2348 characters\)
sed "s/^X//" >'pts-1.05/zdbm/readreop.c' <<'END_OF_FILE'
X/*
X * readreop.c --
X * Chris Hyde
X * created:
X */
X
X/*
X * Copyright (c) 1992 University of Idaho, Moscow, Idaho.
X *
X * Permission to use, copy, modify, and distribute this software and its
X * documentation free of charge for any purpose is hereby granted without
X * fee, provided that the above copyright notice appear in all copies and
X * that both that copyright notice and this permission notice appear in
X * supporting documentation, and that the name of the University of Idaho
X * not be used in advertising or publicity pertaining to distribution of
X * the software without specific, written prior permission. The University
X * of Idaho makes no representations about the suitability of this software
X * for any purpose. It is provided "as is" without express or implied warranty.
X *
X * THE UNIVERSITY OF IDAHO DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
X * IN NO EVENT SHALL THE UNIVERSITY OF IDAHO BE LIABLE FOR ANY SPECIAL,
X * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
X * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
X * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X#include <stdio.h>
X#include <string.h>
X#include <sys/types.h>
X#include <sys/stat.h>
X#include <sys/file.h>
X#include <sys/param.h>
X#include <sys/file.h>
X#include <sys/time.h>
X#include <time.h>
X#include <errno.h>
X#include <pwd.h>
X#include "zdbm.h"
X
Xmain(int argc, char **argv)
X{
X index_record index;
X FILE *index_file;
X int count=1;
X long temp;
X
X if ((index_file=open_file(REOPENDIR, ".index", "r", INDEX))==NULL)
X {
X fprintf(stderr, "Could Not Open %s.\n", argv[1]);
X exit(errno);
X }
X fread(&temp, sizeof(long), 1, index_file);
X printf("Index records from the Reopened index file.\n\n");
X while (fread(&index, sizeof(index_record), 1, index_file)!=NULL)
X {
X printf("Index record %d:\n", count++);
X printf("\tPrid - %s\n\tMRD - %03d\tSF - %03d\tEF - %03d\n", index.prid,
X index.mrd, index.sf, index.ef);
X printf("\tAccount_name - %s\n", index.account_name);
X printf("\tNode_name - %s\n", index.node_name);
X printf("\tPid - %d\n", index.pid);
X printf("\tLn_prid - %s\n\tSD - %s\n\tFR - %s\n\n", index.ln_prid, index.sd,
X index.fr);
X }
X}
X
END_OF_FILE
if test 2348 -ne `wc -c <'pts-1.05/zdbm/readreop.c'`; then
echo shar: \"'pts-1.05/zdbm/readreop.c'\" unpacked with wrong size!
fi
# end of 'pts-1.05/zdbm/readreop.c'
fi
echo shar: End of archive 2 \(of 16\).
cp /dev/null ark2isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 16 archives.
echo "\nNow execute the command 'touch pts-1.05/xpts/xpts.help' and \nread the INSTALL document.\n"
rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0