summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2012-03-08 11:06:55 +0100
committerJose <jose@zeroc.com>2012-03-08 11:06:55 +0100
commit43126829d87ef90200e384030bcd13459104c013 (patch)
tree5eb63eb2123187ad35f27e51495a5f7bd442202f /cpp/src/slice2java/Gen.cpp
parentICE-4790 - inlining of one-shot constructors (diff)
downloadice-43126829d87ef90200e384030bcd13459104c013.tar.bz2
ice-43126829d87ef90200e384030bcd13459104c013.tar.xz
ice-43126829d87ef90200e384030bcd13459104c013.zip
serialVersionUID fixes
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);
}