diff options
-rw-r--r-- | src/client-test-app.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/client-test-app.cpp b/src/client-test-app.cpp index fb39b6f6..8d784ba2 100644 --- a/src/client-test-app.cpp +++ b/src/client-test-app.cpp @@ -198,10 +198,10 @@ public: vector<string> subs; boost::split (subs, conf.subConfigs, boost::is_any_of(",")); BOOST_FOREACH (string sub, subs) { - m_localSource2Config.push_back (sub); + pushLocalSource2Config(sub); } } else { - m_localSource2Config.push_back (source); + pushLocalSource2Config(source); } } // get configuration and set obligatory fields @@ -437,6 +437,20 @@ private: SyncSource *ss = SyncSource::createSource(params); return static_cast<TestingSyncSource *>(ss); } + + // push source into localsource2config if it doesn't exist in the vector + void pushLocalSource2Config(const string &source) { + bool finded = false; + BOOST_FOREACH(string element, m_localSource2Config) { + if (boost::iequals(element, source)) { + finded = true; + break; + } + } + if (!finded) { + m_localSource2Config.push_back (source); + } + } }; static void handler(int sig) |