summaryrefslogtreecommitdiff
path: root/miscutils/hexedit.c
diff options
context:
space:
mode:
authorDenys Vlasenko2017-09-15 15:23:47 +0200
committerDenys Vlasenko2017-09-15 15:23:47 +0200
commite58b44755dbac7c55bf602f7f76dfb37b47323f5 (patch)
tree8f9c2935a08e1f9083636479767fa64770bb8b7f /miscutils/hexedit.c
parentf3fa86525850620d31e48a742a25fd4965b1dba2 (diff)
downloadbusybox-e58b44755dbac7c55bf602f7f76dfb37b47323f5.zip
busybox-e58b44755dbac7c55bf602f7f76dfb37b47323f5.tar.gz
hexedit: code shrink
function old new delta hexedit_main 1171 1170 -1 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'miscutils/hexedit.c')
-rw-r--r--miscutils/hexedit.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/miscutils/hexedit.c b/miscutils/hexedit.c
index 8334181..bafb834 100644
--- a/miscutils/hexedit.c
+++ b/miscutils/hexedit.c
@@ -432,28 +432,27 @@ int hexedit_main(int argc UNUSED_PARAM, char **argv)
printf(ESC"[999;1H" CLEAR_TILL_EOL); /* go to last line */
if (read_line_input(NULL, "Go to (dec,0Xhex,0oct): ", buf, sizeof(buf)) > 0) {
off_t t;
- unsigned pgmask;
+ unsigned cursor;
t = bb_strtoull(buf, NULL, 0);
if (t >= G.size)
t = G.size - 1;
- pgmask = G_pagesize - 1;
- cnt = t & pgmask;
- t = t & ~(off_t)pgmask;
+ cursor = t & (G_pagesize - 1);
+ t -= cursor;
if (t < 0)
- cnt = t = 0;
- if (t != 0 && cnt < 0x1ff) {
+ cursor = t = 0;
+ if (t != 0 && cursor < 0x1ff) {
/* very close to end of page, possibly to EOF */
/* move one page lower */
t -= G_pagesize;
- cnt += G_pagesize;
+ cursor += G_pagesize;
}
G.offset = t;
- remap(cnt);
- redraw(cnt);
+ remap(cursor);
+ redraw(cursor);
break;
}
- /* EOF/error on input: fall through to exiting */
+ /* ^C/EOF/error: fall through to exiting */
}
case CTRL('X'):
restore_term();