OSDN Git Service

[SHELL] POFF: Accept 'Y'.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Sat, 9 Nov 2013 12:46:32 +0000 (21:46 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Sat, 9 Nov 2013 12:46:32 +0000 (21:46 +0900)
main.c
term_shell.c

diff --git a/main.c b/main.c
index 56168d4..f1c2ab6 100644 (file)
--- a/main.c
+++ b/main.c
@@ -354,7 +354,6 @@ int main(void)
         /* Main routine*/
 
         term_shell(0); // Steel Shell
-//       uart_term_putstr("\nOpen I2C Radio v2.0\n(C)2013- Kyuma Ohta\n");
        for(i = 0; i < 4; i++) {
            c = pollkey_single_timeout(ui_idlekey, 1); // 23*41 = 943ms
            p = 0;
index 7708797..7bdedbc 100644 (file)
@@ -142,7 +142,7 @@ static void term_poweroff(char *p)
     }
     uart_term_putstr("\n*** Power OFF ***\nOK? (Yes = Y)");
     uart_term_getstr(s, 15, 0xff);
-    if(shell_strlen(s) != 1) return;
+    if(shell_strlen(s) >= 3) return;
     if(s[0] == 'Y') shutdown(savef);
 }
 
@@ -359,16 +359,19 @@ char term_shell(unsigned int timeout)
         uart_term_putstr("\n$>");
         uart_term_getstr(cmd_shellstr, 128, 1); // With Echo
         ClrWdt();
-//        ii = shell_gettok(pool, cmd_shellstr);
+        ii = shell_gettok(pool, cmd_shellstr);
 //        if(ii >= 128) return SHELL_CMD_TOOLONG;
-//        if(ii >= 128) continue; // Discard
+        if(ii >= 128) continue; // Discard
 
         for(t = 0; t < SHELL_TOPCMDS; t++){
-            i = shell_strcmp((char *)cmdstr[t], cmd_shellstr);
+            i = shell_strcmp((char *)cmdstr[t], pool);
             if(i > 0) break;
         }
-        //if(i <= 0) return SHELL_CMD_NOTFOUND;
-        //ii = shell_gettok(pool, &cmd_shellstr[ii]);
+        if(cmd_shellstr[ii] == ' ') {
+          //if(i <= 0) return SHELL_CMD_NOTFOUND;
+          ii = shell_gettok(pool, &cmd_shellstr[ii + 1]);
+       }
+       
         switch(t){
             case 0:
                 cmd_help(pool);