From: skrenta@blekko.commodore.com (Rich Skrenta) Newsgroups: alt.sources Subject: Important patch for Tass 3.2 Message-ID: <163@blekko.commodore.com> Date: 19 Apr 91 14:22:37 GMT Tass 3.2 will croak if it sees an article that it can't find a From: or Subject: header in. Apply this patch and rebuild Tass. Remove all of your tass index files since they could potentially be corrupt (and cause problems later even with the patched Tass). There is also a fix here so delete works like backspace at Tass prompts. *** art.c- Wed Apr 17 20:01:51 1991 --- art.c Fri Apr 19 01:38:09 1991 *************** *** 328,335 **** buf[n - 1] = '\0'; ! h->subject = ""; ! h->from = ""; p = buf; while (1) { --- 328,335 ---- buf[n - 1] = '\0'; ! h->subject = ""; ! h->from = ""; p = buf; while (1) { *************** *** 391,397 **** iptr = (int *) arts[i].subject; iptr--; ! if (*iptr < 0) { fprintf(fp, " %s\n", arts[i].subject); *iptr = realnum; } else --- 391,397 ---- iptr = (int *) arts[i].subject; iptr--; ! if (arts[i].subject[0] == '\0' || *iptr < 0) { fprintf(fp, " %s\n", arts[i].subject); *iptr = realnum; } else *************** *** 400,406 **** iptr = (int *) arts[i].from; iptr--; ! if (*iptr < 0) { fprintf(fp, " %s\n", arts[i].from); *iptr = realnum; } else --- 400,406 ---- iptr = (int *) arts[i].from; iptr--; ! if (arts[i].from[0] == '\0' || *iptr < 0) { fprintf(fp, " %s\n", arts[i].from); *iptr = realnum; } else *** prompt.c- Wed Apr 17 20:01:58 1991 --- prompt.c Fri Apr 19 10:00:02 1991 *************** *** 26,36 **** len = 1; ch = ReadCh(); while (ch != '\n'&& ch != '\r') { ! if (ch >= '0' && ch <= '9' && len < 4) { ! buf[len++] = ch; ! buf[len] = '\0'; ! putchar(ch); ! } else if (ch == 8 || ch == 127) { if (len) { len--; buf[len] = '\0'; --- 26,32 ---- len = 1; ch = ReadCh(); while (ch != '\n'&& ch != '\r') { ! if (ch == 8 || ch == 127) { if (len) { len--; buf[len] = '\0'; *************** *** 50,55 **** --- 46,55 ---- } buf[0] = '\0'; len = 0; + } else if (ch >= '0' && ch <= '9' && len < 4) { + buf[len++] = ch; + buf[len] = '\0'; + putchar(ch); } else putchar(7); fflush(stdout); *************** *** 89,99 **** len = 0; ch = ReadCh(); while (ch != '\n' && ch != '\r') { ! if (ch >= ' ' && len < 60) { ! buf[len++] = ch; ! buf[len] = '\0'; ! putchar(ch); ! } else if (ch == 8 || ch == 127) { if (len) { len--; buf[len] = '\0'; --- 89,95 ---- len = 0; ch = ReadCh(); while (ch != '\n' && ch != '\r') { ! if (ch == 8 || ch == 127) { if (len) { len--; buf[len] = '\0'; *************** *** 113,118 **** --- 109,118 ---- } buf[0] = '\0'; len = 0; + } else if (ch >= ' ' && len < 60) { + buf[len++] = ch; + buf[len] = '\0'; + putchar(ch); } else putchar(7); fflush(stdout); -- skrenta@blekko.commodore.com