From 21be6862db492c71031ff8ea01650d08d872b6c7 Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Fri, 10 Jul 2015 13:15:16 -0400 Subject: [PATCH] CLI2: ::lexArguments now uses ::readWord to expand escapes --- src/CLI2.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/CLI2.cpp b/src/CLI2.cpp index 15306e0a7..f2e3daa98 100644 --- a/src/CLI2.cpp +++ b/src/CLI2.cpp @@ -437,11 +437,26 @@ void CLI2::lexArguments () } else { - A2 unknown (_original_args[i], Lexer::Type::word); - if (lex.wasQuoted (_original_args[i])) - unknown.tag ("QUOTED"); + std::string::size_type cursor = 0; + std::string word; + if (Lexer::readWord ("'" + _original_args[i] + "'", "'", cursor, word)) + { + A2 unknown (word, Lexer::Type::word); + if (lex.wasQuoted (_original_args[i])) + unknown.tag ("QUOTED"); - _args.push_back (unknown); + _args.push_back (unknown); + } + + // This branch may have no use-case. + else + { + A2 unknown (_original_args[i], Lexer::Type::word); + if (lex.wasQuoted (_original_args[i])) + unknown.tag ("QUOTED"); + + _args.push_back (unknown); + } } }