]> git.donarmstrong.com Git - kiibohd-controller.git/commitdiff
Write whole debug cli command to history
authorEric Mertens <emertens@gmail.com>
Tue, 27 Oct 2015 00:55:41 +0000 (17:55 -0700)
committerEric Mertens <emertens@gmail.com>
Tue, 27 Oct 2015 01:03:56 +0000 (18:03 -0700)
Previously the command was being modified in place in order
to find the command name. This was happening before saving
to the history.

Fixes #70

Debug/cli/cli.c

index 149d12d49af22457731942f9d56582c791c1e672..5c83ee64c98ce4bf60a39c01b80d1f76a8110020 100644 (file)
@@ -159,15 +159,12 @@ void CLI_process()
                        }
                        else
                        {
                        }
                        else
                        {
-                       // Only do command-related stuff if there was actually a command
-                       // Avoids clogging command history with blanks
+                               // Add the command to the history
+                               CLI_saveHistory( CLILineBuffer );
 
                                // Process the current line buffer
                                CLI_commandLookup();
 
 
                                // Process the current line buffer
                                CLI_commandLookup();
 
-                               // Add the command to the history
-                               CLI_saveHistory( CLILineBuffer );
-
                                // Keep the array circular, discarding the older entries
                                if ( CLIHistoryTail < CLIHistoryHead )
                                        CLIHistoryHead = ( CLIHistoryHead + 1 ) % CLIMaxHistorySize;
                                // Keep the array circular, discarding the older entries
                                if ( CLIHistoryTail < CLIHistoryHead )
                                        CLIHistoryHead = ( CLIHistoryHead + 1 ) % CLIMaxHistorySize;
@@ -425,6 +422,11 @@ inline void CLI_saveHistory( char *buff )
                return;
        }
 
                return;
        }
 
+        // Don't write empty lines to the history
+        const char *cursor = buff;
+        while (*cursor == ' ') { cursor++; } // advance past the leading whitespace
+        if (*cursor == '\0') { return ; }
+
        // Copy the line to the history
        int i;
        for (i = 0; i < CLILineBufferCurrent; i++)
        // Copy the line to the history
        int i;
        for (i = 0; i < CLILineBufferCurrent; i++)