home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-04-27 | 58.2 KB | 1,407 lines |
- Newsgroups: comp.sources.x
- From: markham@cadence.com (Jeff Markham)
- Subject: v19i034: xmail - X Window System interface to the mail program, Part09/10
- Message-ID: <1993Mar10.203111.11512@sparky.imd.sterling.com>
- X-Md4-Signature: a1b369872fa2f6720d7ad1e1ffe209c4
- Date: Wed, 10 Mar 1993 20:31:11 GMT
- Approved: chris@sparky.imd.sterling.com
-
- Submitted-by: markham@cadence.com (Jeff Markham)
- Posting-number: Volume 19, Issue 34
- Archive-name: xmail/part09
- Environment: X11
- Supersedes: xmail: Volume 15, Issue 18-26
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: Changes_1.5 MailwatchP.h callMail.c defs.h icon.mail
- # icon.nomail mail.xpm make.file nomail.xpm revtable.h xmailregexp.h
- # Wrapped by chris@sparky on Wed Mar 10 14:17:52 1993
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 9 (of 10)."'
- if test -f 'Changes_1.5' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Changes_1.5'\"
- else
- echo shar: Extracting \"'Changes_1.5'\" \(5217 characters\)
- sed "s/^X//" >'Changes_1.5' <<'END_OF_FILE'
- X January, 1992
- X
- XThe following changes have been implemented for xmail patchlevel 5. This list
- Xis subject to additions as I am still in the process of repairing certain bugs
- X(detailed at the end of this list).
- X
- XMALLOC/FREE:
- X Added several casts for XtMalloc() and XtFree() calls in order to try
- X and eliminate problems with segmentation violations (see end of list).
- X
- X In an attempt to eliminate the occasional segmentation violation in
- X either malloc or free, I no longer free the mail program output buffer
- X each time it is used. Instead I simply allow it to grow to the maximum
- X size of a read ever performed on the mail pipe.
- X
- XMESSAGE DELIVERY:
- X Added support for completing a message composition delivery from only
- X the keyboard, instead of requiring the use of the mouse. Keypress
- X combinations have been added for:
- X
- X <Meta>S (to append your [.]Signature Autograph),
- X <Meta>x (to append your [.]signature autograph),
- X <Meta>R (to ReEdit the message),
- X <Meta>C (to Cancel message delivery and save text in dead.letter file),
- X <Meta>A (to abort delivery), and
- X <Meta>D (to deliver the message).
- X
- X Added support for editheaders mail environment variable to enable
- X editing of selected headers within the message body when sending a
- X message. This resource is also alterable from within the 'Set' menu
- X options.
- X
- X Optimized the mechanism for making copies of outgoing messages into
- X additional folders or the record file.
- X
- X User is now forced to destroy or complete a message composition when
- X delivery is attempted with no addressee and/or no message body and no
- X subject line, in lieu of the previous action which simply canceled the
- X message composition and left the original text file standing in the tmp
- X directory.
- X
- X Cleaned up the code which translated the alias names in the address
- X buffer into real names to allow for more variety in addressing schemes
- X and to permit the declaration of pipes as aliases.
- X
- X Fixed case of segmentation violation when reply subject did not need
- X the 'Re:' string inserted.
- X
- X In deference to those who didn't install the app-defaults file, accept
- X a newline character as a word separator as well as the comma normally
- X found in address specifications.
- X
- X Eliminated stuck in wait cursor when using non-Sun version of Berkeley
- X mail. Also extended support to properly parse returns of set command
- X from non-Sun Berkeley mail handler (no equals sign or quoted values)
- X which used to result in record folder file name being set to the word
- X 'True'.
- X
- XHELP:
- X Changed the requirement for displaying help on a portion of xmail from
- X using the Shift key in conjunction with the middle mouse button, to just
- X using the mouse button for most cases. Some cases still require the
- X use of the Shift key as the default middle mouse button action is paste
- X from the selection buffer.
- X
- XMISCELLANEOUS:
- X Added a hatching pattern to those folders which have been modified
- X more recently than accessed, to indicate when unread messages exist in
- X those folders.
- X
- X Added functions to initialize the value of the global HOME and foldir
- X variables (if a folder directory is defined), instead of doing repeated
- X calls to getenv() and GetMailEnv().
- X
- X Fixed a bug which failed to detect deleted messages in a folder which
- X also had saved messages, causing the confirm popup to not appear when
- X required.
- X
- X Made additional changes to support the printmail environment definition
- X if not running on a Sun.
- X
- X Added support for the SCO system environment when running xmail.
- X
- X Added an exec to the sendmail and other forked processes to eliminate
- X excess shells.
- X
- X Added support for POSIX sigaction() as well as sigvec() calls.
- X
- X Added support for non-Sun Berkeley mail handler when user wishes to
- X Save or Copy a message to a file named for the author of the message.
- X
- X Added a test to ensure we are not running binmail by mistake. This
- X eliminates a hanging condition when starting xmail because the wrong
- X mail handler was invoked.
- X
- X Fixed a bug when selecting the next message to be processed using the
- X mouse button which caused the wrong value to be interpreted as the
- X selected message number.
- X
- XThe two remaining (interrelated?) fixes which must be effected before these
- Xchanges for version 1.5 can be released involve the elimination of a segment-
- Xation violation when expanding a folder directory (in cfree called by XtParse-
- XTranslationTableProduction) and the elimination of a corruption of the Index
- Xwindow buffer during a subsequent fetch of its content. Both problems are
- Xextremely intermittent (but repeatable under certain exact conditions). I am
- Xplanning to acquire a new tool for diagnosing these problems in the very near
- Xfuture, and hope to be able to release the 1.5 patches in February (but don't
- Xhold your breath).
- X
- XThere is also a plan to develop a version 2.00 xmail with embedded support
- Xfor MIME (multi-media email processing) and Internationalization. But I must
- Xeliminate the current segmentation violations first, and release those patches.
- X
- END_OF_FILE
- if test 5217 -ne `wc -c <'Changes_1.5'`; then
- echo shar: \"'Changes_1.5'\" unpacked with wrong size!
- fi
- # end of 'Changes_1.5'
- fi
- if test -f 'MailwatchP.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MailwatchP.h'\"
- else
- echo shar: Extracting \"'MailwatchP.h'\" \(1973 characters\)
- sed "s/^X//" >'MailwatchP.h' <<'END_OF_FILE'
- X/*
- X * Author: Dan Heller (see Mailwatch.c for detailed info)
- X */
- X#ifndef _XtMailwatchP_h
- X#define _XtMailwatchP_h
- X
- X#include "Mailwatch.h"
- X#include <X11/CoreP.h>
- X
- X#ifndef MAILBOX_DIRECTORY
- X#define MAILBOX_DIRECTORY "/usr/spool/mail"
- X#endif /* MAILBOX_DIRECTORY */
- X
- X#define MAILBOX_VOLUME 33 /* percentage */
- X
- Xtypedef struct { /* new fields for mailwatch widget */
- X Pixel foreground_pixel; /* color index of normal state fg */
- X GC normal_GC; /* normal GC to use */
- X GC invert_GC; /* invert GC for FillRectangle call */
- X int update; /* seconds between updates */
- X String filename; /* filename to watch */
- X long last_size; /* size in bytes of mailboxname */
- X time_t last_access; /* last time user accessed mailbox */
- X Boolean reverseVideo; /* do reverse video? */
- X Boolean flag_up; /* is the flag up? */
- X Boolean bell; /* ring the bell on new mail? */
- X Boolean useName; /* add username to icon image? */
- X Boolean useHost; /* add mailhost name to icon image? */
- X String username; /* username of mailbox */
- X String mailhost; /* host name of mail server */
- X XFontStruct *font; /* font to use when displaying name */
- X XtCallbackList callback; /* Call func(s) when mail arrives */
- X XtIntervalId interval_id; /* time between checks */
- X struct _mbimage {
- X int width, height;
- X Pixmap pixmap; /* full depth pixmap */
- X#ifndef XPM
- X Pixmap bitmap;
- X#else
- X String bitmap;
- X#endif
- X } mail, nomail;
- X} MailwatchPart;
- X
- Xtypedef struct _MailwatchRec { /* full instance record */
- X CorePart core;
- X MailwatchPart mailbox;
- X} MailwatchRec;
- X
- Xtypedef struct { /* new fields for mailwatch class */
- X int dummy; /* stupid C compiler */
- X} MailwatchClassPart;
- X
- Xtypedef struct _MailwatchClassRec { /* full class record declaration */
- X CoreClassPart core_class;
- X MailwatchClassPart mailwatch_class;
- X} MailwatchClassRec;
- X
- Xextern MailwatchClassRec mailwatchClassRec; /* class pointer */
- X
- X#endif _XtMailwatchP_h
- END_OF_FILE
- if test 1973 -ne `wc -c <'MailwatchP.h'`; then
- echo shar: \"'MailwatchP.h'\" unpacked with wrong size!
- fi
- # end of 'MailwatchP.h'
- fi
- if test -f 'callMail.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'callMail.c'\"
- else
- echo shar: Extracting \"'callMail.c'\" \(9126 characters\)
- sed "s/^X//" >'callMail.c' <<'END_OF_FILE'
- X/*
- X * xmail - X window system interface to the mail program
- X *
- X * Copyright 1990,1991,1992 by National Semiconductor Corporation
- X *
- X * Permission to use, copy, modify, and distribute this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both that
- X * copyright notice and this permission notice appear in supporting
- X * documentation, and that the name of National Semiconductor Corporation not
- X * be used in advertising or publicity pertaining to distribution of the
- X * software without specific, written prior permission.
- X *
- X * NATIONAL SEMICONDUCTOR CORPORATION MAKES NO REPRESENTATIONS ABOUT THE
- X * SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS"
- X * WITHOUT EXPRESS OR IMPLIED WARRANTY. NATIONAL SEMICONDUCTOR CORPORATION
- X * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
- X * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO
- X * EVENT SHALL NATIONAL SEMICONDUCTOR CORPORATION 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 * Author: Michael C. Wagnitz - National Semiconductor Corporation
- X *
- X** Xmail talks to mail through a pseudo terminal which is a pair of master
- X** and slave devices: /dev/pty?? and /dev/tty??, where ?? goes from p0 to
- X** zf (system dependent). The terminal is opened for both read and write.
- X**
- X*/
- X
- X#include "global.h"
- X#include <sys/stat.h>
- X#include <signal.h>
- X
- X#if defined(AIXV3) || defined(_IBMR2)
- X#include <sys/select.h>
- X#endif
- X
- X#if !defined(SYSV) || defined(clipper)
- X#include <sgtty.h>
- X#else
- X#include <sys/termio.h>
- X#include <sys/sysmacros.h>
- X#include <fcntl.h>
- X#if defined(att)
- X#include <sys/stropts.h>
- X#endif
- X#endif
- X
- X#ifndef TTYDEV
- X#ifdef sco
- X#define TTYDEV "/dev/ptypxx"
- X#else /* !sco */
- X#ifdef hpux
- X#define TTYDEV "/dev/pty/ptyxx"
- X#else /* !hpux */
- X#define TTYDEV "/dev/ptyxx"
- X#endif /* !sco */
- X#endif /* !hpux */
- X#endif /* !TTYDEV */
- X
- X#ifndef PTYCHAR1
- X#ifdef sco
- X#define PTYCHAR1 "0123456789abcdef"
- X#else /* !sco */
- X#ifdef hpux
- X#define PTYCHAR1 "zyxwvutsrqp"
- X#else /* !hpux */
- X#define PTYCHAR1 "pqrstuvwxyz"
- X#endif /* !sco */
- X#endif /* !hpux */
- X#endif /* !PTYCHAR1 */
- X
- X#ifndef PTYCHAR2
- X#ifdef hpux
- X#define PTYCHAR2 "fedcba9876543210"
- X#else /* !hpux */
- X#define PTYCHAR2 "0123456789abcdef"
- X#endif /* !hpux */
- X#endif /* !PTYCHAR2 */
- X
- Xint mail_fd; /* mail process master tty id */
- Xint mailpid; /* mail process id */
- Xint mailInputId; /* mail input id */
- Xchar pseudo_tty[20];
- X
- X
- X/*
- X** @(#) openMaster - searches for and opens a pty master. If it finds one,
- X** it returns the value of the file descriptor. If not,
- X** it reports an error and terminates. Portions of this
- X** routine were stolen from X11R4 xterm get_pty() sources.
- X*/
- Xint
- XopenMaster()
- X{
- X static int devindex = 0;
- X static int letter = 0;
- X struct stat st_buf;
- X int master;
- X
- X#ifdef att
- X (void) strcpy(pseudo_tty, "/dev/ptmx");
- X if ((master = open(pseudo_tty, O_RDWR)) >= 0)
- X return(master);
- X#else /* !att, need lots of code */
- X#if defined(umips) || defined(sgi) && defined (SYSV)
- X int c;
- X
- X (void) strcpy(pseudo_tty, "/dev/ptc");
- X master = open(pseudo_tty, O_RDWR);
- X if (master >= 0 && (fstat(master, &st_buf)) == 0) {
- X (void) sprintf(pseudo_tty, "/dev/ttyq%d", minor(st_buf.st_rdev));
- X#if ! defined(sgi)
- X if ((c = open(pseudo_tty, O_RDWR)) < 0) {
- X (void) close (master);
- X } else { /* got one! */
- X (void) close (c);
- X return(master);
- X }
- X#else
- X return(master);
- X#endif
- X }
- X#else /* not (umips && SYSV) */
- X (void) strcpy(pseudo_tty, TTYDEV);
- X while (PTYCHAR1[letter]) {
- X pseudo_tty[strlen(pseudo_tty) - 2] = PTYCHAR1[letter];
- X pseudo_tty[strlen(pseudo_tty) - 1] = PTYCHAR2[0];
- X
- X if (stat(pseudo_tty, &st_buf) == 0)
- X while (PTYCHAR2[devindex]) {
- X pseudo_tty[strlen(pseudo_tty) - 1] = PTYCHAR2[devindex];
- X if ((master = open(pseudo_tty, O_RDWR)) >= 0)
- X return(master);
- X
- X devindex++;
- X }
- X devindex = 0;
- X (void) letter++;
- X }
- X#endif /* umips || sgi && SYSV */
- X#endif /* att */
- X/*
- X** We were unable to allocate a pty master! Report the error and terminate.
- X*/
- X XtError("xmail cannot open master/slave pipe connection");
- X /* NOTREACHED */
- X} /* end - openMaster */
- X
- X
- X/*
- X** @(#)openSlave() - open slave side of pipe
- X*/
- X/* ARGSUSED */
- Xint
- XopenSlave(master)
- Xint master;
- X{
- X int slave;
- X
- X#ifdef att
- X char *slaveName;
- X int grantpt(), unlockpt();
- X char *ptsname();
- X
- X if (grantpt(master) >= 0 &&
- X unlockpt(master) >= 0 &&
- X (slaveName = ptsname(master)) != NULL &&
- X (slave = open(slaveName, O_RDWR)) >= 0 &&
- X (void) ioctl(slave, I_PUSH, "ptem") >= 0 &&
- X (void) ioctl(slave, I_PUSH, "ldterm") >= 0)
- X return(slave);
- X#else /* !att */
- X#if defined(umips) || defined(sgi) && defined(SYSV)
- X struct stat st_buf;
- X
- X fstat(master, &st_buf);
- X (void) sprintf(pseudo_tty, "/dev/ttyq%d", minor(st_buf.st_rdev));
- X if ((slave = open(pseudo_tty, O_RDWR)) >= 0)
- X return(slave); /* got one! */
- X#else /* not (umips || sgi && SYSV) */
- X#if defined(sco) || defined(hpux)
- X pseudo_tty[strlen(pseudo_tty) - 6] = 't';
- X#else
- X pseudo_tty[strlen(pseudo_tty) - 5] = 't';
- X#endif
- X if ((slave = open(pseudo_tty, O_RDWR)) >= 0)
- X return(slave);
- X#endif
- X#endif
- X return(-1); /* look for more master/slave pairs */
- X} /* openSlave */
- X
- X
- X/*
- X** @(#)callMail() - fork child to execute mail and attach to xmail input
- X*/
- X/* ARGSUSED */
- Xvoid
- XcallMail(argv)
- Xchar *argv[];
- X{
- X#if defined(SYSV) && !defined(clipper)
- X struct termio tio;
- X#else
- X struct sgttyb Sgtty;
- X#endif
- X int slave; /* file descriptor to slave pty */
- X
- X
- X for (;;) { /* find a pair, or master fails */
- X mail_fd = openMaster();
- X if ((slave = openSlave(mail_fd)) != -1)
- X break;
- X }
- X/*
- X** Set minimal requirements for slave connection (no echo, no NL->CR, keep TABS)
- X*/
- X#if defined(SYSV) && !defined(clipper)
- X (void) ioctl(slave, TCGETA, &tio);
- X tio.c_oflag &= ~(OCRNL|ONLCR|ONLRET|TABDLY);
- X tio.c_iflag &= ~IXOFF;
- X tio.c_iflag |= ICRNL;
- X tio.c_lflag &= ~(ISIG|ECHO);
- X tio.c_lflag |= ICANON;
- X (void) ioctl(slave, TCSETA, &tio);
- X#else
- X (void) ioctl(slave, TIOCGETP, &Sgtty);
- X Sgtty.sg_flags &= ~(ECHO|CRMOD|XTABS);
- X (void) ioctl(slave, TIOCSETP, &Sgtty);
- X#endif
- X
- X mailpid = fork();
- X if (mailpid == -1) {
- X XtError("callMail could not fork the child process");
- X } else if (mailpid) {
- X /*
- X * Parent : close the slave side of pty
- X * set the mail file descriptor to append mode
- X * register mail input with X
- X */
- X (void) close(slave);
- X (void) fcntl(mail_fd, F_SETFL, FAPPEND);
- X mailInputId = XtAddInput(mail_fd, XtInputReadMask, readMail, NULL);
- X } else {
- X /*
- X * Child : close X connection and mail_fd side of pty
- X * redirect stdin, stdout, stderr of mail to pty
- X * unbuffer output data from mail
- X * exec mail with arguments
- X *
- X * Use a select() call to delay starting the mail process
- X * until our parent can close its slave side of the pipe.
- X * Eliminates the parent hanging (for approximately 15
- X * seconds) on the close because the child terminated for
- X * lack of mail before the parent could issue its close.
- X */
- X int readfds, width;
- X struct timeval timeout;
- X
- X (void) close(ConnectionNumber(XtDisplay(toplevel)));
- X
- X timeout.tv_sec = 0; timeout.tv_usec = 250000; /* 0.25 seconds */
- X readfds = 1 << slave; width = slave + 1;
- X
- X (void) select(width, (fd_set *) &readfds, (fd_set *) NULL, (fd_set *) NULL, &timeout);
- X
- X (void) close(mail_fd);
- X (void) dup2(slave, 0);
- X (void) dup2(slave, 1);
- X (void) dup2(slave, 2);
- X if (slave > 2)
- X (void) close(slave);
- X (void) fcntl(1, F_SETFL, FAPPEND);
- X setbuf(stdout, (char *) NULL);
- X (void) execvp(argv[0], argv);
- X /*
- X * If we fail to make contact, we must re-establish access to
- X * the terminal screen that started us for our error message,
- X * because we don't want to send it up the xmail pipe.
- X * Also terminate our parent.
- X */
- X if ((slave = open("/dev/tty", O_RDWR)) != -1) {
- X (void) dup2(slave, 1);
- X (void) dup2(slave, 2);
- X perror(argv[0]);
- X }
- X (void) kill(getppid(), SIGKILL); /* kill our parent */
- X (void) exit(1);
- X /* NOTREACHED */
- X }
- X} /* callMail */
- END_OF_FILE
- if test 9126 -ne `wc -c <'callMail.c'`; then
- echo shar: \"'callMail.c'\" unpacked with wrong size!
- fi
- # end of 'callMail.c'
- fi
- if test -f 'defs.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'defs.h'\"
- else
- echo shar: Extracting \"'defs.h'\" \(5257 characters\)
- sed "s/^X//" >'defs.h' <<'END_OF_FILE'
- X/*
- X * xmail - X window system interface to the mail program
- X *
- X * Copyright 1990,1991,1992 by National Semiconductor Corporation
- X *
- X * Permission to use, copy, modify, and distribute this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both that
- X * copyright notice and this permission notice appear in supporting
- X * documentation, and that the name of National Semiconductor Corporation not
- X * be used in advertising or publicity pertaining to distribution of the
- X * software without specific, written prior permission.
- X *
- X * NATIONAL SEMICONDUCTOR CORPORATION MAKES NO REPRESENTATIONS ABOUT THE
- X * SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS"
- X * WITHOUT EXPRESS OR IMPLIED WARRANTY. NATIONAL SEMICONDUCTOR CORPORATION
- X * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
- X * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO
- X * EVENT SHALL NATIONAL SEMICONDUCTOR CORPORATION 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 * Author: Michael C. Wagnitz - National Semiconductor Corporation
- X*/
- X
- X
- X#include <stdio.h>
- X#if XtSpecificationRelease > 4
- X#else
- X#include <sys/types.h>
- X#endif
- X#include <sys/param.h>
- X#include <X11/Xos.h>
- X
- X#if XtSpecificationRelease > 4
- X#ifndef X_NOT_STDC_ENV
- X#include <stdlib.h>
- X#else
- Xchar *malloc(), *realloc(), *calloc();
- X#endif
- X#if defined(macII) && !defined(__STDC__) /* stdlib.h fails to define these */
- Xchar *malloc(), *realloc(), *calloc();
- X#endif /* macII */
- X#endif
- X
- X#include <X11/IntrinsicP.h>
- X#include <X11/StringDefs.h>
- X#include <X11/Shell.h>
- X#include <X11/Xatom.h>
- X#include <X11/Xaw/Cardinals.h>
- X#include <X11/Xaw/Paned.h>
- X#include <X11/Xaw/Form.h>
- X#include <X11/Xaw/AsciiText.h>
- X#include <X11/Xaw/TextP.h>
- X#include <X11/Xaw/Box.h>
- X#include <X11/Xaw/List.h>
- X#include <X11/Xaw/Command.h>
- X#include <X11/Xaw/Dialog.h>
- X#include <X11/Xaw/Label.h>
- X
- X#if XtSpecificationRelease > 4
- X#include <X11/Xfuncs.h> /* for bcopy, et.al. */
- X#else
- X#define _XawTextActionsTable textActionsTable
- X#define _XawTextActionsTableCount textActionsTableCount
- X#endif
- X
- X#define TITLE "xmail 1." /* program title and version string */
- X#define StartPos 6 /* size of 'File: ' (del stop point) */
- X#define LASTCH(s) (s[ *s ? strlen(s) - 1 : 0])
- X#define CHARHEIGHT(X) (X->max_bounds.descent + X->max_bounds.ascent)
- X#define APPEND True /* used in writeTo function logic */
- X#define REPLACE False
- X#define WATCH True /* used in SetCursor function logic */
- X#define NORMAL False
- X
- X#ifndef DEFAULT_MAILER
- X#define DEFAULT_MAILER "/usr/ucb/Mail"
- X#endif
- X
- Xtypedef struct {
- X XFontStruct *textFont; /* font to use when displaying text */
- X XFontStruct *helpFont; /* font to use when displaying help */
- X XFontStruct *buttonFont; /* font to use when making buttons */
- X String iconGeometry; /* xmail icon geometry */
- X String MFileName; /* mail option -f filename */
- X String editorCommand; /* optional xmail send edit command */
- X Dimension shellWidth; /* xmail window width */
- X Dimension fileBoxWidth; /* file window box width */
- X Dimension indexHeight; /* index window height */
- X Dimension textHeight; /* text window height */
- X Dimension buttonWidth; /* command button width */
- X Dimension buttonHeight; /* command button height */
- X Dimension commandHSpace; /* command horizontal spacing */
- X Dimension commandVSpace; /* command vertical spacing */
- X Dimension commandHeight; /* command window height */
- X Dimension helpWidth; /* width of the help text popup */
- X Dimension helpHeight; /* height of the help text popup */
- X Dimension helpX; /* help x offset from textWindow */
- X Dimension helpY; /* help y offset from textWindow */
- X Dimension menuX; /* menu x offset from parent */
- X Dimension menuY; /* menu y offset from parent */
- X Boolean bellRing; /* xmail audible bell option */
- X Boolean expert; /* do not confirm destructive acts */
- X Boolean iconic; /* xmail starts in withdrawn state */
- X Boolean mailopt_n; /* mail option -n */
- X Boolean mailopt_U; /* mail option -U */
- X Boolean Show_Last; /* xmail show latest option -ls */
- X Boolean Show_Info; /* Do (or don't) show info messages */
- X Boolean No_X_Hdr; /* don't show xface header option -nx */
- X int borderWidth; /* default or specified border width */
- X} XmailResources;
- X
- X
- X/*
- X** structure sent to AddMenuButton()
- X*/
- Xtypedef struct menuList_str
- X {
- X String label;
- X XtCallbackProc func;
- X String data;
- X } menuList, *menuList_p;
- X
- X/*
- X** structure used by AddHelpText() and ShowHelp()
- X*/
- Xtypedef struct _helpText
- X {
- X String name;
- X AsciiSrcObject data;
- X struct _helpText *next;
- X } helpText;
- X
- X
- Xtypedef struct {
- X char *pat; /* regular expression */
- X char *buf; /* buffer for compiled regexp */
- X} PatternRec, *PatternRecPtr;
- X
- X
- Xtypedef struct {
- X char *name; /* recipient name */
- X char *alias; /* alias for name */
- X} AliasRec, *AliasRecPtr;
- END_OF_FILE
- if test 5257 -ne `wc -c <'defs.h'`; then
- echo shar: \"'defs.h'\" unpacked with wrong size!
- fi
- # end of 'defs.h'
- fi
- if test -f 'icon.mail' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'icon.mail'\"
- else
- echo shar: Extracting \"'icon.mail'\" \(3920 characters\)
- sed "s/^X//" >'icon.mail' <<'END_OF_FILE'
- X/*
- X * xmail - X window system interface to the mail program
- X *
- X * Copyright 1990 by National Semiconductor Corporation
- X *
- X * Permission to use, copy, modify, and distribute this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both that
- X * copyright notice and this permission notice appear in supporting
- X * documentation, and that the name of National Semiconductor Corporation not
- X * be used in advertising or publicity pertaining to distribution of the
- X * software without specific, written prior permission. National Semiconductor
- X * Corporation 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 * NATIONAL SEMICONDUCTOR CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO
- X * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- X * FITNESS, IN NO EVENT SHALL NATIONAL SEMICONDUCTOR CORPORATION BE LIABLE FOR
- X * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- X * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
- X * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- X * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- X *
- X * Author: Michael C. Wagnitz - National Semiconductor Corporation
- X *
- X */
- X
- X#define mail_width 56
- X#define mail_height 56
- X
- Xstatic char mail_bits[] = {
- X 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
- X 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
- X 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf0, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x18, 0xb0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x30, 0x03, 0x00,
- X 0x00, 0x00, 0x00, 0x07, 0x30, 0x06, 0x00, 0x00, 0x00, 0x80, 0x01, 0x30,
- X 0x06, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x30, 0x07, 0x00, 0x00, 0x00, 0xe0,
- X 0x1f, 0xb0, 0x07, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0xf0, 0x06, 0x00, 0x00,
- X 0x00, 0xb8, 0xee, 0x70, 0x06, 0x00, 0x00, 0x00, 0x5c, 0xd7, 0x31, 0x06,
- X 0x00, 0x00, 0x00, 0xae, 0xae, 0x39, 0x06, 0x00, 0x00, 0x00, 0x56, 0x5d,
- X 0x3f, 0x06, 0x00, 0x00, 0x00, 0x8a, 0xb4, 0x37, 0x06, 0x00, 0x00, 0x00,
- X 0x46, 0x64, 0x33, 0x06, 0x00, 0x00, 0x00, 0x22, 0xc4, 0x33, 0x06, 0x00,
- X 0x00, 0x00, 0x12, 0x84, 0x33, 0x06, 0x00, 0x00, 0x00, 0x0a, 0x04, 0x33,
- X 0x06, 0x00, 0x00, 0x00, 0xfa, 0x07, 0x33, 0x06, 0x00, 0x00, 0x00, 0x0a,
- X 0x00, 0x33, 0x06, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x03, 0x03, 0x00, 0x00,
- X 0x00, 0x3a, 0x80, 0x83, 0x01, 0x00, 0x00, 0x00, 0x7a, 0x40, 0xc3, 0x00,
- X 0x00, 0x00, 0x00, 0xfa, 0xa0, 0x63, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x51,
- X 0x33, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x0b, 0x1b, 0x00, 0x00, 0x00, 0x00,
- X 0x3a, 0x06, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x1f, 0x00, 0x00,
- X 0x00, 0x00, 0x0a, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x19,
- X 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x19, 0x00, 0x00, 0x00, 0x00, 0x02,
- X 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x6a, 0x19, 0x00, 0x00, 0x00,
- X 0x00, 0xaa, 0x2b, 0x19, 0x00, 0x00, 0x00, 0x00, 0xba, 0x2a, 0x19, 0x00,
- X 0x00, 0x00, 0x00, 0x2a, 0x29, 0x19, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00,
- X 0x19, 0x00, 0x80, 0x85, 0xd8, 0x02, 0x00, 0x99, 0x02, 0x40, 0xc5, 0x92,
- X 0x52, 0x15, 0x59, 0x46, 0x42, 0x69, 0xb2, 0xaa, 0x2a, 0xb9, 0x44, 0xc6,
- X 0xee, 0xaa, 0x82, 0x02, 0x79, 0x64, 0xb5, 0x8a, 0x22, 0x12, 0x11, 0xad,
- X 0xa9, 0x10, 0x29, 0xc8, 0xa2, 0x0b, 0xad, 0xc0, 0xba, 0xc4, 0x4a, 0xc6,
- X 0x86, 0x87, 0x4e, 0x5a, 0xdb, 0x67, 0x07, 0xc2, 0x7e, 0xee, 0x3f, 0xb7,
- X 0xdc, 0x8e, 0xc7, 0xd2, 0x33, 0xa5, 0x2a, 0x8f, 0x1d, 0x63, 0x72, 0xb9,
- X 0x7b, 0xfd, 0x72, 0xf9, 0x7f, 0x4e, 0xe7, 0xd4};
- END_OF_FILE
- if test 3920 -ne `wc -c <'icon.mail'`; then
- echo shar: \"'icon.mail'\" unpacked with wrong size!
- fi
- # end of 'icon.mail'
- fi
- if test -f 'icon.nomail' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'icon.nomail'\"
- else
- echo shar: Extracting \"'icon.nomail'\" \(3929 characters\)
- sed "s/^X//" >'icon.nomail' <<'END_OF_FILE'
- X/*
- X * xmail - X window system interface to the mail program
- X *
- X * Copyright 1990 by National Semiconductor Corporation
- X *
- X * Permission to use, copy, modify, and distribute this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both that
- X * copyright notice and this permission notice appear in supporting
- X * documentation, and that the name of National Semiconductor Corporation not
- X * be used in advertising or publicity pertaining to distribution of the
- X * software without specific, written prior permission. National Semiconductor
- X * Corporation 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 * NATIONAL SEMICONDUCTOR CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO
- X * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- X * FITNESS, IN NO EVENT SHALL NATIONAL SEMICONDUCTOR CORPORATION BE LIABLE FOR
- X * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- X * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
- X * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- X * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- X *
- X * Author: Michael C. Wagnitz - National Semiconductor Corporation
- X *
- X */
- X
- X#define no_mail_width 56
- X#define no_mail_height 56
- X
- Xstatic char no_mail_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 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0,
- X 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xc0, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x18, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x04,
- X 0x00, 0x00, 0x00, 0x07, 0x00, 0x06, 0x06, 0x00, 0x00, 0x80, 0x01, 0x00,
- X 0x06, 0x07, 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x87, 0x07, 0x00, 0x00, 0xe0,
- X 0x1f, 0x80, 0xc7, 0x07, 0x00, 0x00, 0xf0, 0x3f, 0xc0, 0xe6, 0x07, 0x00,
- X 0x00, 0xf8, 0xe2, 0x60, 0x76, 0x07, 0x00, 0x00, 0x9c, 0xce, 0x31, 0x3e,
- X 0x03, 0x00, 0x00, 0x8e, 0x86, 0x19, 0x1e, 0x01, 0x00, 0x00, 0x86, 0x03,
- X 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00,
- X 0xc2, 0x06, 0x83, 0x07, 0x00, 0x00, 0x00, 0xa2, 0x0b, 0xc3, 0x07, 0x00,
- X 0x00, 0x00, 0x12, 0x11, 0xe3, 0x06, 0x00, 0x00, 0x00, 0x82, 0x02, 0x73,
- X 0x06, 0x00, 0x00, 0x00, 0xaa, 0x2a, 0x33, 0x06, 0x00, 0x00, 0x00, 0x52,
- X 0x15, 0x13, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x03, 0x00, 0x00,
- X 0x00, 0x02, 0x00, 0x83, 0x01, 0x00, 0x00, 0x00, 0x2a, 0x29, 0xc3, 0x00,
- X 0x00, 0x00, 0x00, 0xba, 0x2a, 0x63, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x2b,
- X 0x33, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x6a, 0x1b, 0x00, 0x00, 0x00, 0x00,
- X 0x02, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1f, 0x00, 0x00,
- X 0x00, 0x00, 0xfe, 0xff, 0x1b, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x19,
- X 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x18, 0x00, 0x00, 0x00, 0x00, 0xc0,
- X 0xc0, 0x18, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x18, 0x00, 0x00, 0x00,
- X 0x00, 0xc0, 0xc0, 0x18, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x18, 0x00,
- X 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x18, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0,
- X 0x18, 0x00, 0x80, 0x85, 0xd8, 0xca, 0xc0, 0x98, 0x02, 0x40, 0xc5, 0x92,
- X 0xca, 0xc0, 0x58, 0x46, 0x42, 0x69, 0xb2, 0xe4, 0xc0, 0xb8, 0x44, 0xc6,
- X 0xee, 0xaa, 0xe8, 0xc0, 0x78, 0x64, 0xb5, 0x8a, 0x22, 0xd6, 0xc0, 0xac,
- X 0xa9, 0x10, 0x29, 0xc8, 0xd6, 0xd5, 0xaf, 0xc0, 0xba, 0xc4, 0x4a, 0xd2,
- X 0xe9, 0x87, 0x4e, 0x5a, 0xdb, 0x67, 0xfb, 0xca, 0x7c, 0xee, 0x3f, 0xb7,
- X 0xdc, 0xe6, 0xe9, 0xd2, 0x33, 0xa5, 0x2a, 0x8f, 0xed, 0xba, 0x73, 0xb9,
- X 0x7b, 0xfd, 0x72, 0x9b, 0xda, 0x4e, 0xe7, 0xd4};
- END_OF_FILE
- if test 3929 -ne `wc -c <'icon.nomail'`; then
- echo shar: \"'icon.nomail'\" unpacked with wrong size!
- fi
- # end of 'icon.nomail'
- fi
- if test -f 'mail.xpm' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'mail.xpm'\"
- else
- echo shar: Extracting \"'mail.xpm'\" \(6765 characters\)
- sed "s/^X//" >'mail.xpm' <<'END_OF_FILE'
- X/* XPM */
- X/* */
- X/* xmail - X window system interface to the mail program */
- X/* */
- X/* Copyright 1990-1991 by National Semiconductor Corporation */
- X/* */
- X/* Permission to use, copy, modify, and distribute this software and its */
- X/* documentation for any purpose is hereby granted without fee, provided */
- X/* that the above copyright notice appear in all copies and that both that */
- X/* copyright notice and this permission notice appear in supporting */
- X/* documentation, and that the name of National Semiconductor Corporation */
- X/* not be used in advertising or publicity pertaining to distribution of the */
- X/* software without specific, written prior permission. National */
- X/* Semiconductor Corporation makes no representations about the suitability */
- X/* of this software for any purpose. It is provided "as is" without express */
- X/* or implied warranty. */
- X/* */
- X/* NATIONAL SEMICONDUCTOR CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD */
- X/* TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND */
- X/* FITNESS, IN NO EVENT SHALL NATIONAL SEMICONDUCTOR CORPORATION BE LIABLE */
- X/* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES */
- X/* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN */
- X/* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF */
- X/* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
- X/* */
- X/* Author: Michael C. Wagnitz - National Semiconductor Corporation */
- X/* */
- X
- Xstatic char *mail_xpm [] = {
- X"64 64 9 1",
- X"L c #9898FBFB9898 m white",
- X"D c #2E2E8B8B5757 m black",
- X"B c lightskyblue m white",
- X"W c tan m white",
- X"F c indianred m black",
- X"o c black m black",
- X"M c darkorange m white",
- X"I c brown m white",
- X"+ c white m white",
- X"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDL",
- X"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFFBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFFFBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFFFFBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFFFFBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFFFFBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFFFBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBoooooFFFBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBoooooooFFoBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBoooMMMMMFMooBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBooMMMMMMMoMMooBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBoooMMMMMMMMoMMMooBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBoooMMMMMMMMMoMMMMooBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBooMMMMMMMMMMMoMMMMooBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBooMMMMMMMMMMMMoMMMoooBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBooooooooMMMMMMMoMMooMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBoooooooooooMMMMMoMooMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBooIIIIIIIoIooMMMMoooMMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBooIIIIIIIIoIIooMMMooMMMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBooIIIIIIooooIIooMMooMMMMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBooIIIIIo+oooIIIoMoooMMMMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoIIIIIo++o+ooIIoooMoMMMMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoIIIIo+++o++ooIooMMoMMMMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoIIIo++++o+++oooMMMoMMMMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoIIo+++++o++++ooMMMoMMMMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoIo++++++o+++++oMMMoMMMMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoIoooooooo+++++oMMMoMMMMMoBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoIo++++++++++++oMMMoMMMMooBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoIoo+++++++++++oMMMMMMMooBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMooo+++++++++ooMMMMMMooBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMoooo+++++++oIoMMMMMooBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMMoooo+++++oIIoMMMMooBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMMooooo+++oIIIoMMMooBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMMMooooo+oMMMIoMMooBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMMMooooooMMMMMoMoooBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMooMMMMMMMMMMMoooWoBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoooMMMMMMMMMMMMooWWoBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBooooooooooooooooWWWoBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBooooooooooooooooWWWoBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMMMMMMMMMMMMMMoWWWoBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMoMoMoMoMoMooMoWWWoBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMoMoMoooMoMoMMoWWWoBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMoooMoMoMoMoMMoWWWoBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBoMoMoMMoMMoMoMMoWWWoBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBLBoMMMMMMMMMMMMMMoWWWoBBBBBBBBBBBBBBBBBBLBBLL",
- X"DDBBLBLBBBBLBBBLLBLLBoMMMMMMMMMMMMMMoWWWoBBLBLBBBBBBBBBBBBLBBBLL",
- X"DDBBLBLBBBLLBLBBLBBLBoMMoMoMoMoMoMMMoWWWoBLBBLLBBBLBBLBBBBLBBBLL",
- X"DDBBLDDLDLLDDLDDLLDLDoMoMoMoMoMoMoMMoWWWoLDLDDLDDDLDDLLDDDLLBBLL",
- X"DDBBDLLLDLLLDLDLDLDLDoMMMMMoMoMMMMMMoWWWDLLDDDLDDLLDLDLDLLDLBBLL",
- X"DDBBDLDLDDDLDLDDDLDDDoMMoMMMoMMMoMMMoWWLDLDLLDDLDLDLDDDDLDDDBBLL",
- X"DDBBLDDLDLDDDDDLDDLLDoMMMoMoooMoMMMMoWLLDLDLDDDDDDLLDLDLLLDLBBLL",
- X"DDBBDDLDDDLLDLDLDDLDDooMMMooMooMMMMooLLDDDDLDLLLDDLDDLDLLDLDBBLL",
- X"DDBBLLDLLDLLLLLDDLLDLooMMMMMMMMMMMooDDLLLLLDDLLLDLLLLLLLLLDDBBLL",
- X"DDBBLLLDLLDLDDLLLDLLDLooMMMooooMMMoLDLDDLDLLLLDDLLDDLDLDDLDLBBLL",
- X"DDBBDLDLDLDDLLLLDDDLLDLooMMMooMMMooLLLDDLLLDLDDLLLDLLLDLLLLDBBLL",
- X"DDBBLDLLLLLLDLDDLLLDLDDLooooooooooLLDLLLDDLDLLLDDLLLDDLDLDLLBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBLL",
- X"DDBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBLL",
- X"DLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL",
- X"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL"};
- END_OF_FILE
- if test 6765 -ne `wc -c <'mail.xpm'`; then
- echo shar: \"'mail.xpm'\" unpacked with wrong size!
- fi
- # end of 'mail.xpm'
- fi
- if test -f 'make.file' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'make.file'\"
- else
- echo shar: Extracting \"'make.file'\" \(3750 characters\)
- sed "s/^X//" >'make.file' <<'END_OF_FILE'
- X#
- X# alternate make file for xmail 1.5
- X#
- X# It is HIGHLY recommended that you utilize xmkmf and the imake utilities
- X# to build a Makefile from the Imakefile source. This default make file is
- X# provided for those systems that do not have the imake utilities installed.
- X# There may be several instances of local defines which are not implemented
- X# because of their normal existance from within imake. You may have to
- X# experiment with using this make file in order to build a working program.
- X#
- X#
- X# Uncomment USE_DIRENT if readdir() uses <dirent.h> instead of <sys/dir.h>
- X#
- X# USE_DIRENT = -DUSE_DIRENT
- X#
- X# Uncomment X_FACE and COMPFACE if you have the compface library installed
- X# and you want xmail to automatically display the X-Face: header, if found
- X# in a message.
- X#
- X# X_FACE = -DX_FACE
- X# COMPFACE = -lcompface
- X#
- X# Uncomment XPM if you have the Xpm version 3 library and want color icons
- X#
- X# XPM = -DXPM
- X# LIBXPM = -lXpm
- X#
- X# Uncomment LPT if you require att environment support for pseudo ports.
- X#
- X# LPT = -lpt
- X#
- X# Uncomment REGEXP if your system supplies the regexp.h include file.
- X# Otherwise, xmail will use the regex procedures re_comp and re_exec.
- X#
- X# REGEXP = -DUSE_REGEXP
- X#
- X# Uncomment MAILBOX_DIRECTORY if your mail spool is located in other than the
- X# default /usr/spool/mail. (If not specified, the default will be used.)
- X#
- X# MAILBOX_DIR = -DMAILBOX_DIRECTORY=\"/usr/spool/mail\"
- X#
- X# Uncomment DEFAULT_VISUAL if your copy of vi lies in some place other than
- X# /usr/ucb. (If not specified, /usr/ucb/vi will be the default editor.)
- X#
- X# DEF_VISUAL = -DDEFAULT_VISUAL=\"/usr/ucb/vi\"
- X#
- X# Uncomment DEFAULT_MAILER if your mail program is not the standard
- X# /usr/ucb/Mail. CAUTION - Operation is NOT guaranteed with other mailers.
- X#
- X# DEF_MAILER = -DDEFAULT_MAILER=\"/usr/ucb/Mail\"
- X#
- X# Define SIGACTION if your system utilizes the sigaction() call rather
- X# than the sigvec() call (true on most SYSV and POSIX compilant systems)
- X# You may also need to add the following BSD define (true on SGI systems)
- X#
- X# SIGDEF = -D_BSD_SIGNALS
- X#
- X# SIGACT = -DSIGACTION
- X#
- X BINDIR = /usr/bin/X11
- X APPDIR = /usr/lib/X11/app-defaults
- X MANDIR = /usr/man/mann
- X CC = cc
- X LD = ld
- X INSTALL = install
- X INSTBINFLAGS = -s -m 0755
- X INSTAPPFLAGS = -m 0644
- X INSTMANFLAGS = -m 0644
- X RM = rm -f
- X LINK = ln -s
- X RANLIB = ranlib
- X MAKE = make
- X SHELL = /bin/sh
- XXMAIL_DEFINES = $(MAILBOX_DIR) $(DEF_VISUAL) $(DEF_MAILER) $(SIGACT) $(SIGDEF)
- X DEFINES = $(USE_DIRENT) $(X_FACE) $(XPM) $(REGEXP) $(XMAIL_DEFINES)
- X CFLAGS = $(DEFINES)
- X LIBRARIES = $(LIBXPM) -lXaw -lXmu -lXt -lXext -lX11 $(COMPFACE) $(LPT)
- X PROGRAM = xmail
- X
- X SRCS = \
- X HelpText.c \
- X Mailwatch.c \
- X actions.c \
- X callMail.c \
- X callbacks.c \
- X confirm.c \
- X directory.c \
- X environs.c \
- X handler.c \
- X mail.c \
- X parser.c \
- X utils.c \
- X windows.c \
- X xmail.c
- X
- X OBJS = \
- X HelpText.o \
- X Mailwatch.o \
- X actions.o \
- X callMail.o \
- X callbacks.o \
- X confirm.o \
- X directory.o \
- X environs.o \
- X handler.o \
- X mail.o \
- X parser.o \
- X utils.o \
- X windows.o \
- X xmail.o
- X
- X INCS = \
- X MailwatchP.h \
- X Mailwatch.h \
- X defs.h \
- X global.h \
- X mail.xpm \
- X nomail.xpm \
- X icon.mail \
- X icon.nomail \
- X national.bm \
- X patchlevel.h \
- X revtable.h \
- X xmailregexp.h
- X#
- X$(PROGRAM): $(OBJS)
- X @$(RM) $@
- X $(CC) -o $@ $(OBJS) $(LDFLAGS) $(LIBRARIES)
- X
- Xinstall:: $(PROGRAM)
- X $(INSTALL) -c $(INSTBINFLAGS) $? $(BINDIR)
- X
- Xinstall:: XMail.ad
- X $(INSTALL) -c $(INSTAPPFLAGS) $? $(APPDIR)/XMail
- X
- Xinstall::
- X @echo done
- X
- Xinstall.man:: xmail.man
- X $(INSTALL) -c $(INSTMANFLAGS) $? $(MANDIR)/xmail.n
- X
- Xinstall.man::
- X @echo install man done
- X
- Xclean:
- X @$(RM) *.o
- X
- X$(OBJS): $(INCS)
- END_OF_FILE
- if test 3750 -ne `wc -c <'make.file'`; then
- echo shar: \"'make.file'\" unpacked with wrong size!
- fi
- # end of 'make.file'
- fi
- if test -f 'nomail.xpm' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'nomail.xpm'\"
- else
- echo shar: Extracting \"'nomail.xpm'\" \(6705 characters\)
- sed "s/^X//" >'nomail.xpm' <<'END_OF_FILE'
- X/* XPM */
- X/* */
- X/* xmail - X window system interface to the mail program */
- X/* */
- X/* Copyright 1990-1991 by National Semiconductor Corporation */
- X/* */
- X/* Permission to use, copy, modify, and distribute this software and its */
- X/* documentation for any purpose is hereby granted without fee, provided */
- X/* that the above copyright notice appear in all copies and that both that */
- X/* copyright notice and this permission notice appear in supporting */
- X/* documentation, and that the name of National Semiconductor Corporation */
- X/* not be used in advertising or publicity pertaining to distribution of the */
- X/* software without specific, written prior permission. National */
- X/* Semiconductor Corporation makes no representations about the suitability */
- X/* of this software for any purpose. It is provided "as is" without express */
- X/* or implied warranty. */
- X/* */
- X/* NATIONAL SEMICONDUCTOR CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD */
- X/* TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND */
- X/* FITNESS, IN NO EVENT SHALL NATIONAL SEMICONDUCTOR CORPORATION BE LIABLE */
- X/* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES */
- X/* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN */
- X/* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF */
- X/* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
- X/* */
- X/* Author: Michael C. Wagnitz - National Semiconductor Corporation */
- X/* */
- X
- Xstatic char *nomail_xpm [] = {
- X"64 64 7 1",
- X"L c #9898FBFB9898 m white",
- X"D c #2E2E8B8B5757 m black",
- X"B c lightskyblue m white",
- X"W c tan m white",
- X"F c indianred m black",
- X"o c black m black",
- X"M c darkorange m white",
- X"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLD",
- X"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBoooooooBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBooooooooooBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBoooMMMMMMMooBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBooMMMMMMMMMMooBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBoooMMMMMMMMMMMMooBBBBBBBBFBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBoooMMMMMMMMMMMMMMooBBBBBBFFBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBooMMMMMMMMMMMMMMMMooBBBBBFFFBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBooMMoooMMMMMMMMMMMoooBBBBoFFFBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBooooooooMMMMMMMMMMooMoBBBooFFFBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBooooooooooMMMMMMMMooMMoBBooBFFFBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBoooooFoMMMoooMMMMMooMMMoBooBBFFFBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBoooMMoFoooMMoooMMMooMMMMoooBBBFFBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoooMMMoFooMMMMooMMooMMMMMooBBBBFBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBooMMMMoooMMMMMMooooMMMMMooBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMMMMMMMMMMMMMMoooMMMMMoooBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMMMMooMooMMMMMooMMMMMooMoBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMMMoMoooMoMMMMoMMMMMooMMoBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMMoMMMoMMMoMMMoMMMMooMMMoBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMMMMMoMoMMMMMMoMMMooMMMMoBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMoMoMoMoMoMoMMoMMMoMMMMMoBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMMoMoMoMoMoMMMoMMMMMMMMooBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMMMMMMMMMMMMMMoMMMMMMMooBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMMMMMMMMMMMMMMoMMMMMMooBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMoMoMMoMMoMoMMoMMMMMooBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMoooMoMoMoMoMMoMMMMooBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMoMoMoooMoMoMMoMMMooBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMoMoMoMoMoMooMoMMooBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMMMMMMMMMMMMMMoMoooBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoMMMMMMMMMMMMMMoooWoBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBoooooooooooooooooWWoBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBooooooooooooooooWWWoBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBoWWWWWWWWoWWWWoBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBoWWWWWWWWoWWWWoBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBoWWWWWWWWoWWWWoBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBoWWWWWWWWoWWWWoBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBoWWWWWWWWoWWWWoBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBoWWWWWWWWoWWWWoBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBLBBBBBBoWWWWWWWWoWWWWoBBBBBBBBBBBBBBBBBBLBBDD",
- X"LLBBLBLBBBBLBBBLLBLLBLBLBBoWWWWWWWWoWWWWoBBLBLBBBBBBBBBBBBLBBBDD",
- X"LLBBLBLBBBLLBLBBLBBLBLBLBBoWWWWWWWWoWWWWoBLBBLLBBBLBBLBBBBLBBBDD",
- X"LLBBLDDLDLLDDLDDLLDLDDLDDLoWWWWWWWWoWWWWoLDLDDLDDDLDDLLDDDLLBBDD",
- X"LLBBDLLLDLLLDLDLDLDLDDDLDLoWWWWWWWWoWWWWDLLDDDLDDLLDLDLDLLDLBBDD",
- X"LLBBDLDLDDDLDLDDDLDDDLLDLDoWWWWWWWWoWWWLDLDLLDDLDLDLDDDDLDDDBBDD",
- X"LLBBLDDLDLDDDDDLDDLLDLLDLDoWLWLWLWWoWWLLDLDLDDDDDDLLDLDLLLDLBBDD",
- X"LLBBDDLDDDLLDLDLDDLDDLDDLDoWLWWLWLWoWLLDDDDLDLLLDDLDDLDLLDLDBBDD",
- X"LLBBLLDLLDLLLLLDDLLDLLDLLLLLDLDLDDLLDDLLLLLDDLLLDLLLLLLLLLDDBBDD",
- X"LLBBLLLDLLDLDDLLLDLLDLLDDLLLLDDLDLLLDLDDLDLLLLDDLLDDLDLDDLDLBBDD",
- X"LLBBDLDLDLDDLLLLDDDLLDLLDLLLDLDLLLDLLLDDLLLDLDDLLLDLLLDLLLLDBBDD",
- X"LLBBLDLLLLLLDLDDLLLDLLDLLDLLDLDLLDLLDLLLDDLDLLLDDLLLDDLDLDLLBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LLBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBDD",
- X"LDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD",
- X"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"};
- END_OF_FILE
- if test 6705 -ne `wc -c <'nomail.xpm'`; then
- echo shar: \"'nomail.xpm'\" unpacked with wrong size!
- fi
- # end of 'nomail.xpm'
- fi
- if test -f 'revtable.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'revtable.h'\"
- else
- echo shar: Extracting \"'revtable.h'\" \(1870 characters\)
- sed "s/^X//" >'revtable.h' <<'END_OF_FILE'
- X/*
- X** 256-byte table for quickly reversing the bits in an unsigned 8-bit char,
- X** used to convert between MSBFirst and LSBFirst image formats.
- X*/
- X
- Xchar revtable[256] = {
- X 0, -128, 64, -64, 32, -96, 96, -32,
- X 16, -112, 80, -48, 48, -80, 112, -16,
- X 8, -120, 72, -56, 40, -88, 104, -24,
- X 24, -104, 88, -40, 56, -72, 120, -8,
- X 4, -124, 68, -60, 36, -92, 100, -28,
- X 20, -108, 84, -44, 52, -76, 116, -12,
- X 12, -116, 76, -52, 44, -84, 108, -20,
- X 28, -100, 92, -36, 60, -68, 124, -4,
- X 2, -126, 66, -62, 34, -94, 98, -30,
- X 18, -110, 82, -46, 50, -78, 114, -14,
- X 10, -118, 74, -54, 42, -86, 106, -22,
- X 26, -102, 90, -38, 58, -70, 122, -6,
- X 6, -122, 70, -58, 38, -90, 102, -26,
- X 22, -106, 86, -42, 54, -74, 118, -10,
- X 14, -114, 78, -50, 46, -82, 110, -18,
- X 30, -98, 94, -34, 62, -66, 126, -2,
- X 1, -127, 65, -63, 33, -95, 97, -31,
- X 17, -111, 81, -47, 49, -79, 113, -15,
- X 9, -119, 73, -55, 41, -87, 105, -23,
- X 25, -103, 89, -39, 57, -71, 121, -7,
- X 5, -123, 69, -59, 37, -91, 101, -27,
- X 21, -107, 85, -43, 53, -75, 117, -11,
- X 13, -115, 77, -51, 45, -83, 109, -19,
- X 29, -99, 93, -35, 61, -67, 125, -3,
- X 3, -125, 67, -61, 35, -93, 99, -29,
- X 19, -109, 83, -45, 51, -77, 115, -13,
- X 11, -117, 75, -53, 43, -85, 107, -21,
- X 27, -101, 91, -37, 59, -69, 123, -5,
- X 7, -121, 71, -57, 39, -89, 103, -25,
- X 23, -105, 87, -41, 55, -73, 119, -9,
- X 15, -113, 79, -49, 47, -81, 111, -17,
- X 31, -97, 95, -33, 63, -65, 127, -1,
- X} ;
- END_OF_FILE
- if test 1870 -ne `wc -c <'revtable.h'`; then
- echo shar: \"'revtable.h'\" unpacked with wrong size!
- fi
- # end of 'revtable.h'
- fi
- if test -f 'xmailregexp.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'xmailregexp.h'\"
- else
- echo shar: Extracting \"'xmailregexp.h'\" \(4066 characters\)
- sed "s/^X//" >'xmailregexp.h' <<'END_OF_FILE'
- X/*
- X** @(#) xmailregexp.h
- X**
- X** xmail - X window system interface to the mail program
- X**
- X** Copyright 1991,1992 by National Semiconductor Corporation
- X**
- X** Permission to use, copy, modify, and distribute this software and its
- X** documentation for any purpose is hereby granted without fee, provided that
- X** the above copyright notice appear in all copies and that both that
- X** copyright notice and this permission notice appear in supporting
- X** documentation, and that the name of National Semiconductor Corporation not
- X** be used in advertising or publicity pertaining to distribution of the
- X** software without specific, written prior permission.
- X**
- X** NATIONAL SEMICONDUCTOR CORPORATION MAKES NO REPRESENTATIONS ABOUT THE
- X** SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS"
- X** WITHOUT EXPRESS OR IMPLIED WARRANTY. NATIONAL SEMICONDUCTOR CORPORATION
- X** DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
- X** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO
- X** EVENT SHALL NATIONAL SEMICONDUCTOR CORPORATION 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** Author: Michael C. Wagnitz - National Semiconductor Corporation
- X**
- X*/
- X
- X#define XM_C_START 0
- X#define XM_C_EXEC 1
- X#define XM_C_FILE 2
- X#define XM_C_DELETE 3
- X#define XM_C_NEWMAIL 4
- X
- X#ifndef PARSER
- Xextern PatternRec command_pattern[];
- X#else
- XPatternRec command_pattern[] = {
- X { "^Start", NULL }, /* 0 */
- X { NULL, "" }, /* indx chg */
- X { "^[-n]", NULL }, /* 1 */
- X { "^[pPcCsSw] .*", NULL }, /* 1 */
- X { "^hold .*", NULL }, /* 1 */
- X { NULL, "" },
- X { "^file [^%].*", NULL }, /* 2 */
- X { NULL, "" },
- X { "^[du].*", NULL }, /* 3 */
- X { NULL, "" },
- X { "^file %", NULL }, /* 4 */
- X { "^inc", NULL }, /* 4 */
- X { NULL, NULL },
- X };
- X#endif
- X
- X#define XM_O_BELL 0
- X#define XM_O_EXEC 1
- X#define XM_O_PRINT 2
- X#define XM_O_FILE 3
- X
- X#ifndef PARSER
- Xextern PatternRec output_pattern[];
- X#else
- XPatternRec output_pattern[] = {
- X { "^At ", NULL }, /* 0 */
- X { "^No ", NULL }, /* 0 */
- X { "^Unknown ", NULL }, /* 0 */
- X { "^Referencing ", NULL }, /* 0 */
- X { "^Cannot ", NULL }, /* 0 */
- X { "^Not ", NULL }, /* 0 */
- X { "^May ", NULL }, /* 0 */
- X { "^\"[^\"]*\" \\[Appended\\] ", NULL }, /* 0 */
- X { "^\"[^\"]*\" \\[New file\\] ", NULL }, /* 0 */
- X { "^\"[^\"]*\" No such file or directory", NULL }, /* 0 */
- X { "^\"[^\"]*\" Invalid argument", NULL }, /* 0 */
- X { "^\"[^\"]*\" Permission denied", NULL }, /* 0 */
- X { "^\"[^\"]*\" The file access permissions do not", NULL }, /* 0 */
- X { "^\"[^\"]*\" Not a directory", NULL }, /* 0 */
- X { "^[0-9][0-9]*: Inappropriate message", NULL }, /* 0 */
- X { "^[0-9][0-9]*: Invalid message number", NULL }, /* 0 */
- X { "^[^:]*: No such file or directory", NULL }, /* 0 */
- X { "^[^:]*: A file or directory in the path name", NULL }, /* 0 */
- X { "^[^:]*: Not a directory", NULL }, /* 0 */
- X { "^[^:]*: not a regular file", NULL }, /* 0 */
- X { "^[^:]*: Cannot write to a directory", NULL }, /* 0 */
- X { "^[^:]*: empty file", NULL }, /* 0 */
- X { "^[^ ]* unreadable", NULL }, /* 0 */
- X { "^[^ ]* not found", NULL }, /* 0 */
- X { "^[^:]*: [^:]*: Permission denied", NULL }, /* 0 */
- X { "^[^:]*: Permission denied", NULL }, /* 0 */
- X { NULL, "" },
- X { "^From ", NULL }, /* 1 */
- X { "^Message ", NULL }, /* 1 */
- X { NULL, "" },
- X { "^Pipe to: \"[^\"]*\"", NULL }, /* 2 */
- X { NULL, "" },
- X { "^Held ", NULL }, /* 3 */
- X { "^\"[^\"]*\": [0-9][0-9]* message.*", NULL }, /* 3 */
- X { "^\"[^\"]*\" complete", NULL }, /* 3 */
- X { "^[^:]*: .*", NULL }, /* 3 */
- X { NULL, NULL }, /* 3 */
- X};
- X#endif
- END_OF_FILE
- if test 4066 -ne `wc -c <'xmailregexp.h'`; then
- echo shar: \"'xmailregexp.h'\" unpacked with wrong size!
- fi
- # end of 'xmailregexp.h'
- fi
- echo shar: End of archive 9 \(of 10\).
- cp /dev/null ark9isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 10 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
- --
- // chris@IMD.Sterling.COM | Send comp.sources.x submissions to:
- \X/ Amiga - The only way to fly! |
- "It's intuitively obvious to the most | sources-x@imd.sterling.com
- casual observer..." |
-