summaryrefslogtreecommitdiffstats
path: root/src/xxd/xxd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xxd/xxd.c')
-rw-r--r--src/xxd/xxd.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c
index e2f893b7da..cef3c61279 100644
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -811,24 +811,16 @@ main(int argc, char *argv[])
{
if (p == 0)
{
- if (decimal_offset)
- addrlen = sprintf(l, "%08ld:",
- ((unsigned long)(n + seekoff + displayoff)));
- else
- addrlen = sprintf(l, "%08lx:",
+ addrlen = sprintf(l, decimal_offset ? "%08ld:" : "%08lx:",
((unsigned long)(n + seekoff + displayoff)));
for (c = addrlen; c < LLEN; l[c++] = ' ');
}
- if (hextype == HEX_NORMAL)
- {
- l[c = (addrlen + 1 + (grplen * p) / octspergrp)] = hexx[(e >> 4) & 0xf];
- l[++c] = hexx[ e & 0xf];
- }
- else if (hextype == HEX_LITTLEENDIAN)
+ if (hextype == HEX_NORMAL || hextype == HEX_LITTLEENDIAN)
{
- int x = p ^ (octspergrp-1);
- l[c = (addrlen + 1 + (grplen * x) / octspergrp)] = hexx[(e >> 4) & 0xf];
- l[++c] = hexx[ e & 0xf];
+ int x = hextype == HEX_NORMAL ? p : p ^ (octspergrp-1);
+ l[c = (addrlen + 1 + (grplen * x) / octspergrp)]
+ = hexx[(e >> 4) & 0xf];
+ l[++c] = hexx[e & 0xf];
}
else /* hextype == HEX_BITS */
{