From: Sergey Matveev Date: Thu, 23 Jan 2025 10:46:53 +0000 (+0300) Subject: Reinitialise items every time X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ff96d82ded26625f1b6bdcd8b59db07375e7624f9652674a31487ba0f51f381d;p=keks.git Reinitialise items every time --- diff --git a/c/cmd/pp/pp.c b/c/cmd/pp/pp.c index 9e5c616..3b5f253 100644 --- a/c/cmd/pp/pp.c +++ b/c/cmd/pp/pp.c @@ -357,20 +357,21 @@ main(int argc, char **argv) snprintf(OffFmt, sizeof OffFmt, "%%s%%0%dzd%%s ", OffDigits); struct KEKSItems items; - enum KEKSErr err = KEKSItemsInit(&items, itemsInitialLen); - if (err != KEKSErrNo) { - fprintf(stderr, "err: %s\n", KEKSErr2Str(err)); - return EXIT_FAILURE; - } - if (NoOffsets) { - free(items.offsets); - items.offsets = NULL; - } + enum KEKSErr err = KEKSErrInvalid; size_t off = 0; struct timespec started; struct timespec finished; ptrdiff_t parseCycles = 0; while (off < len) { + err = KEKSItemsInit(&items, itemsInitialLen); + if (err != KEKSErrNo) { + fprintf(stderr, "err: %s\n", KEKSErr2Str(err)); + return EXIT_FAILURE; + } + if (NoOffsets) { + free(items.offsets); + items.offsets = NULL; + } errno = 0; if (clock_gettime(CLOCK_MONOTONIC_PRECISE, &started) != 0) { fprintf(stderr, "clock_gettime(started): %s\n", strerror(errno));