From 21dfa79e4523ee9f6097643ae02207922a471d49 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 22 Aug 2022 17:42:59 +0000 Subject: [PATCH] stringpool: Drop function to find next offset Signed-off-by: Michael Tremer --- src/stringpool.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/stringpool.c b/src/stringpool.c index 70a5ea8..d617807 100644 --- a/src/stringpool.c +++ b/src/stringpool.c @@ -255,14 +255,6 @@ struct loc_stringpool* loc_stringpool_unref(struct loc_stringpool* pool) { return NULL; } -static off_t loc_stringpool_get_next_offset(struct loc_stringpool* pool, off_t offset) { - const char* string = loc_stringpool_get(pool, offset); - if (!string) - return offset; - - return offset + strlen(string) + 1; -} - const char* loc_stringpool_get(struct loc_stringpool* pool, off_t offset) { return __loc_stringpool_get(pool, offset); } @@ -280,14 +272,17 @@ static off_t loc_stringpool_find(struct loc_stringpool* pool, const char* s) { off_t offset = 0; while (offset < pool->length) { const char* string = loc_stringpool_get(pool, offset); + + // Error! if (!string) - break; + return 1; - int r = strcmp(s, string); - if (r == 0) + // Is this a match? + if (strcmp(s, string) == 0) return offset; - offset = loc_stringpool_get_next_offset(pool, offset); + // Shift offset + offset += strlen(string) + 1; } // Nothing found @@ -311,11 +306,12 @@ void loc_stringpool_dump(struct loc_stringpool* pool) { while (offset < pool->length) { const char* string = loc_stringpool_get(pool, offset); if (!string) - break; + return; printf("%jd (%zu): %s\n", (intmax_t)offset, strlen(string), string); - offset = loc_stringpool_get_next_offset(pool, offset); + // Shift offset + offset += strlen(string) + 1; } } -- 2.39.5