From ff96d82ded26625f1b6bdcd8b59db07375e7624f9652674a31487ba0f51f381d Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Thu, 23 Jan 2025 13:46:53 +0300 Subject: [PATCH] Reinitialise items every time --- c/cmd/pp/pp.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) 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)); -- 2.50.0