summaryrefslogtreecommitdiff
path: root/TAO/tests/Bug_2084_Regression/Collocated_Test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/Bug_2084_Regression/Collocated_Test.cpp')
-rw-r--r--TAO/tests/Bug_2084_Regression/Collocated_Test.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/TAO/tests/Bug_2084_Regression/Collocated_Test.cpp b/TAO/tests/Bug_2084_Regression/Collocated_Test.cpp
index 736ea5e4d61..1af0460353f 100644
--- a/TAO/tests/Bug_2084_Regression/Collocated_Test.cpp
+++ b/TAO/tests/Bug_2084_Regression/Collocated_Test.cpp
@@ -51,17 +51,16 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[])
try
{
-
- // Keep a copy of the ORB options args
- ACE_ARGV orb_args;
- for (int i = 1; i < argc; ++i)
- {
- if (orb_args.add (argv[i]) == -1)
+ // Keep a copy of the ORB options args
+ ACE_ARGV orb_args;
+ for (int i = 1; i < argc; ++i)
+ {
+ if (orb_args.add (argv[i]) == -1)
return -1;
- }
+ }
ACE_Argv_Type_Converter satc (argc, argv);
-
+ // This eats all orb-specific options!
CORBA::ORB_var sorb =
CORBA::ORB_init (satc.get_argc (),
satc.get_TCHAR_argv (),
@@ -83,7 +82,12 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[])
// Wait for the server thread to do some processing
me.wait ();
- // This eats all orb-specific options!
+ // Restore the orb-specific options.
+ argc = orb_args.argc ();
+ for (int i = 1; i < argc; ++i)
+ {
+ argv[i] = const_cast<ACE_TCHAR*> (orb_args[i]);
+ }
ACE_Argv_Type_Converter catc (argc, argv);
CORBA::ORB_var corb =
CORBA::ORB_init (catc.get_argc(),