From b8b72b658a33c33f203d057e0348b70fb8149682 Mon Sep 17 00:00:00 2001 From: David Rose Date: Fri, 14 Jun 2002 16:17:33 +0000 Subject: [PATCH] support spaces in configargs --- dtool/src/dconfig/configTable.cxx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/dtool/src/dconfig/configTable.cxx b/dtool/src/dconfig/configTable.cxx index 57b86d3ef5..32e99604c2 100644 --- a/dtool/src/dconfig/configTable.cxx +++ b/dtool/src/dconfig/configTable.cxx @@ -357,10 +357,18 @@ void ConfigTable::MicroConfig(void) microconfig_cat->spam() << "separator character is: '" << sep << "'" << endl; typedef std::vector strvec; - typedef Serialize::Deserializer > deser; - configconfig.erase(0, 1); - deser ds(configconfig, sep); - strvec sv = ds; + strvec sv; + size_t q = 1; + size_t p = configconfig.find(sep, q); + while (p != ConfigString::npos) { + sv.push_back(configconfig.substr(q, p - q)); + q = p + 1; + p = configconfig.find(sep, q); + } + if (q + 1 < configconfig.size()) { + sv.push_back(configconfig.substr(q)); + } + if (microconfig_cat->is_spam()) microconfig_cat->spam() << "extracted vector of microconfig options" << endl;