diff options
author | Benoit Foucher <benoit@zeroc.com> | 2002-11-16 18:51:33 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2002-11-16 18:51:33 +0000 |
commit | 792f96dbba58a8da21fba7e3abd4d5ae148b90b1 (patch) | |
tree | 781d92e0c9788f4087fb3c22e2642bcd57abbe3e /cpp/src/XMLTransform/XMLTransform.cpp | |
parent | Fixes (diff) | |
download | ice-792f96dbba58a8da21fba7e3abd4d5ae148b90b1.tar.bz2 ice-792f96dbba58a8da21fba7e3abd4d5ae148b90b1.tar.xz ice-792f96dbba58a8da21fba7e3abd4d5ae148b90b1.zip |
Fixed bug & use IceUtil::stringToInt64
Diffstat (limited to 'cpp/src/XMLTransform/XMLTransform.cpp')
-rw-r--r-- | cpp/src/XMLTransform/XMLTransform.cpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/cpp/src/XMLTransform/XMLTransform.cpp b/cpp/src/XMLTransform/XMLTransform.cpp index 3eb4695c328..0f321e28c2b 100644 --- a/cpp/src/XMLTransform/XMLTransform.cpp +++ b/cpp/src/XMLTransform/XMLTransform.cpp @@ -12,6 +12,7 @@ // // ********************************************************************** +#include <IceUtil/InputUtil.h> #include <Ice/Ice.h> #include <XMLTransform/XMLTransform.h> #include <XMLTransform/ErrorReporter.h> @@ -670,11 +671,12 @@ public: throw SchemaViolation(__FILE__, __LINE__); } string value = toString(child->getNodeValue()); -#ifdef WIN32 - Ice::Long v = _atoi64(value.c_str()); -#else - Ice::Long v = atoll(value.c_str()); -#endif + + string::size_type p; + Ice::Long v; + bool rc = IceUtil::stringToInt64(value, v, p); + assert(rc); + if(_to == "xs:byte") { if(v < SCHAR_MIN || v > SCHAR_MAX) @@ -1468,12 +1470,6 @@ XMLTransform::TransformFactory::import(DocumentMap& documents, const string& ns, { string file = findFile(loc, paths); parser.parse(file.c_str()); - if(errorReporter.getSawErrors()) - { - InvalidSchema ex(__FILE__, __LINE__); - ex.reason = errorReporter.getErrors(); - throw ex; - } } catch(const XMLException& ex) { @@ -1494,6 +1490,13 @@ XMLTransform::TransformFactory::import(DocumentMap& documents, const string& ns, throw e; } + if(errorReporter.getSawErrors()) + { + InvalidSchema ex(__FILE__, __LINE__); + ex.reason = errorReporter.getErrors(); + throw ex; + } + DOMDocument* document = parser.getDocument(); DOMNode* schema = findSchemaRoot(document); |