From 8c5856786504ed12af81b828967b04fda327e2fd Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" <SND\kernelnet_cp@9b283d60-5439-405e-af05-b73fd8c4d996> Date: Tue, 3 Aug 2010 10:18:44 +0000 Subject: [PATCH] [!] bug fixed: #6769 Args parsing is not supporting quoting git-svn-id: https://pykd.svn.codeplex.com/svn@53515 9b283d60-5439-405e-af05-b73fd8c4d996 --- pykd/dbgext.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pykd/dbgext.cpp b/pykd/dbgext.cpp index 21bd08b..62f7640 100644 --- a/pykd/dbgext.cpp +++ b/pykd/dbgext.cpp @@ -148,16 +148,19 @@ py( PDEBUG_CLIENT4 client, PCSTR args) boost::python::object result; // ������ ���������� - typedef boost::char_separator<char> char_separator_t; + typedef boost::escaped_list_separator<char> char_separator_t; typedef boost::tokenizer< char_separator_t > char_tokenizer_t; std::string argsStr( args ); - char_tokenizer_t token( argsStr , char_separator_t( " \t" ) ); + char_tokenizer_t token( argsStr , char_separator_t( "\\", " \t", "\"" ) ); std::vector<std::string> argsList; for ( char_tokenizer_t::iterator it = token.begin(); it != token.end(); ++it ) - argsList.push_back( *it ); + { + if ( *it != "" ) + argsList.push_back( *it ); + } if ( argsList.size() == 0 ) return S_OK;