summaryrefslogtreecommitdiff
path: root/cpp/src/XMLTransform/XMLTransform.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2002-11-16 18:51:33 +0000
committerBenoit Foucher <benoit@zeroc.com>2002-11-16 18:51:33 +0000
commit792f96dbba58a8da21fba7e3abd4d5ae148b90b1 (patch)
tree781d92e0c9788f4087fb3c22e2642bcd57abbe3e /cpp/src/XMLTransform/XMLTransform.cpp
parentFixes (diff)
downloadice-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.cpp25
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);