home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.misc
- From: Bart Schaefer <schaefer@cse.ogc.edu>
- Subject: v20i016: mush - Mail User's Shell, Patch03
- Message-ID: <1991May23.150140.21774@sparky.IMD.Sterling.COM>
- X-Md4-Signature: dff09bfe8266ac49b4befc0591b0969e
- Date: Thu, 23 May 1991 15:01:40 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: Bart Schaefer <schaefer@cse.ogc.edu>
- Posting-number: Volume 20, Issue 16
- Archive-name: mush/patch03
- Patch-To: mush: Volume 18, Issue 58-79
-
- @OFF
-
- This is Official Patch #3 for Mush 7.2. As usual, complete sources for
- Mush (already including the changes in this patch) can be obtained via
- anonymous ftp from:
-
- cse.ogi.edu:pub/mush/mush-7.2.tar.Z
-
- Mush 7.2 was recently posted to comp.sources.misc at patchlevel 2.
- This patch and any future patches will be made available for ftp from
- cse.ogi.edu, or you can send E-mail to me:
-
- schaefer@cse.ogi.edu
-
- Include in your message a line of the form
-
- @PATCH patch-number path-from-ogicse-to-you
-
- where patch-number is the number of the patch you need (digit, 1 or 2)
- and path-from-ogicse-to-you is either your Internet domain address or
- a UUCP path from site ogicse to you at your site. There continue to
- be sendmail configuration problems at ogicse so please do not use mixed
- UUCP and Internet addresses and do not use domain names (with `.'s) in
- UUCP paths. Ogicse does do UUCP map lookups now, so user@site.UUCP will
- often work if your site is registered. If you don't get your patches
- in 2 or 3 days, try again, but use a different path.
-
- You may include one @PATCH line for each patch you need.
-
- You can also recieve a complete set of sources by E-mail by including
- a line of the form
-
- @MUSH path-from-ogicse-to-you
-
- where path-from-ogicse-to-you is as above. You need not request both
- source and patches; the source you receive will include all current
- patches. Sources are shipped as a 10-part compressed tar file, encoded
- for mailing with the "btoa" utility. You will receive instructions
- explaining how to unpack the tar file in a separate message.
-
- CSNet also operates an E-mail server that accesses anonymous ftp. It
- may or may not be functional at this time. To find out, and to get
- instructions for using the server, send a message to info-server@cs.net
- with the following lines in the text:
-
- request: info
- topic: help-ftp
- request: end
-
- Other information, plus questions and answers, on mush and mush patches
- is available from the mush-users mailing list, which is gatewayed in
- both directions with newsgroup comp.mail.mush. The list currently
- resides at mush-users@apple.com. Requests to be added to or deleted
- from the list should be sent to mush-users-request@apple.com
-
- Bug fixes in this patch:
-
- * The user's real name ($realname) is no longer left empty.
-
- * REGCMP users (mostly SysV) no longer get core dumps when using pick.
-
- * Attempts to send mail (e.g. via Fcc: headers) to the same file or
- folder more than once *silently* sends only one copy to the file.
- (Before, it complained about not being able to write to the file
- for the second and later attempts.)
-
- * SCO UNIX 3.2 users who are having problems with "submit" can now
- define M_EXECMAIL to use execmail as their interface to MMDF. This
- has the pleasant side-effect of making the MTA invocation compatible
- with sendmail, so resetting the variable "sendmail" works cleanly.
-
- * Problems with file locking and lock.c typos for SCO UNIX have been
- corrected (we hope).
-
- * SCO UNIX correctly includes <sys/select.h> (we hope).
-
- * Attempts to load folders containing more than the defined maximum
- number of messages work a bit better. You still can't load all the
- messages, but the results are less strange.
-
- * Some <curses.h> macro name clashes for unusual UNIXen have been
- forcibly suppressed.
-
- * An amazingly old string overflow bug in toolmode has been fixed.
-
- Prereq: "4/12/91"
- *** /tmp/,RCSt1014785 Wed May 22 23:31:39 1991
- --- version.h Wed May 22 19:08:55 1991
- ***************
- *** 1,7 ****
- /* @(#)version.h (c) Copyright 1989, 1990, 1991 (Dan Heller) */
-
- #define MUSHNAME "Mail User's Shell"
- ! #define RELEASE_DATE "4/12/91"
- #define RELEASE 7
- #define REVISION "2"
- ! #define PATCHLEVEL 2
- --- 1,7 ----
- /* @(#)version.h (c) Copyright 1989, 1990, 1991 (Dan Heller) */
-
- #define MUSHNAME "Mail User's Shell"
- ! #define RELEASE_DATE "5/22/91"
- #define RELEASE 7
- #define REVISION "2"
- ! #define PATCHLEVEL 3
- *** /tmp/,RCSt1015666 Wed May 22 23:51:21 1991
- --- README Wed May 22 23:50:58 1991
- ***************
- *** 83,88 ****
- --- 83,90 ----
- SUN_4_0, or SUN_4_1 depending on your SunOS version. If SUNTOOL is
- the only thing defined, SUN_4_1 will be used. If your version of
- SunOS is older than 3.5, you can't use SUNTOOL, so go to makefile.bsd.
- + NOTE: Even though SUN_4_1 is the default, NO_COMMAS is not defined
- + unless you explicitly define SUN_4_1 or (NO_COMMAS itself).
-
- You may also choose to define NO_WALK_MENUS to disable walking menus
- for file names selectable from the "folder" and "save" command items.
- ***************
- *** 220,225 ****
- --- 222,231 ----
- appropriate library to the LIBS list in your makefile.
-
- MMDF sites should probably NOT define PICKY_MAILER (see below).
- +
- + If you are using SCO UNIX 3.2 and the MMDF "submit" program gives you
- + trouble because of file permissions, define M_EXECMAIL to use the
- + execmail program instead.
-
- All others:
- Chances are, your MTA uses the "From " format to separate messges in
- *** /tmp/,RCSt1015666 Wed May 22 23:51:32 1991
- --- config.h-dist Thu May 16 19:51:35 1991
- ***************
- *** 77,82 ****
- --- 77,86 ----
- * If you are using MMDF, define MMDF here.
- */
- /* #define MMDF /**/
- + #if defined(M_UNIX) && defined(M_XENIX)
- + #define MMDF
- + /* #define M_EXECMAIL /* Define if you haven't fixed submit permissions */
- + #endif /* M_UNIX && M_XENIX */
- #ifdef MMDF
- /*
- * If MMDF delivers mail the user's home directory, define HOMEMAIL.
- ***************
- *** 83,91 ****
- --- 87,101 ----
- * Also check the definition of the delivery file name MAILFILE, below.
- */
- /* #define HOMEMAIL /**/
- + #ifdef M_EXECMAIL
- + #define MAIL_DELIVERY "/usr/lib/mail/execmail"
- + # define VERBOSE_ARG "-v"
- + # define METOO_ARG "-m"
- + #else /* M_EXECMAIL */
- #define MAIL_DELIVERY "exec /usr/mmdf/bin/submit -mlnr"
- #define VERBOSE_ARG "Ww"
- #define MTA_EXIT 9 /* exit status for successful submit */
- + #endif /* M_EXECMAIL */
- #else /* MMDF */
- /*
- * If you are not using MMDF, check these definitions.
- *** /tmp/,RCSt1015666 Wed May 22 23:51:38 1991
- --- file.c Wed May 22 18:18:27 1991
- ***************
- *** 317,323 ****
- error("Can't execute %s\n", tmp);
- } else if (lockit) {
- /* Lock on open */
- ! if (!(newfile = lock_fopen(tmp, mode)))
- error("Can't write to %s", tmp);
- } else {
- /* Ordinary open */
- --- 317,323 ----
- error("Can't execute %s\n", tmp);
- } else if (lockit) {
- /* Lock on open */
- ! if (!(newfile = lock_fopen(tmp, mode)) && errno != EWOULDBLOCK)
- error("Can't write to %s", tmp);
- } else {
- /* Ordinary open */
- *** /tmp/,RCSt1015666 Wed May 22 23:51:42 1991
- --- init.c Wed May 22 21:57:16 1991
- ***************
- *** 72,78 ****
- argv[2] = home;
- (void) add_option(&set_options, argv);
- }
- ! if (realname && *realname) {
- /* realname has already been copied to buf */
- argv[0] = "realname";
- argv[2] = buf;
- --- 72,78 ----
- argv[2] = home;
- (void) add_option(&set_options, argv);
- }
- ! if (realname && *buf) {
- /* realname has already been copied to buf */
- argv[0] = "realname";
- argv[2] = buf;
- *** /tmp/,RCSt1015666 Wed May 22 23:51:43 1991
- --- lock.c Thu May 16 20:13:28 1991
- ***************
- *** 95,105 ****
- #ifdef EWOULDBLOCK
- #undef EWOULDBLOCK
- #endif /* EWOULDBLOCK */
- - #ifdef M_UNIX
- - #define EWOULDBLOCK EACCESS /* SCO bug that may eventually be fixed */
- - #else /* !M_UNIX */
- #define EWOULDBLOCK EAGAIN
- - #endif /* M_UNIX */
-
- #ifndef F_SETLKW
- #define F_SETLKW F_SETLK
- --- 95,101 ----
- ***************
- *** 234,240 ****
- #ifdef LCKDFLDIR
- if (Access(filename, any(mode, "aw+") ? W_OK : R_OK) == 0)
- #else /* !LCKDFLDIR */
- ! if (errno == EWOULDBLOCK)
- #endif /* LCKDFLDIR */
- {
- if (isoff(glob_flags, REDIRECT))
- --- 230,240 ----
- #ifdef LCKDFLDIR
- if (Access(filename, any(mode, "aw+") ? W_OK : R_OK) == 0)
- #else /* !LCKDFLDIR */
- ! if (errno == EWOULDBLOCK
- ! #ifdef M_UNIX
- ! || errno == EACCES
- ! #endif /* M_UNIX */
- ! )
- #endif /* LCKDFLDIR */
- {
- if (isoff(glob_flags, REDIRECT))
- *** /tmp/,RCSt1015666 Wed May 22 23:51:46 1991
- --- mail.c Thu May 16 20:06:11 1991
- ***************
- *** 1110,1120 ****
- if (!istool && (ison(flags, VERBOSE) || do_set(set_options, "verbose"))) {
- turnon(flags, VERBOSE); /* prevent fork when "verbose" has changed */
- oldchld = signal(SIGCHLD, SIG_DFL); /* let pclose() do the wait() */
- ! #ifdef MMDF
- b = &buf[strlen(sprintf(buf, "%s%s", p, VERBOSE_ARG))];
- #else /* MMDF */
- b = &buf[strlen(sprintf(buf, "%s %s", p, VERBOSE_ARG))];
- ! #endif /* MMDF */
- } else
- #endif /* VERBOSE_ARG */
- b = buf + Strcpy(buf, p);
- --- 1110,1120 ----
- if (!istool && (ison(flags, VERBOSE) || do_set(set_options, "verbose"))) {
- turnon(flags, VERBOSE); /* prevent fork when "verbose" has changed */
- oldchld = signal(SIGCHLD, SIG_DFL); /* let pclose() do the wait() */
- ! #if defined(MMDF) && !defined(M_EXECMAIL)
- b = &buf[strlen(sprintf(buf, "%s%s", p, VERBOSE_ARG))];
- #else /* MMDF */
- b = &buf[strlen(sprintf(buf, "%s %s", p, VERBOSE_ARG))];
- ! #endif /* MMDF && !M_EXECMAIL */
- } else
- #endif /* VERBOSE_ARG */
- b = buf + Strcpy(buf, p);
- ***************
- *** 1294,1302 ****
- return fork_pid;
- }
-
- ! #ifdef MMDF
- *(addr_list-1) = '\0';
- ! #endif /* MMDF */
- if (debug > 2) {
- files[0] = stdout;
- if (!*addr_list)
- --- 1294,1302 ----
- return fork_pid;
- }
-
- ! #if defined(MMDF) && !defined(M_EXECMAIL)
- *(addr_list-1) = '\0';
- ! #endif /* MMDF && !M_EXECMAIL */
- if (debug > 2) {
- files[0] = stdout;
- if (!*addr_list)
- ***************
- *** 1314,1320 ****
-
- if (ison(flags, VERBOSE))
- wprint("Sending letter ... "), (void) fflush(stdout);
- ! #ifdef MMDF
- /* give address list to submit */
- for (p = addr_list; *p && (p = any(p, ",<")); p++)
- if (*p == ',')
- --- 1314,1320 ----
-
- if (ison(flags, VERBOSE))
- wprint("Sending letter ... "), (void) fflush(stdout);
- ! #if defined(MMDF) && !defined(M_EXECMAIL)
- /* give address list to submit */
- for (p = addr_list; *p && (p = any(p, ",<")); p++)
- if (*p == ',')
- ***************
- *** 1323,1329 ****
- p = index(p, '>');
- if (*addr_list)
- (void) fprintf(files[0], "%s\n\n", addr_list);
- ! #endif /* MMDF */
-
- /* see if log is set. This is just to add message headers. No msg body. */
- if (p = do_set(set_options, "logfile")) {
- --- 1323,1329 ----
- p = index(p, '>');
- if (*addr_list)
- (void) fprintf(files[0], "%s\n\n", addr_list);
- ! #endif /* MMDF && !M_EXECMAIL */
-
- /* see if log is set. This is just to add message headers. No msg body. */
- if (p = do_set(set_options, "logfile")) {
- *** /tmp/,RCSt1015666 Wed May 22 23:51:53 1991
- --- msgs.c Wed May 22 18:27:30 1991
- ***************
- *** 977,987 ****
- if (had_error) {
- if (!append)
- msg[cnt] = old;
- - else if (msg_found && append == 1 && cnt == MAXMSGS-append) {
- - /* reset fp to the beginning of the not-loaded message */
- - bytes = ftell(fp) - strlen(buf);
- - (void) fseek(fp, bytes, L_SET);
- - }
- if (!msg_found) {
- if (!append)
- print("File not left in correct message format.\n");
- --- 977,982 ----
- ***************
- *** 1004,1011 ****
- if (append)
- cnt++;
- }
- ! if (append == 1) /* merge_folders takes care of this for append == 2 */
- ! msg[cnt].m_offset = ftell(fp);
- close_lock(file, fp);
- if (isoff(glob_flags, READ_ONLY)) {
- if (had_error && msg_found && append == 1 && cnt == MAXMSGS-append) {
- --- 999,1008 ----
- if (append)
- cnt++;
- }
- ! if (append == 1) { /* merge_folders takes care of this for append == 2 */
- ! (void) fseek(fp, 0L, 2); /* Position at end of file */
- ! msg[msg_cnt].m_offset = ftell(fp);
- ! }
- close_lock(file, fp);
- if (isoff(glob_flags, READ_ONLY)) {
- if (had_error && msg_found && append == 1 && cnt == MAXMSGS-append) {
- *** /tmp/,RCSt1015666 Wed May 22 23:51:57 1991
- --- mush.1 Wed May 22 23:30:05 1991
- ***************
- *** 10,16 ****
- .if n .ds - --
- .if t .ds - \(em
- .nh
- ! .TH MUSH 1 "March 17, 1991" "Version 7.2.2"
- .SH NAME
- The Mail User's Shell \- Shell for electronic mail.
- .SH SYNOPSIS
- --- 10,16 ----
- .if n .ds - --
- .if t .ds - \(em
- .nh
- ! .TH MUSH 1 "May 22, 1991" "Version 7.2.3"
- .SH NAME
- The Mail User's Shell \- Shell for electronic mail.
- .SH SYNOPSIS
- ***************
- *** 160,166 ****
- that file is read before the folder is scanned.
- The file specified by \-F is read after the folder is scanned, so
- commands that affect messages are allowed.
- ! The optional `!' argument prevents the shell from running after the
- file has been sourced.
- Otherwise,
- .I Mush
- --- 160,166 ----
- that file is read before the folder is scanned.
- The file specified by \-F is read after the folder is scanned, so
- commands that affect messages are allowed.
- ! The optional `!' prevents the shell from running after the
- file has been sourced.
- Otherwise,
- .I Mush
- ***************
- *** 347,353 ****
- session, new mail arrives for you, it is automatically incorporated into
- your system mailbox and you are told that new mail has arrived.
- .PP
- ! In the default line mode, new mail is checked between each command
- issued.
- In the curses mode, new mail is checked on each
- command and is displayed in the bottom line of the screen.
- --- 347,353 ----
- session, new mail arrives for you, it is automatically incorporated into
- your system mailbox and you are told that new mail has arrived.
- .PP
- ! In the default line mode, new mail is checked after each command
- issued.
- In the curses mode, new mail is checked on each
- command and is displayed in the bottom line of the screen.
- ***************
- *** 362,368 ****
- displayed, to tell you whom the mail is from:
- .sp
- .ti +2
- ! New mail: (#15) argv@zipcode.com (Dan Heller)
- .sp
- If you are not in your system mailbox, then the new mail is not added
- to your list of messages, but you are instead informed of the new arrival.
- --- 362,368 ----
- displayed, to tell you whom the mail is from:
- .sp
- .ti +2
- ! New mail (#15) argv@zipcode.com (Dan Heller)
- .sp
- If you are not in your system mailbox, then the new mail is not added
- to your list of messages, but you are instead informed of the new arrival.
- ***************
- *** 2003,2009 ****
- .BR undelete .
- .TP
- .B dp
- ! .R (also
- .BR dt )
- Deletes the current message and prints (types) the next message.
- .TP
- --- 2003,2009 ----
- .BR undelete .
- .TP
- .B dp
- ! (also
- .BR dt )
- Deletes the current message and prints (types) the next message.
- .TP
- ***************
- *** 2126,2132 ****
- prevent its interpretation as part of a message range, or it may be given
- \fIafter\fR the list of bits for the same reason.
- .sp
- ! Message lists can be piped to the
- .B flags
- command; for example, you may use
- .sp
- --- 2126,2132 ----
- prevent its interpretation as part of a message range, or it may be given
- \fIafter\fR the list of bits for the same reason.
- .sp
- ! Message lists can be piped to or from the
- .B flags
- command; for example, you may use
- .sp
- ***************
- *** 2300,2315 ****
- .in +2
- .ta 1i
- .if t .ta 1.5i
- ! a all messages
- ! d deleted messages
- f forwarded messages
- m marked messages
- ! n new messages
- ! o old messages
- p preserved messages
- ! r replied to messages
- ! s saved messages
- ! u unread messages
- .fi
- .in -2
- Note that the \-H is not required; \*Qheaders :c\*U is valid.
- --- 2300,2315 ----
- .in +2
- .ta 1i
- .if t .ta 1.5i
- ! a all messages
- ! d deleted messages
- f forwarded messages
- m marked messages
- ! n new messages
- ! o old messages
- p preserved messages
- ! r replied to messages
- ! s saved messages
- ! u unread messages
- .fi
- .in -2
- Note that the \-H is not required; \*Qheaders :c\*U is valid.
- ***************
- *** 2934,2939 ****
- --- 2934,2940 ----
- The pattern may also be of the form
- .ti +4
- .I /pattern1/,/pattern2/
- + .br
- in which case printing begins with the line containing
- .I pattern1
- and end with the line containing
- ***************
- *** 3056,3063 ****
- If it is set, but has no value, the first \*QFrom\ \*U line is used
- regardless of what headers the author's message contains.
- The \*QFrom\ \*U line may be specified explicitly as an item in the
- ! list of reply-to headers by specifying the header
- ! .RB \*Q From_ \*U.
- See the VARIABLES section for more information about
- .B reply_to_hdr.
- .sp
- --- 3057,3063 ----
- If it is set, but has no value, the first \*QFrom\ \*U line is used
- regardless of what headers the author's message contains.
- The \*QFrom\ \*U line may be specified explicitly as an item in the
- ! list of reply-to headers by specifying the header \*Q\fBFrom_\fB\*U.
- See the VARIABLES section for more information about
- .B reply_to_hdr.
- .sp
- ***************
- *** 3144,3149 ****
- --- 3144,3155 ----
- except that messages are never marked for deletion, whether or not
- .B keepsave
- is set.
- + .sp
- + .IR Note :
- + The permission mode of files created by these commands allow read and
- + write only by the owner of the file.
- + The permissions of existing files are not changed when messages are
- + saved or written to those files.
- .TP
- .BR saveopts " [file]"
- The complement of
- ***************
- *** 4532,4540 ****
- If this isn't set, then the default value for pager (set up
- by the system manager) is used.
- This may or may not be the internal pager.
- ! To use the internal pager, you may set the variable pager to
- ! .RI \*Q internal \*U
- ! or to a null string.
- .TP
- .B pre_indent_str
- (String)
- --- 4538,4545 ----
- If this isn't set, then the default value for pager (set up
- by the system manager) is used.
- This may or may not be the internal pager.
- ! To use the internal pager, you may set the variable pager
- ! to \*Q\fIinternal\fR\*U or to a null string.
- .TP
- .B pre_indent_str
- (String)
- ***************
- *** 5845,5851 ****
- ~/.mushXXXXXX Temporary mail file (copy of current folder)
- .fi
- .PP
- ! Temporary files that are created by the program are always
- created with read/write access to the owner only; group and other
- permissions are never set.
- This is also true for the /usr/spool/mail/* files.
- --- 5850,5858 ----
- ~/.mushXXXXXX Temporary mail file (copy of current folder)
- .fi
- .PP
- ! Temporary files that are created by the program, and folders written with
- ! .B save
- ! and related commands, are always
- created with read/write access to the owner only; group and other
- permissions are never set.
- This is also true for the /usr/spool/mail/* files.
- *** /tmp/,RCSt1015666 Wed May 22 23:52:18 1991
- --- mush.h Wed May 22 18:16:11 1991
- ***************
- *** 13,18 ****
- --- 13,26 ----
- # undef SYSV
- #endif /* SYSV */
- #include <curses.h>
- +
- + #ifdef timeout
- + #undef timeout
- + #endif
- + #ifdef overwrite
- + #undef overwrite
- + #endif
- +
- #if !defined(USG) && defined(_USG)
- # define USG
- #endif /* USG */
- ***************
- *** 85,90 ****
- --- 93,104 ----
- # include <sys/ioctl.h> /* for ltchars */
- # else
- # include <time.h>
- + # ifdef M_UNIX
- + # ifndef SELECT
- + # define SELECT
- + # endif
- + # include <sys/select.h>
- + # endif /* M_UNIX */
- # include <fcntl.h>
- # endif /* SYSV */
- #endif /* SUNTOOL */
- *** /tmp/,RCSt1015666 Wed May 22 23:52:21 1991
- --- pick.c Sun May 19 19:59:48 1991
- ***************
- *** 1,4 ****
- ! /* @(#)pick.c 2.4 (c) copyright 10/18/86 (Dan Heller) */
-
- #include "mush.h"
-
- --- 1,4 ----
- ! /* @(#)pick.c 7.2 (c) copyright 5/19/91 (Dan Heller) */
-
- #include "mush.h"
-
- ***************
- *** 290,296 ****
- int matches = 0;
- long bytes = 0;
- char buf[HDRSIZ];
- ! static char *err = (char *)-1;
- #ifdef REGCMP
- char *regcmp(), *regex();
- #else /* REGCMP */
- --- 290,296 ----
- int matches = 0;
- long bytes = 0;
- char buf[HDRSIZ];
- ! char *err = NULL;
- #ifdef REGCMP
- char *regcmp(), *regex();
- #else /* REGCMP */
- ***************
- *** 305,312 ****
- if (icase)
- p = lcase_strcpy(buf, p);
- #ifdef REGCMP
- - if (err && p)
- - xfree(err);
- if (p && !(err = regcmp(p, NULL))) {
- print("regcmp error: %s\n", p);
- clear_msg_list(ret_list);
- --- 305,310 ----
- ***************
- *** 319,325 ****
- return -1;
- }
- #endif /* REGCMP */
- ! } else if (err == (char *)-1 && mdy[1] <= 0 && match_priority == 0) {
- print("No previous regular expression\n");
- clear_msg_list(ret_list); /* doesn't matter really */
- return -1;
- --- 317,323 ----
- return -1;
- }
- #endif /* REGCMP */
- ! } else if (err == NULL && mdy[1] <= 0 && match_priority == 0) {
- print("No previous regular expression\n");
- clear_msg_list(ret_list); /* doesn't matter really */
- return -1;
- ***************
- *** 417,422 ****
- --- 415,424 ----
- bytes += strlen(p);
- }
- }
- + #ifdef REGCMP
- + if (err)
- + free(err);
- + #endif /* REGCMP */
- return matches;
- }
-
- ***************
- *** 456,462 ****
- else
- direction = !flags;
- #ifdef REGCMP
- ! if (err && *pattern)
- xfree(err);
- else if (err == (char *)-1 && !*pattern) {
- print("No previous regular expression.");
- --- 458,464 ----
- else
- direction = !flags;
- #ifdef REGCMP
- ! if (err != (char *)-1 && *pattern)
- xfree(err);
- else if (err == (char *)-1 && !*pattern) {
- print("No previous regular expression.");
- *** /tmp/,RCSt1015810 Wed May 22 23:52:36 1991
- --- tool.c Wed May 22 18:20:45 1991
- ***************
- *** 145,151 ****
- (void) notify_interpose_event_func(pager_textsw,
- scroll_textwin, NOTIFY_SAFE);
-
- ! (void) sprintf(blank, "%128c", ' ');
- mrect = *(Rect *)window_get(hdr_sw, WIN_RECT);
- pw_writebackground(hdr_win, 0,0, mrect.r_width, mrect.r_height, PIX_CLR);
- istool = 2;
- --- 145,151 ----
- (void) notify_interpose_event_func(pager_textsw,
- scroll_textwin, NOTIFY_SAFE);
-
- ! (void) sprintf(blank, "%*c", sizeof blank - 1, ' ');
- mrect = *(Rect *)window_get(hdr_sw, WIN_RECT);
- pw_writebackground(hdr_win, 0,0, mrect.r_width, mrect.r_height, PIX_CLR);
- istool = 2;
-
- --
- Bart Schaefer schaefer@zipcode.com
- Z-Code Software Corporation schaefer@cse.ogi.edu
-
- exit 0 # Just in case...
- --
- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM
- Sterling Software, IMD UUCP: uunet!sparky!kent
- Phone: (402) 291-8300 FAX: (402) 291-4362
- Please send comp.sources.misc-related mail to kent@uunet.uu.net.
-