[!] bug fixed: Args parsing is not supporting quoting

git-svn-id: https://pykd.svn.codeplex.com/svn@53515 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\kernelnet_cp 2010-08-03 10:18:44 +00:00
parent 7c64eff59e
commit 8c58567865

View File

@ -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;