line too long?
Katsuhiro Kondou
kondou at nec.co.jp
Mon Apr 2 02:40:07 UTC 2001
In article <Pine.BSF.4.33.0104012152380.91376-100000 at mobile.hub.org>,
The Hermit Hacker <scrappy at hub.org> wrote;
} news.hub.org> makehistory -b -f history.n -O -l 300000 -I
} makehistory: Line 100903 is too long
Sounds like certain overview data is too large(>8192) for QIOread().
I dont't think this happens so often, and we can skip this like
overchan does. Attached should work for it.
--
Katsuhiro Kondou
Index: makehistory.c
===================================================================
RCS file: /home/kondou/news/inn/repository/inn/expire/makehistory.c,v
retrieving revision 1.87
diff -u -r1.87 makehistory.c
--- makehistory.c 2001/03/26 22:37:40 1.87
+++ makehistory.c 2001/04/02 02:37:48
@@ -262,7 +262,15 @@
Fork ? _exit(1) : exit(1);
}
- for (count = 1; (line = QIOread(qp)) != NULL ; ++count) {
+ for (count = 1; ; ++count) {
+ line = QIOread(qp);
+ if (line == NULL) {
+ if (QIOtoolong(qp)) {
+ fprintf(stderr, "makehistory: Line %d is too long\n", count);
+ continue;
+ } else
+ break;
+ }
if ((p = strchr(line, '\t')) == NULL
|| (q = strchr(p+1, '\t')) == NULL
|| (r = strchr(q+1, '\t')) == NULL) {
@@ -304,11 +312,6 @@
}
}
/* Check for errors and close. */
- if (QIOtoolong(qp)) {
- fprintf(stderr, "makehistory: Line %d is too long\n", count);
- OVclose();
- Fork ? _exit(1) : exit(1);
- }
if (QIOerror(qp)) {
(void)fprintf(stderr, "makehistory: Can't read sorted tmp file %s, %s\n",
SortedTmpPath, strerror(errno));
More information about the inn-workers
mailing list