diff options
-rw-r--r-- | ACE/ChangeLog | 10 | ||||
-rw-r--r-- | ACE/ace/ARGV.cpp | 5 | ||||
-rw-r--r-- | ACE/tests/run_test.lst | 2 |
3 files changed, 14 insertions, 3 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog index e59ed37e812..22790d2a871 100644 --- a/ACE/ChangeLog +++ b/ACE/ChangeLog @@ -1,3 +1,13 @@ +Wed Apr 16 13:06:05 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com> + + * ace/ARGV.cpp: + Don't quote quotes already quoted. + +Mon Apr 14 12:10:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl> + + * tests/run_test.pl: + Don't run 2980 when WCHAR is set + Mon Apr 14 11:08:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl> * ace/Threading_Helper_T.cpp: diff --git a/ACE/ace/ARGV.cpp b/ACE/ace/ARGV.cpp index b61ef43600b..c4b64f6a38a 100644 --- a/ACE/ace/ARGV.cpp +++ b/ACE/ace/ARGV.cpp @@ -337,10 +337,11 @@ ACE_ARGV_T<CHAR_TYPE>::create_buf_from_queue (void) *ptr++ = '"'; if (ACE_OS::strchr (arg->arg_, '"') != 0) { + CHAR_TYPE prev = 0; for (const CHAR_TYPE * p = arg->arg_; *p != '\0'; ++p) { - if (*p == '"') *ptr++ = '\\'; - *ptr++ = *p; + if (*p == '"' && prev != '\\') *ptr++ = '\\'; + prev = *ptr++ = *p; } } else diff --git a/ACE/tests/run_test.lst b/ACE/tests/run_test.lst index 8c6670dcd86..49051e12044 100644 --- a/ACE/tests/run_test.lst +++ b/ACE/tests/run_test.lst @@ -40,7 +40,7 @@ Bug_2659_Regression_Test: !ST !VxWorks64 !VxWorks65 Bug_2653_Regression_Test: !ST Bug_2815_Regression_Test Bug_2820_Regression_Test -Bug_2980_Regression_Test: !STATIC !MSVC !VxWorks !LynxOS +Bug_2980_Regression_Test: !STATIC !MSVC !VxWorks !LynxOS !WCHAR Bug_3102_Regression_Test CDR_Array_Test: !ACE_FOR_TAO CDR_File_Test: !ACE_FOR_TAO |