From ec3a1d44d416c47964e0fc0ff2427c238929ca23 Mon Sep 17 00:00:00 2001 From: SuperNovaa41 Date: Wed, 12 Feb 2025 14:13:12 -0500 Subject: [PATCH] fixes negative seek error --- src/include/hex.h | 2 +- src/main.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/include/hex.h b/src/include/hex.h index 9e343a4..d716928 100644 --- a/src/include/hex.h +++ b/src/include/hex.h @@ -30,7 +30,7 @@ struct flags { bool littleendian; uint offset; - uint seek; + int seek; uint octets; // number of octets per line (default 2) // done bool customoctets; diff --git a/src/main.c b/src/main.c index 5045b14..b3944a9 100644 --- a/src/main.c +++ b/src/main.c @@ -134,7 +134,8 @@ static void do_text_parse(hex_chunk_t** lines, bool interactive) fprintf(stderr, "xxd: Sorry, cannot seek.\n"); exit(EXIT_FAILURE); } - seek = (strlen(file_content) - flags.seek); + seek = (strlen(file_content) - (flags.seek * -1)); + flags.offset += seek; } filesize = (flags.len == -1) ? strlen(file_content + seek) : flags.len;