diff --git a/src/test/cpp/net/socketserverstarter.cpp b/src/test/cpp/net/socketserverstarter.cpp
index 43e9d56..59ac0f8 100644
--- a/src/test/cpp/net/socketserverstarter.cpp
+++ b/src/test/cpp/net/socketserverstarter.cpp
@@ -5,9 +5,9 @@
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -32,7 +32,7 @@
    LOGUNIT_TEST_SUITE(SocketServerStarter);
       LOGUNIT_TEST(startServer);
    LOGUNIT_TEST_SUITE_END();
-   
+
 public:
    void setUp()
    {
@@ -41,7 +41,7 @@
    void tearDown()
    {
    }
-   
+
    void startServer()
    {
      helpers::Pool p;
@@ -76,9 +76,9 @@
           for (; i < 14 && pcmd && *pcmd; ++i)
           {
               args[i] = pcmd;
-              if (NULL != (pcmd = strchr(pcmd, ' ')))
+              if (NULL != (pcmd = strchr(pcmd, ';')))
               {
-                while(' ' == *pcmd)
+                while(';' == *pcmd)
                 {
                   *pcmd = 0;
                   ++pcmd;
