Commit 1b310030 authored by Douglas Anderson's avatar Douglas Anderson Committed by Daniel Thompson

kdb: Cleanup math with KDB_CMD_HISTORY_COUNT

From code inspection the math in handle_ctrl_cmd() looks super sketchy
because it subjects -1 from cmdptr and then does a "%
KDB_CMD_HISTORY_COUNT".  It turns out that this code works because
"cmdptr" is unsigned and KDB_CMD_HISTORY_COUNT is a nice power of 2.
Let's make this a little less sketchy.

This patch should be a no-op.
Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20200507161125.1.I2cce9ac66e141230c3644b8174b6c15d4e769232@changeidReviewed-by: default avatarSumit Garg <sumit.garg@linaro.org>
Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
parent 195867ff
...@@ -1108,7 +1108,8 @@ static int handle_ctrl_cmd(char *cmd) ...@@ -1108,7 +1108,8 @@ static int handle_ctrl_cmd(char *cmd)
switch (*cmd) { switch (*cmd) {
case CTRL_P: case CTRL_P:
if (cmdptr != cmd_tail) if (cmdptr != cmd_tail)
cmdptr = (cmdptr-1) % KDB_CMD_HISTORY_COUNT; cmdptr = (cmdptr + KDB_CMD_HISTORY_COUNT - 1) %
KDB_CMD_HISTORY_COUNT;
strscpy(cmd_cur, cmd_hist[cmdptr], CMD_BUFLEN); strscpy(cmd_cur, cmd_hist[cmdptr], CMD_BUFLEN);
return 1; return 1;
case CTRL_N: case CTRL_N:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment