diff options
author | Jose <jose@zeroc.com> | 2012-03-08 11:06:55 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2012-03-08 11:06:55 +0100 |
commit | 43126829d87ef90200e384030bcd13459104c013 (patch) | |
tree | 5eb63eb2123187ad35f27e51495a5f7bd442202f /cpp/src/slice2java/Gen.cpp | |
parent | ICE-4790 - inlining of one-shot constructors (diff) | |
download | ice-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.cpp | 24 |
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); } |