summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ACE/ChangeLog10
-rw-r--r--ACE/ace/ARGV.cpp5
-rw-r--r--ACE/tests/run_test.lst2
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