home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.misc
- From: David F. Skoll <dfs@doe.carleton.ca>
- Subject: v22i067: thought - A replacement for 'fortune', Patch01
- Message-ID: <1991Aug28.022942.18503@sparky.IMD.Sterling.COM>
- X-Md4-Signature: 27d37770a4771a89556144e691a53712
- Date: Wed, 28 Aug 1991 02:29:42 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: David F. Skoll <dfs@doe.carleton.ca>
- Posting-number: Volume 22, Issue 67
- Archive-name: thought/patch01
- Environment: UNIX
- Patch-To: thought: Volume 21, Issue 23-24
-
- This is Official Patch #1 for Thought, posted on alt.sources and
- comp.sources.misc.
-
- This patch adds three new grammar files, and fixes several bugs in
- thought.c. It also adds an option for producing a specified number of
- thoughts.
-
- To install the patch: Unshar this file into the directory containing
- THOUGHT source code. Then type "patch < Patch01" and re-make and re-install
- thought.
-
- David F. Skoll
-
- ------------- Cut Here ---------- Cut Here ---------- Cut Here -------------
- #!/bin/sh
- # This is Thought Patch01, a shell archive (shar 3.32)
- # made 08/26/1991 15:18 UTC by dfs@kmpec
- # Source directory /enterprise/transporter/dfs/work/.thought/v1.0.1
- #
- # existing files will NOT be overwritten
- #
- # This shar contains:
- # length mode name
- # ------ ---------- ------------------------------------------
- # 15485 -rw------- Patch01
- # 865 -rw------- buzzword.rc
- # 1826 -rw------- insult.rc
- # 1594 -rw------- new-user.rc
- #
- if touch 2>&1 | fgrep 'amc' > /dev/null
- then TOUCH=touch
- else TOUCH=true
- fi
- # ============= Patch01 ==============
- if test X"$1" != X"-c" -a -f 'Patch01'; then
- echo "File already exists: skipping 'Patch01'"
- else
- echo "x - extracting Patch01 (Text)"
- sed 's/^X//' << 'SHAR_EOF' > Patch01 &&
- XMake the Makefile more portable, add various options. Also correct the
- Xbug which incorrectly installed the grammar file in the BIN directory. :-)
- X*** ../v1.0.0/Makefile Wed Jul 24 10:11:55 1991
- X--- ./Makefile Mon Aug 26 10:31:50 1991
- X***************
- X*** 22,27 ****
- X--- 22,38 ----
- X #If you want to use gcc:
- X #CC= gcc
- X
- X+ # If your C library has the random() and srandom() functions, uncomment the
- X+ # next line. They are recommended over the rand() and srand() functions. If
- X+ # you don't have random() or srandom(), comment out the next line.
- X+ HAVE_RANDOM= -DHAVE_RANDOM
- X+
- X+ # If you don't have the strdup() or stricmp() functions, uncomment the next
- X+ # lines. Actually, even if you do have them, it's safe to leave the next lines
- X+ # uncommented, it's just less efficient if you use shared libraries.
- X+ NO_STRDUP= -DNO_STRDUP
- X+ NO_STRICMP= -DNO_STRICMP
- X+
- X #Where do you want it installed?
- X BINDIR= /usr/local/bin
- X
- X***************
- X*** 47,58 ****
- X
- X #--------------- SHOULDN'T CHANGE STUFF BELOW HERE ---------------
- X
- X all: thought.c protos.h version.h
- X! $(CC) -DLIBPATH=\"$(LIBDIR)\" -DFILE_DEFAULT=\"$(GRAMFILE)\" -o thought thought.c
- X
- X install:
- X $(INSTALL) thought $(BINDIR)
- X! $(INSTALL) thought $(LIBDIR)/$(GRAMFILE)
- X
- X install.man:
- X $(INSTALL) thought.man $(MANDIR)/man$(TMANSECT)/thought.$(TMANSECT)
- X--- 58,74 ----
- X
- X #--------------- SHOULDN'T CHANGE STUFF BELOW HERE ---------------
- X
- X+ #Version of THOUGHT
- X+ VERSION= 1.0.1
- X+
- X+ MANIFEST= Makefile README examples protos.h st.rc thought.c thought.man thought.rc thoughtfile.man version.h insult.rc new-user.rc buzzword.rc
- X+
- X all: thought.c protos.h version.h
- X! $(CC) $(HAVE_RANDOM) $(NO_STRDUP) $(NO_STRICMP) -DLIBPATH=\"$(LIBDIR)\" -DFILE_DEFAULT=\"$(GRAMFILE)\" -o thought thought.c
- X
- X install:
- X $(INSTALL) thought $(BINDIR)
- X! $(INSTALL) thought.rc $(LIBDIR)/$(GRAMFILE)
- X
- X install.man:
- X $(INSTALL) thought.man $(MANDIR)/man$(TMANSECT)/thought.$(TMANSECT)
- X***************
- X*** 63,65 ****
- X--- 79,90 ----
- X
- X clobber:
- X rm -f *.o core *~ thought
- X+
- X+ shar: FORCE
- X+ shar -x "-nThought $(VERSION)" -l45 -oShar $(MANIFEST)
- X+
- X+ tar: FORCE
- X+ tar -cvf thought$(VERSION)-tar $(MANIFEST)
- X+ compress -v thought$(VERSION)-tar
- X+
- X+ FORCE:
- X
- XChange the README file to reflect the new distribution.
- X*** ../v1.0.0/README Wed Jul 24 10:11:56 1991
- X--- ./README Mon Aug 26 10:43:49 1991
- X***************
- X*** 20,28 ****
- X And you're on your way! To create your own grammar files, read the
- X man page for "thoughtfile".
- X
- X! I have supplied two grammar files - 'thought.rc' gives generally demented
- X! sayings, and 'st.rc' gives demented sayings that sound like something from
- X! Star Trek.
- X
- X --
- X David F. Skoll (dfs@doe.carleton.ca)
- X--- 20,37 ----
- X And you're on your way! To create your own grammar files, read the
- X man page for "thoughtfile".
- X
- X! I have supplied five grammar files:
- X!
- X! 'thought.rc' produces generally demented sayings.
- X!
- X! 'st.rc' gives demented sayings that sound like something from
- X! Star Trek.
- X!
- X! 'buzzword.rc' generates computer-age buzzwords
- X!
- X! 'insult.rc' generates childish insults
- X!
- X! 'new-user' generates messages designed to panic new Unix users.
- X
- X --
- X David F. Skoll (dfs@doe.carleton.ca)
- X
- XFix the prototype header file to include stricmp and strdup
- X*** ../v1.0.0/protos.h Wed Jul 24 10:11:58 1991
- X--- ./protos.h Mon Aug 26 10:39:34 1991
- X***************
- X*** 65,70 ****
- X--- 65,76 ----
- X void GenerateThought(Sentence *sen);
- X void ReadFile (char *fname);
- X void WriteWord(Tag *tag, Word *w, char *mod, char **out, char upper);
- X+ #ifdef NO_STRDUP
- X+ char * strdup(const char *s);
- X+ #endif
- X+ #ifdef NO_STRICMP
- X+ int stricmp(const char *s1, const char *s2);
- X+ #endif
- X #else
- X Tag * FindTag();
- X char * FindModifier();
- X***************
- X*** 83,86 ****
- X--- 89,98 ----
- X void GenerateThought();
- X void ReadFile ();
- X void WriteWord();
- X+ #ifdef NO_STRDUP
- X+ char * strdup();
- X+ #endif
- X+ #ifdef NO_STRICMP
- X+ int stricmp();
- X+ #endif
- X #endif
- X
- XFix various stuff in thought.c, most noticeably fix the token scanning bug.
- XAlso add the "-n" option for creating "n" thoughts.
- X*** ../v1.0.0/thought.c Wed Jul 24 10:12:00 1991
- X--- ./thought.c Mon Aug 26 10:44:57 1991
- X***************
- X*** 14,19 ****
- X--- 14,20 ----
- X /* */
- X /***************************************************************/
- X
- X+ /* Both MS-DOS and UNIX */
- X #include <stdio.h>
- X #include <string.h>
- X #include <ctype.h>
- X***************
- X*** 20,42 ****
- X #include <string.h>
- X
- X #ifdef MSDOS
- X #include <stdlib.h>
- X #include <dos.h>
- X #include <io.h>
- X #include <malloc.h>
- X #else
- X! #include <sys/file.h>
- X #include <sys/types.h>
- X #ifdef SYSV
- X #include <time.h>
- X #else
- X #include <sys/time.h>
- X #endif
- X #endif
- X
- X #include "protos.h"
- X #include "version.h"
- X
- X /* The next two defines are to stop my editor's bracket-matching algorithm
- X from complaining later on in the program. */
- X
- X--- 21,61 ----
- X #include <string.h>
- X
- X #ifdef MSDOS
- X+
- X+ /* MS-DOS only */
- X #include <stdlib.h>
- X #include <dos.h>
- X #include <io.h>
- X #include <malloc.h>
- X+ #ifndef R_OK
- X+ #define R_OK 0
- X+ #endif
- X+
- X #else
- X!
- X! /* Unix only */
- X #include <sys/types.h>
- X+ #include <sys/file.h>
- X+
- X #ifdef SYSV
- X #include <time.h>
- X #else
- X #include <sys/time.h>
- X #endif
- X+
- X #endif
- X
- X #include "protos.h"
- X #include "version.h"
- X
- X+ #ifdef HAVE_RANDOM
- X+ #define RAND random
- X+ #define SRAND srandom
- X+ #else
- X+ #define RAND rand
- X+ #define SRAND srand
- X+ #endif
- X+
- X /* The next two defines are to stop my editor's bracket-matching algorithm
- X from complaining later on in the program. */
- X
- X***************
- X*** 98,105 ****
- X char ch;
- X #endif
- X {
- X if (fp) return ungetc(ch, fp);
- X! if (!**s) return EOF;
- X else *(--(*s)) = ch;
- X return ch;
- X }
- X--- 117,125 ----
- X char ch;
- X #endif
- X {
- X+ if (ch == EOF) return EOF;
- X if (fp) return ungetc(ch, fp);
- X! if (!*(*s-1)) return EOF;
- X else *(--(*s)) = ch;
- X return ch;
- X }
- X***************
- X*** 128,134 ****
- X #endif
- X {
- X int ch;
- X- char read = 0;
- X char *s;
- X while(1) { /* Skip comments and leading space */
- X do {
- X--- 148,153 ----
- X***************
- X*** 140,180 ****
- X } else break;
- X }
- X
- X s = Token;
- X
- X while (1) {
- X! if (ch == EOF) {
- X! if (read) break;
- X! else {
- X! *Token = 0;
- X! return Token;
- X! }
- X! }
- X if (ch == '#') {
- X UnReadChar(fp, istream, ch);
- X break;
- X }
- X if (strchr(sep, ch)) {
- X! if (read) {
- X! UnReadChar(fp, istream, ch);
- X! break;
- X } else {
- X! *Token = ch;
- X! *(Token + 1) = 0;
- X! return Token;
- X! }
- X }
- X- if (ch == '\n') ch = ' ';
- X *s++ = ch;
- X *s = 0;
- X ch = ReadChar(fp, istream);
- X- read = 1;
- X }
- X
- X /* Strip trailing whitespace */
- X s = Token + strlen(Token) - 1;
- X while (s >= Token && isspace(*s)) *s-- = 0;
- X-
- X return Token;
- X }
- X
- X--- 159,196 ----
- X } else break;
- X }
- X
- X+ if (ch == EOF) {
- X+ *Token = 0;
- X+ return Token;
- X+ }
- X+
- X s = Token;
- X
- X while (1) {
- X! if (ch == EOF) break;
- X!
- X if (ch == '#') {
- X UnReadChar(fp, istream, ch);
- X break;
- X }
- X if (strchr(sep, ch)) {
- X! if (s != Token) {
- X! UnReadChar(fp, istream, ch);
- X! break;
- X } else {
- X! *s++ = ch;
- X! *s = 0;
- X! break;
- X! }
- X }
- X *s++ = ch;
- X *s = 0;
- X ch = ReadChar(fp, istream);
- X }
- X
- X /* Strip trailing whitespace */
- X s = Token + strlen(Token) - 1;
- X while (s >= Token && isspace(*s)) *s-- = 0;
- X return Token;
- X }
- X
- X***************
- X*** 525,531 ****
- X }
- X tok = ReadToken(SEP1, NULL, &sd);
- X if (*tok != ';' && *tok != CRIGHT) {
- X! fprintf(stderr, "Illegal tag definition in %s\n", sen->def);
- X exit(1);
- X }
- X if (*tok == ';') {
- X--- 541,547 ----
- X }
- X tok = ReadToken(SEP1, NULL, &sd);
- X if (*tok != ';' && *tok != CRIGHT) {
- X! fprintf(stderr, "Illegal tag usage in %s\n", sen->def);
- X exit(1);
- X }
- X if (*tok == ';') {
- X***************
- X*** 534,540 ****
- X mod = Mod;
- X tok = ReadToken(SEP1, NULL, &sd);
- X if (*tok != CRIGHT) {
- X! fprintf(stderr, "Illegal tag definition in %s\n", sen->def);
- X exit(1);
- X }
- X } else mod = (char *) NULL;
- X--- 550,556 ----
- X mod = Mod;
- X tok = ReadToken(SEP1, NULL, &sd);
- X if (*tok != CRIGHT) {
- X! fprintf(stderr, "Illegal tag usage in %s\n", sen->def);
- X exit(1);
- X }
- X } else mod = (char *) NULL;
- X***************
- X*** 544,550 ****
- X fprintf(stderr, "Tag %s has no words defined.\n", tag->def);
- X exit(1);
- X }
- X! i = rand() % tag->numwords;
- X
- X /* Find the actual word - this is HIGHLY INEFFICIENT!! */
- X w = tag->wordlist;
- X--- 560,566 ----
- X fprintf(stderr, "Tag %s has no words defined.\n", tag->def);
- X exit(1);
- X }
- X! i = (RAND() >> 4) % tag->numwords;
- X
- X /* Find the actual word - this is HIGHLY INEFFICIENT!! */
- X w = tag->wordlist;
- X***************
- X*** 579,585 ****
- X #endif
- X {
- X char *s;
- X! char *OrigOut = *out;
- X char *ModDef;
- X
- X if (!mod) { /* easy case first - no modifiers */
- X--- 595,601 ----
- X #endif
- X {
- X char *s;
- X! char *OrigOut = *out;
- X char *ModDef;
- X
- X if (!mod) { /* easy case first - no modifiers */
- X***************
- X*** 588,593 ****
- X--- 604,610 ----
- X *(*out)++ = *s++;
- X }
- X **out = 0;
- X+ if (*OrigOut == '-' || *OrigOut == '+') OrigOut++;
- X if (upper) *OrigOut = UPPER(*OrigOut);
- X return;
- X }
- X***************
- X*** 613,618 ****
- X--- 630,636 ----
- X **out = 0;
- X }
- X }
- X+ if (*OrigOut == '-' || *OrigOut == '+') OrigOut++;
- X if (upper) *OrigOut = UPPER(*OrigOut);
- X }
- X
- X***************
- X*** 782,791 ****
- X #endif
- X {
- X Banner();
- X! fprintf(stderr, "Usage: thought [-dvi] [-w#] [filename]\n\n");
- X fprintf(stderr, "Options: -d = Debug sentence definitions.\n");
- X fprintf(stderr, " -v = Verbose mode.\n");
- X fprintf(stderr, " -i = Interactive mode.\n");
- X fprintf(stderr, " -w# = set formatted output width to # columns.\n\n");
- X fprintf(stderr, "filename is optional grammar file. Default file is\n");
- X fprintf(stderr, "'%s'.\n\n", FILE_DEFAULT);
- X--- 800,810 ----
- X #endif
- X {
- X Banner();
- X! fprintf(stderr, "Usage: thought [-dvi] [-#] [-w#] [filename]\n\n");
- X fprintf(stderr, "Options: -d = Debug sentence definitions.\n");
- X fprintf(stderr, " -v = Verbose mode.\n");
- X fprintf(stderr, " -i = Interactive mode.\n");
- X+ fprintf(stderr, " -# = emit # thoughts. Overidden by '-i'.\n");
- X fprintf(stderr, " -w# = set formatted output width to # columns.\n\n");
- X fprintf(stderr, "filename is optional grammar file. Default file is\n");
- X fprintf(stderr, "'%s'.\n\n", FILE_DEFAULT);
- X***************
- X*** 839,846 ****
- X char Debug = 0;
- X char Interactive = 0;
- X int Width = 80;
- X Sentence *sent;
- X- struct timeval tv;
- X int i;
- X
- X while (--argc) {
- X--- 858,865 ----
- X char Debug = 0;
- X char Interactive = 0;
- X int Width = 80;
- X+ int NumToEmit = 1;
- X Sentence *sent;
- X int i;
- X
- X while (--argc) {
- X***************
- X*** 855,860 ****
- X--- 874,892 ----
- X case 'w': Width = atoi(curarg+1);
- X while (*(curarg+1)) curarg++;
- X break;
- X+ case '0':
- X+ case '1':
- X+ case '2':
- X+ case '3':
- X+ case '4':
- X+ case '5':
- X+ case '6':
- X+ case '7':
- X+ case '8':
- X+ case '9': NumToEmit = atoi(curarg);
- X+ while (*(curarg+1)) curarg++;
- X+ break;
- X+
- X default: Usage(); exit(1);
- X }
- X }
- X***************
- X*** 877,884 ****
- X exit(1);
- X }
- X /* initialize the random seed */
- X! srand( (int) SystemTime());
- X! for (i=0; i<5; i++) (void) rand();
- X
- X /* If it's DEBUG, loop through all sentence definitions */
- X if (Debug) {
- X--- 909,916 ----
- X exit(1);
- X }
- X /* initialize the random seed */
- X! SRAND( (int) SystemTime());
- X! for (i=0; i<5; i++) (void) RAND();
- X
- X /* If it's DEBUG, loop through all sentence definitions */
- X if (Debug) {
- X***************
- X*** 900,909 ****
- X fprintf(stderr, "For interactive mode, stdin and stdout must be a tty.\n");
- X exit(1);
- X }
- X }
- X
- X while(1) {
- X! i = rand() % NumSentences;
- X sent = SentenceList;
- X
- X while (i && sent) {
- X--- 932,942 ----
- X fprintf(stderr, "For interactive mode, stdin and stdout must be a tty.\n");
- X exit(1);
- X }
- X+ printf("\n=== Interactive mode ===\n\nEnter 'q' or 'quit' to stop.\n\n");
- X }
- X
- X while(1) {
- X! i = (RAND() >> 4) % NumSentences;
- X sent = SentenceList;
- X
- X while (i && sent) {
- X***************
- X*** 917,925 ****
- X }
- X GenerateThought(sent);
- X Format(Buffer, Width);
- X! if (!Interactive) exit(0);
- X! gets(Buffer);
- X! if (*Buffer == 'q' || *Buffer == 'Q') exit(0);
- X }
- X
- X }
- X--- 950,995 ----
- X }
- X GenerateThought(sent);
- X Format(Buffer, Width);
- X! if (!Interactive && NumToEmit <= 1) exit(0);
- X! if (!Interactive) {
- X! printf("\n");
- X! NumToEmit--;
- X! } else {
- X! gets(Buffer);
- X! if (*Buffer == 'q' || *Buffer == 'Q') exit(0);
- X! }
- X }
- X
- X }
- X+
- X+ #ifdef NO_STRICMP
- X+ #ifdef __STDC__
- X+ int stricmp(const char *s1, const char *s2)
- X+ #else
- X+ int stricmp(s1, s2)
- X+ char *s1, *s2;
- X+ #endif
- X+ {
- X+ register int ret;
- X+
- X+ while ( !(ret = UPPER(*s1) - UPPER(*s2)) && *s1 && *s2) {
- X+ s1++;
- X+ s2++;
- X+ }
- X+ return ret;
- X+ }
- X+ #endif
- X+
- X+ #ifdef NO_STRDUP
- X+ #ifdef __STDC__
- X+ char *strdup(const char *s)
- X+ #else
- X+ char *strdup(s)
- X+ char *s;
- X+ #endif
- X+ {
- X+ char *ret = (char *) malloc(strlen(s)+1);
- X+ if (!ret) return ret;
- X+ return strcpy(ret, s);
- X+ }
- X+ #endif
- X
- XUpdate the MAN pages.
- X*** ../v1.0.0/thought.man Wed Jul 24 10:12:01 1991
- X--- ./thought.man Thu Jul 25 15:38:16 1991
- X***************
- X*** 4,10 ****
- X thought \- a program to generate random (and demented) thoughts-for-today
- X .SH SYNOPSIS
- X .B thought
- X! [\fB\-dvi\fP] [\fB\-w\fP\fIn\fP] [\fIfilename\fP]
- X .SH DESCRIPTION
- X .B Thought
- X reads the specified \fIfilename\fP, which must contain a grammar specification,
- X--- 4,10 ----
- X thought \- a program to generate random (and demented) thoughts-for-today
- X .SH SYNOPSIS
- X .B thought
- X! [\fB\-dvi\fP] [\fB\-w\fP\fIn\fP] [\fB\-\fP\fIm\fP] [\fIfilename\fP]
- X .SH DESCRIPTION
- X .B Thought
- X reads the specified \fIfilename\fP, which must contain a grammar specification,
- X***************
- X*** 32,37 ****
- X--- 32,41 ----
- X .TP
- X .B \-v
- X The \fB\-v\fP causes \fBthought\fP to be slightly more verbose.
- X+ .TP
- X+ .B \-\fIm\fP
- X+ This number tells \fBthought\fP to emit \fIm\fP thoughts, but is
- X+ overridden by the \-i option.
- X .TP
- X .B \-w
- X The \fB\-w\fP\fIn\fP option causes the output to be formatted for a terminal
- X*** ../v1.0.0/version.h Wed Jul 24 10:12:04 1991
- X--- ./version.h Thu Jul 25 15:44:43 1991
- X***************
- X*** 15,18 ****
- X /***************************************************************/
- X
- X #define VERSION "1.0"
- X! #define PATCHLEVEL "0"
- X--- 15,18 ----
- X /***************************************************************/
- X
- X #define VERSION "1.0"
- X! #define PATCHLEVEL "1"
- SHAR_EOF
- $TOUCH -am 0826111691 Patch01 &&
- chmod 0600 Patch01 ||
- echo "restore of Patch01 failed"
- set `wc -c Patch01`;Wc_c=$1
- if test "$Wc_c" != "15485"; then
- echo original size 15485, current size $Wc_c
- fi
- fi
- # ============= buzzword.rc ==============
- if test X"$1" != X"-c" -a -f 'buzzword.rc'; then
- echo "File already exists: skipping 'buzzword.rc'"
- else
- echo "x - extracting buzzword.rc (Text)"
- sed 's/^X//' << 'SHAR_EOF' > buzzword.rc &&
- X# Generate computer-age buzzwords - shamelessly ripped off from
- X# an article in comp.misc by Bob Weekley - weekley@oldcolo.UUCP
- X
- X{deftag adj1}
- X{deftag adj2}
- X{deftag noun}
- X
- X{defsent {Adj1} {Adj2} {Noun}}
- X
- X{adj1 integrated, synchronous, sectored, on-line, batched, relational,
- Xdynamic, parallel, responsive, ergonomic, alphanumeric, optical,
- Xfunctional, formatted, mnemonic, acknowledged, user-friendly,
- Xaddressable, enhanced, monitored}
- X
- X{adj2 digital, logical, memory, random, default, third-generation,
- Xincremental, interpretive, floppy, debugged, password, protocol, run-time,
- Xanalog, pixel, transitional, intelligent, virtual, buffered, vertical}
- X
- X{noun language, compatability, management, options, capability,
- Xnetwork, parameters, self-test, matrix, hardware, device, refresh,
- Xcompiler, controller, flexability, contingency, duplex, eprom,
- Xsubroutine, access}
- SHAR_EOF
- $TOUCH -am 0823105891 buzzword.rc &&
- chmod 0600 buzzword.rc ||
- echo "restore of buzzword.rc failed"
- set `wc -c buzzword.rc`;Wc_c=$1
- if test "$Wc_c" != "865"; then
- echo original size 865, current size $Wc_c
- fi
- fi
- # ============= insult.rc ==============
- if test X"$1" != X"-c" -a -f 'insult.rc'; then
- echo "File already exists: skipping 'insult.rc'"
- else
- echo "x - extracting insult.rc (Text)"
- sed 's/^X//' << 'SHAR_EOF' > insult.rc &&
- X# Insult generator - shamelessly ripped off from a control file provided
- X# by Peter Mielke <peter@zoo.toronto.edu>
- X
- X{deftag vile-adj}
- X{deftag container}
- X{deftag heap}
- X{deftag animal}
- X{deftag vile-object}
- X{deftag vile-animal-object}
- X
- X{defsent You {vile-adj} {container} of {vile-adj} {vile-object}.}
- X
- X{defsent You {vile-adj} {heap} of {vile-adj} {vile-object}.}
- X
- X{defsent You {vile-adj} excuse for {vile-adj} {vile-object}.}
- X
- X{defsent You {vile-adj} {container} of {vile-adj}
- X{animal} {vile-animal-object}.}
- X
- X{defsent You {vile-adj} {heap} of {vile-adj} {animal} {vile-animal-object}.}
- X
- X{defsent You {vile-adj} excuse for {vile-adj} {animal} {vile-animal-object}.}
- X
- X{container
- Xsack, shovel-full, bowl, box, crock, tub, bag, crate, bucket, truck-load,
- Xbunch, vat, pot, collection, barrel, wheelbarrow-full}
- X
- X{heap
- Xheap, loaf, blob, pile, mountain, clump, bunch, hill, load, mound, stack,
- Xlump}
- X
- X{animal
- Xgorilla, aardvaark, harp seal, great white shark, tyrannosaurus rex, wombat,
- Xbee, beetle, wasp, whale, blue whale, shark, lion, dolphin, elephant, worm,
- Xclam, kitten, lobster, hippopotamus, tiger, leopard, rabbit, carp, crocodile,
- Xalligator, eel}
- X
- X{vile-adj
- Xhallucinating, pompous, pitiful, bad, laughable, uncultured, bizarre,
- Xrevolting, stinking, cranky, insipid, sick, slimy, awful, grotesque, smelly,
- Xirrational, unimpressive, dreadful, psychotic, monotonous, pathetic,
- Xuneducated, crude, crooked, witless, indecent, sickening, drivelling,
- Xilliterate, offensive, dim-witted, deeply disturbed, uncultured, repulsive}
- X
- X{vile-object
- Xcigar butts, nasal hairs, pigeon bombs, stable sweepings, toe jam, ear wax,
- Xzit cheese, nose pickings, drain clogs, leprosy scabs, puke lups, cow pies,
- Xgarbage, barf}
- X
- X{vile-animal-object
- Xfodder, brains, innards, froth, livers, parts, guts, spite, waste, bowels,
- Xbarf, fleas, snot, boogers}
- SHAR_EOF
- $TOUCH -am 0823105891 insult.rc &&
- chmod 0600 insult.rc ||
- echo "restore of insult.rc failed"
- set `wc -c insult.rc`;Wc_c=$1
- if test "$Wc_c" != "1826"; then
- echo original size 1826, current size $Wc_c
- fi
- fi
- # ============= new-user.rc ==============
- if test X"$1" != X"-c" -a -f 'new-user.rc'; then
- echo "File already exists: skipping 'new-user.rc'"
- else
- echo "x - extracting new-user.rc (Text)"
- sed 's/^X//' << 'SHAR_EOF' > new-user.rc &&
- X# Generate sign-off messages to panic new computer users. Put this in the
- X# standard .logout file for some fun :-)
- X
- X{deftag catastrophe}
- X{deftag core-dump}
- X{deftag fault}
- X{deftag threat}
- X{deftag errmsg}
- X
- X{defsent {fault} -- {core-dump}}
- X
- X{defsent {fault}. {Threat}. {Catastrophe}.}
- X
- X{defsent {Errmsg}. {Fault}. {Core-dump}.}
- X
- X{fault Segmentation Fault, Interrupt Fault, Bus^%$ Frro^^*,
- XDisk crash, Memory Burnout, Tape destroyed, Files erased}
- X
- X{errmsg command not found, permission denied, file not found,
- Xillegal instruction, error: a.out exec incorrect format, sorry,
- Xno such file, name too long, relocation table corrupt, network down,
- Xunknown host, RPC: program not registered, unable to reach network}
- X
- X{core-dump core dumped, core lost, operating system halted, data lost,
- XCPU overheated, unable to continue}
- X
- X{catastrophe your files are lost forever,
- Xyour login privileges have been cancelled,
- Xyour account is no longer active,
- Xyou have destroyed this computer,
- Xyou really screwed up,
- Xall files have been erased,
- Xyour e-mail privileges have been revoked,
- Xyour disk quota has been reduced to 200 KB
- X}
- X
- X{threat
- Xdon't use this computer until you've read the entire manual set,
- Xwe are monitoring your files for signs of sabotage,
- Xyour manager will be contacted regarding our suspicions,
- Xyour abuse of this system has been logged,
- Xthe system administrators take a dim view of such actions,
- Xplease contact your system administrator at once,
- Xyou don't have privileges to do that,
- Xdon't EVER do that again,
- Xyou shouldn't have done that,
- Xyour actions are contrary to our computing policy
- X}
- SHAR_EOF
- $TOUCH -am 0823105891 new-user.rc &&
- chmod 0600 new-user.rc ||
- echo "restore of new-user.rc failed"
- set `wc -c new-user.rc`;Wc_c=$1
- if test "$Wc_c" != "1594"; then
- echo original size 1594, current size $Wc_c
- fi
- fi
- exit 0
-
-
- exit 0 # Just in case...
-