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;