Discard leading 'm ' from monitor commands
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 27 Sep 2017 20:59:45 +0000 (16:59 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 29 Sep 2017 14:00:03 +0000 (10:00 -0400)
If you use 'm' a lot, when you are actually in the kernel monitor, you
may type 'm COMMAND' out of habit.  This will ignore the 'm' and execute
the command.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/src/monitor.c

index c4e2174..1ba0c93 100644 (file)
@@ -882,6 +882,9 @@ static int runcmd(char *real_buf, struct hw_trapframe *hw_tf) {
        // Parse the command buffer into whitespace-separated arguments
        argc = 0;
        argv[argc] = 0;
+       /* Discard initial 'm ', which is a common mistake when using 'm' a lot */
+       if ((buf[0] == 'm') && (buf[1] == ' '))
+               buf += 2;
        while (1) {
                // gobble whitespace
                while (*buf && strchr(WHITESPACE, *buf))