From 7f2144f9402ca28bb98877450aebefc5ca57ce12 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Sun, 12 Oct 2014 14:02:57 -0500 Subject: [PATCH] auto-sync --- firmware/rusefi.cpp | 2 +- firmware/util/cli_registry.c | 16 ++++++++++++++++ unit_tests/test_util.cpp | 12 ++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 57e19307b0..0b4d341380 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -241,5 +241,5 @@ void firmwareError(const char *fmt, ...) { } int getRusEfiVersion(void) { - return 20141011; + return 20141012; } diff --git a/firmware/util/cli_registry.c b/firmware/util/cli_registry.c index 7a809df1ce..860cbe6de3 100644 --- a/firmware/util/cli_registry.c +++ b/firmware/util/cli_registry.c @@ -154,6 +154,22 @@ static void echo(int value) { } int findEndOfToken(const char *line) { + if (line[0] == '"') { + /** + * Looks like this is a quoted token + */ + int v = indexOf(line + 1, '"'); + if (v == -1) { + /** + * Matching closing quote not found + */ + return -1; + } + /** + * Skipping first quote and the symbol after closing quote + */ + return v + 2; + } return indexOf(line, ' '); } diff --git a/unit_tests/test_util.cpp b/unit_tests/test_util.cpp index 6280a9d72f..72b72b5fd5 100644 --- a/unit_tests/test_util.cpp +++ b/unit_tests/test_util.cpp @@ -278,6 +278,12 @@ void testConsoleLogic(void) { char * cmd = "he ha"; assertEquals(2, findEndOfToken(cmd)); + cmd = "\"hee\" ha"; + assertEquals(5, findEndOfToken(cmd)); + + cmd = "\"h e\" ha"; + assertEquals(5, findEndOfToken(cmd)); + char *ptr = validateSecureLine(UNKNOWN_COMMAND); assertEquals(0, strcmp(UNKNOWN_COMMAND, ptr)); @@ -307,6 +313,12 @@ void testConsoleLogic(void) { assertEquals(111, atoi(lastFirst)); assertEquals(333, atoi(lastThird)); + + strcpy(buffer, "echosss \" 1\" 222 333"); + handleConsoleLine(buffer); + assertTrue(strEqual("\" 1\"", lastFirst)); + + //addConsoleActionSSS("GPS", testGpsParser); }