Author: shadowmaster
Date: Wed Jul 30 22:57:13 2008
New Revision: 28275
URL: http://svn.gna.org/viewcvs/wesnoth?rev=28275&view=rev
Log:
* Got rid of nasty preprocessor hacks and renamed major and minor fields
* to vmajor and vminor just to be safe.
Modified:
trunk/src/addon_management.cpp
trunk/src/addon_management.hpp
Modified: trunk/src/addon_management.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/addon_management.cpp?rev=28275&r1=28274&r2=28275&view=diff
==============================================================================
--- trunk/src/addon_management.cpp (original)
+++ trunk/src/addon_management.cpp Wed Jul 30 22:57:13 2008
@@ -924,14 +924,12 @@
}
}
-#if 1
-
bool operator>(const addon_version_info& l, const addon_version_info& r)
{
if((!r.sane) || (!l.sane))
throw addon_version_info_not_sane_exception();
- return (l.major > r.major || (l.major == r.major && (l.minor > r.minor
|| (l.minor == r.minor && l.revision > r.revision))));
+ return (l.vmajor > r.vmajor || (l.vmajor == r.vmajor && (l.vminor >
r.vminor || (l.vminor == r.vminor && l.revision > r.revision))));
}
bool operator<(const addon_version_info& l, const addon_version_info& r)
@@ -939,7 +937,7 @@
if((!r.sane) || (!l.sane))
throw addon_version_info_not_sane_exception();
- return (l.major < r.major || (l.major == r.major && (l.minor < r.minor
|| (l.minor == r.minor && l.revision < r.revision))));
+ return (l.vmajor < r.vmajor || (l.vmajor == r.vmajor && (l.vminor <
r.vminor || (l.vminor == r.vminor && l.revision < r.revision))));
}
bool operator>=(const addon_version_info& l, const addon_version_info& r)
@@ -964,33 +962,15 @@
throw addon_version_info_not_sane_exception();
std::ostringstream out;
- out << major << '.' << minor << '.' << revision;
+ out << vmajor << '.' << vminor << '.' << revision;
return out.str();
}
-// FIXME: required to remove following compile-time errors regarding
-// the addon_version_info constructors in GCC 4.2.1:
-//
-// error: class âaddon_version_infoâ does not have any field named
âgnu_dev_major
-// error: class âaddon_version_infoâ does not have any field named
âgnu_dev_minor
-//
-// This is because "major" and "minor" are defined as compatibility macros in
-// sys/sysmacros.h. I guess it is safe to just use this workaround instead of
-// renaming these fields, since the only ambiguous case seems to be in
initializer
-// lists.
-//
-#ifdef major
- #undef major
-#endif
-#ifdef minor
- #undef minor
-#endif
-
addon_version_info& addon_version_info::operator=(const addon_version_info& o)
{
if(this != &o) {
- this->major = o.major;
- this->minor = o.minor;
+ this->vmajor = o.vmajor;
+ this->vminor = o.vminor;
this->revision = o.revision;
// copy o's insanity too
this->sane = o.sane;
@@ -999,7 +979,7 @@
}
addon_version_info::addon_version_info()
- : major(0), minor(0), revision(0), sane(true)
+ : vmajor(0), vminor(0), revision(0), sane(true)
{
}
@@ -1008,31 +988,27 @@
if(src_str.empty() != true) {
const std::vector<std::string> components =
utils::split(src_str, '.');
if(components.size() != 3) {
- major = minor = revision = 0;
+ vmajor = vminor = revision = 0;
sane = false;
} else {
try {
- major =
lexical_cast<unsigned>(components[0]);
- minor =
lexical_cast<unsigned>(components[1]);
+ vmajor =
lexical_cast<unsigned>(components[0]);
+ vminor =
lexical_cast<unsigned>(components[1]);
revision =
lexical_cast<unsigned>(components[2]);
sane = true;
} catch(bad_lexical_cast const&) {
- major = minor = revision = 0;
+ vmajor = vminor = revision = 0;
sane = false;
}
}
} else {
- major = minor = revision = 0;
+ vmajor = vminor = revision = 0;
sane = false;
}
}
addon_version_info::addon_version_info(const addon_version_info& src_struct)
- : major(src_struct.major), minor(src_struct.minor),
+ : vmajor(src_struct.vmajor), vminor(src_struct.vminor),
revision(src_struct.revision), sane(src_struct.sane)
{
}
-
-#endif
-
-
Modified: trunk/src/addon_management.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/addon_management.hpp?rev=28275&r1=28274&r2=28275&view=diff
==============================================================================
--- trunk/src/addon_management.hpp (original)
+++ trunk/src/addon_management.hpp Wed Jul 30 22:57:13 2008
@@ -83,15 +83,15 @@
//! constructing the object.
operator bool() { return this->sane; }
- unsigned major; //!< Major (leading) version number.
- unsigned minor; //!< Minor (middle) version number.
- unsigned revision; //!< Revision (trailing) version number.
- bool sane; //!< Sanity flag.
+ unsigned vmajor; //!< Major (leading) version number.
+ unsigned vminor; //!< Minor (middle) version number.
+ unsigned revision; //!< Revision (trailing) version number.
+ bool sane; //!< Sanity flag.
};
//! Equality operator for addon_version_info.
inline bool operator==(const addon_version_info& l, const addon_version_info&
r) {
- return(l.sane && r.sane && l.major == r.major && l.minor == r.minor &&
+ return(l.sane && r.sane && l.vmajor == r.vmajor && l.vminor == r.vminor
&&
l.revision == r.revision);
}
//! Inequality operator for addon_version_info.
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits