From 28a34ad1eba28e23d9b991d1a946456146451c4b Mon Sep 17 00:00:00 2001 From: SuperNovaa41 Date: Wed, 12 Feb 2025 13:44:12 -0500 Subject: [PATCH] implements little endian --- src/hex.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/hex.c b/src/hex.c index 38001c4..6949204 100644 --- a/src/hex.c +++ b/src/hex.c @@ -146,11 +146,19 @@ static void write_octet(char a, char b, FILE* stream) a, b, (newline ? green_str : "")); } -static void display_octet(char* text, FILE* stream) +static void display_octets(char* text, FILE* stream) { uint i; - for (i = 0; i < (flags.octets * 2); i += 2) - write_octet(((text) + i)[0], ((text) + i)[1], stream); + for (i = 0; i < (flags.octets * 2); i += 2) { + if (flags.littleendian) { + write_octet((text + (flags.octets * 2) - i - 2)[0], + (text + (flags.octets * 2) - i - 2)[1], stream); + } else { + write_octet((text + i)[0], (text + i)[1], stream); + } + } + + } static void standard_output(char** text, FILE* stream) @@ -158,7 +166,7 @@ static void standard_output(char** text, FILE* stream) uint i; for (i = 0; i < (flags.cols * 2); i += (flags.octets * 2)) { - display_octet(((*text) + i), stream); + display_octets(((*text) + i), stream); if (!flags.postscript) fprintf(stream, " ");