summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r--cpp/src/slice2java/Gen.cpp24
1 files changed, 16 insertions, 8 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index 906d8aaca90..da0e8832a16 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -2575,21 +2575,25 @@ Slice::Gen::TypesVisitor::visitClassDefEnd(const ClassDefPtr& p)
if(pos == string::npos)
{
ostringstream os;
- os << "Invalid serialVersionUID for class `" << p->scoped() << "' default to slice2java generated value.";
+ os << "ignoring invalid serialVersionUID for class `" << p->scoped() << "'; generating default value";
emitWarning("", "", os.str());
out << computeSerialVersionUUID(p);
}
else
{
- long v = 0;
+ IceUtil::Int64 v = 0;
serialVersionUID = serialVersionUID.substr(pos);
if(serialVersionUID != "0")
{
- v = atol(serialVersionUID.c_str());
+#ifdef WIN32
+ v = _atoi64(serialVersionUID.c_str());
+#else
+ v = atoll(serialVersionUID.c_str());
+#endif
if(v == 0) // conversion error
{
ostringstream os;
- os << "Invalid serialVersionUID for class `" << p->scoped() << "' default to slice2java generated value.";
+ os << "ignoring invalid serialVersionUID for class `" << p->scoped() << "'; generating default value";
emitWarning("", "", os.str());
out << computeSerialVersionUUID(p);
}
@@ -3353,21 +3357,25 @@ Slice::Gen::TypesVisitor::visitStructEnd(const StructPtr& p)
if(pos == string::npos)
{
ostringstream os;
- os << "Invalid serialVersionUID for struct `" << p->scoped() << "' default to slice2java generated value.";
+ os << "ignoring invalid serialVersionUID for struct `" << p->scoped() << "'; generating default value";
emitWarning("", "", os.str());
out << computeSerialVersionUUID(p);
}
else
{
- long v = 0;
+ IceUtil::Int64 v = 0;
serialVersionUID = serialVersionUID.substr(pos);
if(serialVersionUID != "0")
{
- v = atol(serialVersionUID.c_str());
+#ifdef WIN32
+ v = _atoi64(serialVersionUID.c_str());
+#else
+ v = atoll(serialVersionUID.c_str());
+#endif
if(v == 0) // conversion error
{
ostringstream os;
- os << "Invalid serialVersionUID for struct `" << p->scoped() << "' default to slice2java generated value.";
+ os << "ignoring invalid serialVersionUID for struct `" << p->scoped() << "'; generating default value";
emitWarning("", "", os.str());
out << computeSerialVersionUUID(p);
}