[13480] in Athena Bugs
Obscure Athena finger bug
daemon@ATHENA.MIT.EDU (John Hawkinson)
Sun May 7 18:17:37 1995
Date: Sun, 7 May 1995 18:17:22 -0400
To: bugs@MIT.EDU, rel-eng@MIT.EDU
Cc: ambar@cesium.clock.org (Whose fault it really must be!)
Cc: nocturne@MIT.EDU, aellwood@MIT.EDU
From: John Hawkinson <jhawk@MIT.EDU>
Recently, I just happened to notice that if one of the first fifteen
characters of your .plan file lines up with a corresponding character in
the string ``%MENTION-MAIL%
'' (including the newline), that character gets elided from the .plan
file.
Rel-eng, a patch is attached.
Ambar, hullo! You really ought to come by and visit. Since Erik made
it here for both Arisia & IETF, surely something will bring you out
east again! :-) You should drop SIPB a line some time...
--jhawk
John Hawkinson
This patch assumes the %MENTION-MAIL% feature doesn't work, but
still grandfathers in those people who have that in their .plan
files.
*** 1.24 1994/08/24 03:31:01
--- 1.25 1995/05/07 22:06:46
***************
*** 3,13 ****
* For copying and distribution information, see the file
* "mit-copyright.h".
*
! * $Id: finger.c,v 1.24 1994/08/24 03:31:01 cfields Exp $
*/
#ifndef lint
! static char *rcsid_finger_c = "$Id: finger.c,v 1.24 1994/08/24 03:31:01 cfields Exp $";
#endif /*lint*/
/*
--- 3,13 ----
* For copying and distribution information, see the file
* "mit-copyright.h".
*
! * $Id: finger.c,v 1.25 1995/05/07 22:06:46 jhawk Exp $
*/
#ifndef lint
! static char *rcsid_finger_c = "$Id: finger.c,v 1.25 1995/05/07 22:06:46 jhawk Exp $";
#endif /*lint*/
/*
***************
*** 649,669 ****
else {
printf("Plan:\n");
while ((c = getc(fp)) != EOF) {
! if (i < MMLEN) {
if (c != MM[i]) {
! if (okay) {
! for (j = 0; j < i; j++) {
! (void) putchar(MM[j]);
! }
! }
if (isprint(c) || isspace(c))
(void) putchar(c);
else
(void) putchar(c ^ 100);
okay = 0;
! }
! }
! else if (isprint(c) || isspace(c))
(void) putchar(c);
else
(void) putchar(c ^ 100);
--- 649,665 ----
else {
printf("Plan:\n");
while ((c = getc(fp)) != EOF) {
! if ((i < MMLEN) && okay) {
if (c != MM[i]) {
! for (j = 0; j < i; j++)
! (void) putchar(MM[j]);
if (isprint(c) || isspace(c))
(void) putchar(c);
else
(void) putchar(c ^ 100);
okay = 0;
! } /* else fputs("Wow, you're an old fogey!", stderr); */
! } else if (isprint(c) || isspace(c))
(void) putchar(c);
else
(void) putchar(c ^ 100);