summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/DescriptorParser.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2005-09-14 15:40:21 +0000
committerBenoit Foucher <benoit@zeroc.com>2005-09-14 15:40:21 +0000
commit017a84873ab0dee1e47217476d72f4cc055e247e (patch)
tree61ac9ed564cff94205680e85ca2d564a0fb74ae3 /cpp/src/IceGrid/DescriptorParser.cpp
parentAdded loadFactor parameter in NodeDescriptor constructor (diff)
downloadice-017a84873ab0dee1e47217476d72f4cc055e247e.tar.bz2
ice-017a84873ab0dee1e47217476d72f4cc055e247e.tar.xz
ice-017a84873ab0dee1e47217476d72f4cc055e247e.zip
slice/IceGrid
Diffstat (limited to 'cpp/src/IceGrid/DescriptorParser.cpp')
-rw-r--r--cpp/src/IceGrid/DescriptorParser.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/cpp/src/IceGrid/DescriptorParser.cpp b/cpp/src/IceGrid/DescriptorParser.cpp
index c098a96ad2b..f9adc444e79 100644
--- a/cpp/src/IceGrid/DescriptorParser.cpp
+++ b/cpp/src/IceGrid/DescriptorParser.cpp
@@ -52,7 +52,7 @@ private:
string _filename;
std::map<std::string, std::string> _overrides;
std::vector<std::string> _targets;
- std::stack<std::string> _elements;
+ std::string _data;
int _targetCounter;
bool _isCurrentTargetDeployable;
int _line;
@@ -381,7 +381,7 @@ DescriptorHandler::startElement(const string& name, const IceXML::Attributes& at
error(reason);
}
- _elements.push("");
+ _data = "";
}
void
@@ -514,14 +514,15 @@ DescriptorHandler::endElement(const string& name, int line, int column)
{
_inPatch = false;
}
-
- _elements.pop();
}
void
DescriptorHandler::characters(const string& chars, int, int)
{
- _elements.top().assign(chars);
+ if(isCurrentTargetDeployable())
+ {
+ _data += chars;
+ }
}
void
@@ -589,7 +590,7 @@ DescriptorHandler::error(const string& msg) const
string
DescriptorHandler::elementValue() const
{
- return _elements.top();
+ return _data;
}
bool