Xref: utzoo alt.sources:102 comp.unix.xenix:1358 Path: utzoo!hoptoad!cpsc6a!codas!ateng!chip From: chip@ateng.UUCP (Chip Salzenberg) Newsgroups: alt.sources,comp.unix.xenix Subject: Elm 1.7 beta: patches for Xenix (6 of 7) Message-ID: <173@ateng.UUCP> Date: 27 Jan 88 00:31:09 GMT Organization: A T Engineering, Tampa, FL Lines: 861 This is the second of two patch files for src/*.[hc]. #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the "#! /bin/sh" line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # p.src.2 # This archive created: Tue Jan 26 19:14:43 1988 export PATH; PATH=/bin:$PATH : echo 'shar: extracting "p.src.2" (19785 characters) ' if test -f 'p.src.2' then echo 'shar: will not overwrite existing file "p.src.2" ' else sed 's/^X//' << \SHAR_EOF > 'p.src.2' XIndex: mailmsg1.c X*** elm1.7beta/src/mailmsg1.c Mon Nov 2 20:20:49 1987 X--- elm/src/mailmsg1.c Wed Dec 9 15:35:23 1987 X*************** X*** 144,145 **** X--- 144,146 ---- X int len = 9; X+ char ch; X X*************** X*** 173,178 **** X X! if (tolower(ReadCh()) != 'y') { /* user says no! */ X! if (mail_only) { X! printf("\n\r\n\rMail Cancelled!\n\r"); X! return(0); X } X--- 174,181 ---- X X! if (yesno('n') == 'n') { /* user says no! */ X! if (mail_only) X! printf("No\r\n\r\nMail Cancelled!\n\r"); X! else { X! ClearLine(LINES-2); X! error("mail not sent"); X } X*************** X*** 178,181 **** X } X- ClearLine(LINES-2); X- error("mail not sent"); X return(0); X--- 181,182 ---- X*************** X*** 182,186 **** X } X! else if (! mail_only) { X! PutLine0(LINES-2,0,"Subject: "); X! CleartoEOLN(); X } X--- 183,191 ---- X } X! else { X! if (mail_only) X! printf("Yes\r\n"); X! else { X! PutLine0(LINES-2,0,"Subject: "); X! CleartoEOLN(); X! } X } XIndex: mailmsg2.c X*** elm1.7beta/src/mailmsg2.c Mon Nov 2 20:10:29 1987 X--- elm/src/mailmsg2.c Wed Dec 9 15:45:40 1987 X*************** X*** 220,227 **** X X! if ((real_reply=write_header_info(filename2, expanded_to, expanded_cc, X! #ifdef ALLOW_BCC X! expanded_bcc, X! #endif X! form == YES)) == NULL) { X! X /** IT FAILED!! MEIN GOTT! Use a dumb mailer instead! **/ X--- 220,223 ---- X X! real_reply = write_header_info(filename2, (form==YES)); X! if (real_reply == NULL) { X /** IT FAILED!! MEIN GOTT! Use a dumb mailer instead! **/ X*************** X*** 231,234 **** X X! if (cc[0] != '\0') /* copies! */ X! sprintf(expanded_to,"%s %s", expanded_to, expanded_cc); X X--- 227,231 ---- X X! mailer_start(very_long_buffer, mailx, filename); X! mailer_arg("-s"); X! mailer_quote(subject); X X*************** X*** 234,239 **** X X- sprintf(very_long_buffer, "( (%s -s \"%s\" %s ; %s %s) & ) < %s", X- mailx, subject, strip_parens(strip_commas(expanded_to)), X- remove, filename, filename); X- X error1("Message sent using dumb mailer - %s", mailx); X--- 231,232 ---- X*************** X*** 244,246 **** X copy_message_across(reply, real_reply); X- X fclose(real_reply); X--- 237,238 ---- X*************** X*** 247,258 **** X X- if (cc[0] != '\0') /* copies! */ X- sprintf(expanded_to,"%s %s", expanded_to, expanded_cc); X- X- #ifdef ALLOW_BCC X- if (bcc[0] != '\0') { X- strcat(expanded_to, " "); X- strcat(expanded_to, expanded_bcc); X- } X- #endif X- X if (access(sendmail, EXECUTE_ACCESS) == 0 X--- 239,240 ---- X*************** X*** 259,263 **** X #ifdef SITE_HIDING X! && ! is_a_hidden_user(username)) X! #else X! ) X #endif X--- 241,243 ---- X #ifdef SITE_HIDING X! && !is_a_hidden_user(username) X #endif X*************** X*** 263,271 **** X #endif X! sprintf(very_long_buffer,"( (%s %s %s ; %s %s) & ) < %s", X! sendmail, smflags, strip_parens(strip_commas(expanded_to)), X! remove, filename2, filename2); X! else /* oh well, use default mailer... */ X! sprintf(very_long_buffer,"( (%s %s ; %s %s) & ) < %s", X! mailer, strip_parens(strip_commas(expanded_to)), X! remove, filename2, filename2); X } X--- 243,248 ---- X #endif X! ) X! mailer_start(very_long_buffer, sendmail, filename2); X! else /* oh well, use default mailer... */ X! mailer_start(very_long_buffer, mailer, filename2); X } X*************** X*** 274,275 **** X--- 251,259 ---- X X+ mailer_to(strip_parens(strip_commas(expanded_to))); X+ mailer_to(strip_parens(strip_commas(expanded_cc))); X+ #ifdef ALLOW_BCC X+ mailer_to(strip_parens(strip_commas(expanded_bcc))); X+ #endif X+ mailer_end(); X+ X if (mail_only) { X*************** X*** 328,331 **** X fflush(stdout); X! if (tolower(ReadCh()) != 'n') { X! Write_to_screen("Yes",0); X retransmit++; X--- 312,314 ---- X fflush(stdout); X! if (want_to((char *)NULL, 'y', TRUE) == 'y') { X retransmit++; X*************** X*** 333,336 **** X } X- else X- Write_to_screen("No",0); X X--- 316,317 ---- X*************** X*** 336,339 **** X X- fflush(stdout); X- X *cancelled_msg = 0; X--- 317,318 ---- X*************** X*** 499,507 **** X FILE * X! #ifdef ALLOW_BCC X! write_header_info(filename, long_to, long_cc, long_bcc, form) X! char *filename, *long_to, *long_cc, *long_bcc; X! #else X! write_header_info(filename, long_to, long_cc, form) X! char *filename, *long_to, *long_cc; X! #endif X int form; X--- 478,481 ---- X FILE * X! write_header_info(filename, form) X! char *filename; X int form; X*************** X*** 563,565 **** X X! fprintf(filedesc, "To: %s\n", format_long(long_to, strlen("To:"))); X X--- 537,540 ---- X X! fprintf(filedesc, "To: %s\n", X! format_long(expanded_to, strlen("To:"))); X X*************** X*** 589,591 **** X if (cc[0] != '\0') X! fprintf(filedesc, "Cc: %s\n", format_long(long_cc, strlen("Cc: "))); X X--- 564,567 ---- X if (cc[0] != '\0') X! fprintf(filedesc, "Cc: %s\n", X! format_long(expanded_cc, strlen("Cc: "))); X X*************** X*** 593,595 **** X if (bcc[0] != '\0') X! fprintf(filedesc, "Bcc: %s\n", format_long(long_bcc, strlen("Bcc: "))); X #endif X--- 569,572 ---- X if (bcc[0] != '\0') X! fprintf(filedesc, "Bcc: %s\n", X! format_long(expanded_bcc, strlen("Bcc: "))); X #endif X*************** X*** 695,696 **** X--- 672,746 ---- X return(TRUE); X+ } X+ X+ /* X+ * Here is a set of subroutines. These make easier the construction X+ * of mailer command lines. X+ */ X+ X+ static char *mbuf, *mfile; X+ X+ mailer_start(buf, cmd, file) X+ char *buf; X+ char *cmd; X+ char *file; X+ { X+ mbuf = buf; X+ mfile = file; X+ X+ sprintf(mbuf, "( (%s", cmd); X+ } X+ X+ mailer_arg(s) X+ char *s; X+ { X+ mbuf += strlen(mbuf); X+ X+ *mbuf++ = ' '; X+ strcpy(mbuf, s); X+ } X+ X+ mailer_quote(s) X+ char *s; X+ { X+ mbuf += strlen(mbuf); X+ X+ *mbuf++ = ' '; X+ *mbuf++ = '\''; X+ while (*s) { X+ if ((*s == '\'') || (*s == '\\')) X+ *mbuf++ = '\\'; X+ *mbuf++ = *s++; X+ } X+ *mbuf = '\0'; X+ } X+ X+ mailer_to(s) X+ char *s; X+ { X+ mbuf += strlen(mbuf); X+ X+ for (;;) { X+ while (isspace(*s)) X+ ++s; X+ if (*s == '\0') X+ break; X+ X+ *mbuf++ = ' '; X+ *mbuf++ = '\''; X+ while (*s && !isspace(*s)) { X+ if (*s == '\'' || *s == '\\') X+ *mbuf++ = '\\'; X+ *mbuf++ = *s++; X+ } X+ *mbuf++ = '\''; X+ } X+ X+ *mbuf = '\0'; X+ } X+ X+ mailer_end() X+ { X+ mbuf += strlen(mbuf); X+ X+ sprintf(mbuf, "; %s %s) & ) < %s", remove, mfile, mfile); X } XIndex: opt_utils.c X*** elm1.7beta/src/opt_utils.c Mon Nov 2 20:13:09 1987 X--- elm/src/opt_utils.c Sat Dec 5 14:21:09 1987 X*************** X*** 12,14 **** X X! #ifdef BSD X # include X--- 12,14 ---- X X! #ifdef NEED_CUSERID X # include XIndex: pattern.c X*** elm1.7beta/src/pattern.c Mon Nov 2 20:14:43 1987 X--- elm/src/pattern.c Wed Dec 9 15:35:37 1987 X*************** X*** 45,47 **** X X! if (tolower(ReadCh()) != 'n') { /* remove tags... */ X for (i=0; i < message_count; i++) { X--- 45,47 ---- X X! if (want_to((char *)NULL, 'y', TRUE) == 'y') { /* remove tags */ X for (i=0; i < message_count; i++) { XIndex: quit.c X*** elm1.7beta/src/quit.c Mon Nov 2 20:06:22 1987 X--- elm/src/quit.c Wed Dec 9 10:00:13 1987 X*************** X*** 27,29 **** X **/ X- X if (leave_mbox(0) ==-1) /* new mail...can't resync yet! */ X--- 27,28 ---- X*************** X*** 29,31 **** X if (leave_mbox(0) ==-1) /* new mail...can't resync yet! */ X! return; X X--- 28,30 ---- X if (leave_mbox(0) ==-1) /* new mail...can't resync yet! */ X! return (FALSE); X X*************** X*** 31,35 **** X X! newmbox(3, TRUE, TRUE); X! mailfile_size = bytes(infile); X! showscreen(); X } X--- 30,32 ---- X X! return (newmbox(3, TRUE, TRUE)); X } XIndex: read_rc.c X*** elm1.7beta/src/read_rc.c Mon Nov 2 20:10:03 1987 X--- elm/src/read_rc.c Tue Dec 8 18:15:22 1987 X*************** X*** 71,73 **** X #include X- #include X X--- 71,72 ---- X*************** X*** 73,78 **** X X- #ifdef BSD X- #undef tolower X- #endif X- X #include "headers.h" X--- 72,73 ---- X*************** X*** 403,405 **** X if (strlen(header) > 0) { X! if (! strcmp(header, "*end-of-user-headers*")) break; X if (weedcount > MAX_IN_WEEDLIST) { X--- 398,400 ---- X if (strlen(header) > 0) { X! if (! strcmp(header, "*end*")) break; X if (weedcount > MAX_IN_WEEDLIST) { X*************** X*** 475,477 **** X "Apparently-To:", "Message-Id:", "Content-Type:", X! "From", "X-Mailer:", "*end-of-defaults*", NULL X }; X--- 470,472 ---- X "Apparently-To:", "Message-Id:", "Content-Type:", X! "From", "X-Mailer:", "*end*", NULL X }; XIndex: remail.c X*** elm1.7beta/src/remail.c Mon Nov 2 20:06:24 1987 X--- elm/src/remail.c Wed Dec 9 15:35:42 1987 X*************** X*** 66,69 **** X fflush(stdout); X! if (tolower(ReadCh()) == 'n') { /* another day, another No... */ X! Write_to_screen("No", 0); X set_error("Bounce of message cancelled"); X--- 66,69 ---- X fflush(stdout); X! if (want_to((char *)NULL, 'y', TRUE) == 'n') { X! /* another day, another No... */ X set_error("Bounce of message cancelled"); X*************** X*** 71,73 **** X } X- Write_to_screen("Yes!", 0); X X--- 71,72 ---- X*************** X*** 73,75 **** X X! sprintf(buffer, "%s %s < %s", mailer, strip_parens(expanded), filename); X X--- 72,76 ---- X X! mailer_start(buffer, mailer, filename); X! mailer_to(expanded); X! mailer_end(); X X*************** X*** 77,84 **** X X! if ((errno = system_call(buffer, SH)) != 0) { X! sprintf(buffer, "Remail failed with error %d!", errno); X! set_error(buffer); X! } X! else X! set_error("mail resent"); X X--- 78,80 ---- X X! system_call(buffer, SH); X X*************** X*** 84,85 **** X--- 80,82 ---- X X+ set_error("Mail resent!"); X return(1); XIndex: reply.c X*** elm1.7beta/src/reply.c Mon Nov 2 20:08:44 1987 X--- elm/src/reply.c Thu Dec 17 09:22:14 1987 X*************** X*** 130,133 **** X else { X! edit_msg = (want_to("Edit outgoing message (y/n) ? ",'y',FALSE)!='n'); X! Write_to_screen("%s", 1, edit_msg? "Yes" : "No"); X } X--- 130,133 ---- X else { X! if (want_to("Edit outgoing message (y/n) ? ",'y',TRUE) != 'n') X! edit_msg = TRUE; X } XIndex: save_opts.c X*** elm1.7beta/src/save_opts.c Mon Nov 2 20:17:35 1987 X--- elm/src/save_opts.c Tue Dec 8 18:15:23 1987 X*************** X*** 233,235 **** X for (i = 0; i < weedcount; i++) X! if (strcmp(weedlist[i],"*end-of-defaults*") == 0) X break; X--- 233,235 ---- X for (i = 0; i < weedcount; i++) X! if (strcmp(weedlist[i],"*end*") == 0) X break; X*************** X*** 236,238 **** X X! while (i< weedcount && strcmp(weedlist[i], "*end-of-defaults*") == 0) X i++; /* and get PAST it too! */ X--- 236,238 ---- X X! while (i< weedcount && strcmp(weedlist[i], "*end*") == 0) X i++; /* and get PAST it too! */ X*************** X*** 240,242 **** X while (i < weedcount) { X! if (strlen(weedlist[i]) + length_so_far > 78) { X fprintf(fd, "\n\t"); X--- 240,242 ---- X while (i < weedcount) { X! if (strlen(weedlist[i]) + length_so_far > 72) { X fprintf(fd, "\n\t"); X*************** X*** 245,247 **** X fprintf(fd, "\"%s\" ", weedlist[i]); X! length_so_far += (strlen(weedlist[i]) + 4); X i++; X--- 245,247 ---- X fprintf(fd, "\"%s\" ", weedlist[i]); X! length_so_far += (strlen(weedlist[i]) + 3); X i++; X*************** X*** 248,250 **** X } X! fprintf(fd, "\t\"*end-of-user-headers*\"\n\n"); X } X--- 248,250 ---- X } X! fprintf(fd, "\"*end*\"\n\n"); X } XIndex: savecopy.c X*** elm1.7beta/src/savecopy.c Mon Nov 2 20:14:01 1987 X--- elm/src/savecopy.c Wed Dec 9 10:09:39 1987 X*************** X*** 24,26 **** X char *error_name(), *error_description(); X! char *ctime(); X X--- 24,26 ---- X char *error_name(), *error_description(); X! FILE *user_fopen(); X X*************** X*** 30,31 **** X--- 30,32 ---- X X+ char *ctime(); X char *strcat(), *strcpy(); X*************** X*** 63,65 **** X X! if (can_access(savename, READ_ACCESS) != 0) X savename[0] = '\0'; X--- 64,66 ---- X X! if (user_access(savename, WRITE_ACCESS) != 0) X savename[0] = '\0'; X*************** X*** 81,83 **** X X! if ((errno = can_open(savename, "a"))) { X dprint(2, (debugfile, X--- 82,85 ---- X X! if ((save = user_fopen(savename, "a")) == NULL) { X! int err = errno; X dprint(2, (debugfile, X*************** X*** 83,85 **** X dprint(2, (debugfile, X! "Error: attempt to autosave to a file that can't be appended to!\n")); X dprint(2, (debugfile, "\tfilename = \"%s\"\n", savename)); X--- 85,87 ---- X dprint(2, (debugfile, X! "Error: attempt to autosave to a file that can't be appended to!\n")); X dprint(2, (debugfile, "\tfilename = \"%s\"\n", savename)); X*************** X*** 85,100 **** X dprint(2, (debugfile, "\tfilename = \"%s\"\n", savename)); X! dprint(2, (debugfile, "** %s - %s **\n", error_name(errno), X! error_description(errno))); X! error1("permission to append to %s denied!", savename); X! sleep(2); X! return(FALSE); X! } X! X! if ((save = fopen(savename, "a")) == NULL) { X! dprint(1, (debugfile, X! "Error: Couldn't append message to file %s (%s)\n", X! savename, "save_copy")); X! dprint(1, (debugfile,"** %s - %s **\n", error_name(errno), X! error_description(errno))); X! error1("couldn't append to %s", savename); X sleep(2); X--- 87,92 ---- X dprint(2, (debugfile, "\tfilename = \"%s\"\n", savename)); X! dprint(2, (debugfile, "** %s - %s **\n", X! error_name(err), error_description(err))); X! error2("Couldn't append to file %s! (%s)", X! filename, error_description(err)); X sleep(2); XIndex: screen.c X*** elm1.7beta/src/screen.c Mon Nov 2 20:07:34 1987 X--- elm/src/screen.c Mon Dec 7 14:47:30 1987 X*************** X*** 196,199 **** X CleartoEOLN(); X! Writechar('\r'); X! Writechar('\n'); X line++; X--- 196,198 ---- X CleartoEOLN(); X! CursorDown(1); X line++; X*************** X*** 313,314 **** X--- 312,314 ---- X /* now THIS is a frightening format statement!!! */ X+ /* Split in two by Chip 12/5/87 */ X X*************** X*** 314,316 **** X X! sprintf(buffer, "%s%s%c%c%c%-3d %3.3s %-2d %-18.18s (%d) %s%s%s", X highlight? ((has_highlighting && !arrow_cursor) ? X--- 314,316 ---- X X! sprintf(buffer, "%s%s%c%c%c%-3d", X highlight? ((has_highlighting && !arrow_cursor) ? X*************** X*** 321,323 **** X (entry->status & TAGGED? '+' : ' '), X! message_number, X entry->month, X--- 321,324 ---- X (entry->status & TAGGED? '+' : ' '), X! message_number); X! sprintf(buffer + strlen(buffer), " %3.3s %-2d %-18.18s (%4d) %s%s", X entry->month, X*************** X*** 326,331 **** X entry->lines, X- (entry->lines / 1000 > 0? "" : /* spacing the */ X- entry->lines / 100 > 0? " " : /* same for the */ X- entry->lines / 10 > 0? " " : /* lines in () */ X- " "), /* [wierd] */ X subj, X--- 327,328 ---- XIndex: showmsg.c X*** elm1.7beta/src/showmsg.c Mon Nov 2 20:07:56 1987 X--- elm/src/showmsg.c Wed Dec 9 15:13:11 1987 X*************** X*** 12,14 **** X #include "headers.h" X- #include X #include X--- 12,13 ---- X*************** X*** 18,20 **** X # include X- # undef tolower X #endif X--- 17,18 ---- X*************** X*** 225,226 **** X--- 223,228 ---- X strcat(buffer, "\n"); X+ if (builtin) X+ display_line(buffer); X+ else X+ fprintf(output_pipe, "%s", buffer); X } X*************** X*** 226,234 **** X } X- else X- strcpy(buffer, "\n"); X- X- if (builtin) X- display_line(buffer); X- else X- fprintf(output_pipe, "%s", buffer); X X--- 228,229 ---- X*************** X*** 300,306 **** X if (lines == 0 && pipe_abort == FALSE) { /* displayed it all */ X! PutLine0(LINES-1,0,"Press or to return to Elm: "); X! fflush(stdout); X! Raw(ON); X! val = tolower(ReadCh()); X! Raw(OFF); X } X--- 295,297 ---- X if (lines == 0 && pipe_abort == FALSE) { /* displayed it all */ X! return_to_elm(); X } X*************** X*** 371,377 **** X if (lines == 0 && pipe_abort == FALSE) { /* displayed it all! */ X! PutLine0(LINES-1,0,"Press or to return to Elm : "); X! fflush(stdout); X! Raw(ON); X! val = tolower(ReadCh()); X! Raw(OFF); X } X--- 362,364 ---- X if (lines == 0 && pipe_abort == FALSE) { /* displayed it all! */ X! return_to_elm(); X } X*************** X*** 377,379 **** X } X! X return(val); X--- 364,366 ---- X } X! X return(val); X*************** X*** 379,380 **** X--- 366,389 ---- X return(val); X+ } X+ X+ int X+ return_to_elm() X+ { X+ int val; X+ X+ MoveCursor(LINES, 0); X+ if (StartBold() < 0) { X+ PutLine0(LINES, 0, "Press any key to return to Elm: "); X+ } X+ else { X+ PutLine0(LINES, 0, " Press any key to return to Elm "); X+ EndBold(); X+ } X+ CleartoEOS(); X+ X+ Raw(ON); X+ val = tolower(ReadCh()); X+ Raw(OFF); X+ X+ return (val); X } XIndex: strings.c X*** elm1.7beta/src/strings.c Mon Nov 2 20:07:40 1987 X--- elm/src/strings.c Mon Dec 7 12:56:43 1987 X*************** X*** 13,15 **** X #include "headers.h" X- #include X X--- 13,14 ---- X*************** X*** 15,21 **** X X- #ifdef BSD X- #undef tolower X- #undef toupper X- #endif X- X /** forward declarations **/ X--- 14,15 ---- X*************** X*** 25,27 **** X X! #ifdef BSD X X--- 19,21 ---- X X! #if defined(BSD) || defined(M_XENIX) X XIndex: utils.c X*** elm1.7beta/src/utils.c Mon Nov 2 20:15:24 1987 X--- elm/src/utils.c Tue Dec 22 17:21:13 1987 X*************** X*** 10,12 **** X #include X- #include X #include X--- 10,11 ---- X*************** X*** 13,18 **** X X- #ifdef BSD X- #undef tolower X- #endif X- X #include X--- 12,13 ---- X*************** X*** 21,23 **** X X! char *error_name(); X void exit(); X--- 16,18 ---- X X! char *lockfile(), *error_name(), *error_description(); X void exit(); X*************** X*** 30,32 **** X struct stat buffer; X- X if (debug == 0) return; /* Damn! Can't do it! */ X--- 25,26 ---- X*************** X*** 55,56 **** X--- 49,54 ---- X X+ char lockfile[SLEN], locktemp[SLEN]; X+ X+ get_locknames(lockfile, locktemp); X+ X dprint(1, (debugfile, X*************** X*** 61,62 **** X--- 59,69 ---- X " The mailbox tempfile : %s%s\n", temp_mbox, username)); X+ X+ if (access(lockfile, ACCESS_EXISTS)) X+ dprint(1, (debugfile, X+ " The mailbox lock file: %s\n", lockfile)); X+ X+ if (access(locktemp, ACCESS_EXISTS)) X+ dprint(1, (debugfile, X+ " The lock temp file : %s\n", locktemp)); X+ X dprint(1, (debugfile, X*************** X*** 62,65 **** X dprint(1, (debugfile, X- " The mailbox lock file: %s%s.lock\n", mailhome, username)); X- dprint(1, (debugfile, X " The composition file : %s%d\n", temp_file, getpid())); X--- 69,70 ---- X*************** X*** 107,109 **** X if (mbox_specified == 0) { X! sprintf(buffer,"%s%s",temp_mbox, username); /* temp mailbox */ X (void) unlink(buffer); X--- 112,114 ---- X if (mbox_specified == 0) { X! sprintf(buffer,"%s%s", temp_mbox, username); /* temp mailbox */ X (void) unlink(buffer); X*************** X*** 109,110 **** X--- 114,116 ---- X (void) unlink(buffer); X+ unlock(); X } X*************** X*** 112,116 **** X sprintf(buffer,"%s/%s", home, readmsg_file); /* readmsg temp */ X- (void) unlink(buffer); X- X- sprintf(buffer,"%s%s.lock",mailhome, username); /* lock file */ X (void) unlink(buffer); X--- 118,119 ---- SHAR_EOF if test 19785 -ne `wc -c < 'p.src.2'` then echo 'shar: error transmitting "p.src.2" (should have been 19785 characters) ' fi chmod 644 'p.src.2' fi # end of overwriting check # End of shell archive exit 0 -- Chip Salzenberg UUCP: "{codas,uunet}!ateng!chip" A T Engineering My employer's opinions are a trade secret. "Anything that works is better than anything that doesn't."