lwall@sdcrdcf.UUCP (Larry Wall) (12/01/84)
System: rn version 4.1 Bug #: 26 Priority: MEDIUM (HIGH for pyramids) Subject: bitmap to rcline conversion may fail Description: If you have more than a buffer's worth of unread article numbers upon exiting from a newsgroup, restore_ng() will misfire. If you are on a Pyramid, for some reason, it blows up all the time. Repeat-By: Better not to repeat it. Fix: From rn, say "| patch -d DIR", where DIR is your rn source directory. Outside of rn, say "cd DIR; patch <thisarticle". If you don't have the patch program, apply the following by hand, or get patch. Index: bits.c Prereq: 4.1.1.2 *************** *** 1,4 ! /* $Header: bits.c,v 4.1.1.2 84/10/31 11:58:50 lwall Exp $ * * $Log: bits.c,v $ * Revision 4.1.1.2 84/10/31 11:58:50 lwall --- 1,4 ----- ! /* $Header: bits.c,v 4.1.1.3 84/11/30 17:08:15 lwall Exp $ * * $Log: bits.c,v $ * Revision 4.1.1.3 84/11/30 17:08:15 lwall *************** *** 1,6 /* $Header: bits.c,v 4.1.1.2 84/10/31 11:58:50 lwall Exp $ * * $Log: bits.c,v $ * Revision 4.1.1.2 84/10/31 11:58:50 lwall * initctl() wrongly assumed that expired articles were unread when trying * to adjust firstart, and misadjusted toread[ng]. toread[ng] is now --- 1,9 ----- /* $Header: bits.c,v 4.1.1.3 84/11/30 17:08:15 lwall Exp $ * * $Log: bits.c,v $ + * Revision 4.1.1.3 84/11/30 17:08:15 lwall + * Had an = where it should have been ==. + * * Revision 4.1.1.2 84/10/31 11:58:50 lwall * initctl() wrongly assumed that expired articles were unread when trying * to adjust firstart, and misadjusted toread[ng]. toread[ng] is now *************** *** 154,160 } #endif free(rcline[ng]); /* return old rc line */ ! if (mybuf = buf) { rcline[ng] = safemalloc((MEM_SIZE)(s-buf)+1); /* grab a new rc line */ strcpy(rcline[ng], buf); /* and load it */ --- 157,163 ----- } #endif free(rcline[ng]); /* return old rc line */ ! if (mybuf == buf) { rcline[ng] = safemalloc((MEM_SIZE)(s-buf)+1); /* grab a new rc line */ strcpy(rcline[ng], buf); /* and load it */