diff options
Diffstat (limited to 'jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx')
-rw-r--r-- | jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx index 53051c905d41..5f71afbd42b0 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -50,9 +50,9 @@ class SelfTest public: SelfTest(); } test; -#endif +#endif -SunVersion::SunVersion(const rtl::OUString &usVer): +SunVersion::SunVersion(const rtl::OUString &usVer): m_nUpdateSpecial(0), m_preRelease(Rel_NONE), usVersion(usVer) { @@ -60,7 +60,7 @@ SunVersion::SunVersion(const rtl::OUString &usVer): rtl::OString sVersion= rtl::OUStringToOString(usVer, osl_getThreadTextEncoding()); m_bValid = init(sVersion.getStr()); } -SunVersion::SunVersion(const char * szVer): +SunVersion::SunVersion(const char * szVer): m_nUpdateSpecial(0), m_preRelease(Rel_NONE) { memset(m_arVersionParts, 0, sizeof(m_arVersionParts)); @@ -75,7 +75,7 @@ bool SunVersion::init(const char *szVersion) { if ( ! szVersion || strlen(szVersion) == 0) return false; - + //first get the major,minor,maintainance const char * pLast = szVersion; const char * pCur = szVersion; @@ -110,26 +110,26 @@ bool SunVersion::init(const char *szVersion) pCur + 1 == pEnd ? isdigit(*(pCur)) : 1) ) { int len = pCur - pLast; - if (len >= 127) + if (len >= 127) return false; strncpy(buf, pLast, len); buf[len] = 0; - pCur ++; + pCur ++; pLast = pCur; - + m_arVersionParts[nPart] = atoi(buf); nPart ++; nPartPos = 0; if (nPart == 3) break; - + //check next character - if (! ( (pCur < pEnd) + if (! ( (pCur < pEnd) && ( (nPart < 3) && isdigit(*pCur)))) //(*pCur >= 48 && *pCur <=57)))) - return false; + return false; } - else + else { return false; } @@ -183,9 +183,9 @@ bool SunVersion::init(const char *szVersion) if (pCur < pEnd) pCur ++; else - break; + break; } - } + } } // 1.4.1-ea else if (*(pCur - 1) == '-') @@ -193,7 +193,7 @@ bool SunVersion::init(const char *szVersion) m_preRelease = getPreRelease(pCur); if (m_preRelease == Rel_NONE) return false; -#if defined(FREEBSD) +#if defined(FREEBSD) if (m_preRelease == Rel_FreeBSD) { pCur++; //elemnate `p' @@ -207,7 +207,7 @@ bool SunVersion::init(const char *szVersion) m_nUpdateSpecial = atoi(buf)+100; //hack for FBSD #i56953# return true; } -#endif +#endif } else { @@ -247,7 +247,7 @@ SunVersion::PreRelease SunVersion::getPreRelease(const char *szRelease) #if defined (FREEBSD) else if (! strncmp(szRelease, "p", 1)) return Rel_FreeBSD; -#endif +#endif else return Rel_NONE; } @@ -261,14 +261,14 @@ SunVersion::~SunVersion() a) 1.0 < 1.1 b) 1.0 < 1.0.0 c) 1.0 < 1.0_00 - + returns false if both values are equal */ bool SunVersion::operator > (const SunVersion& ver) const { if( &ver == this) return false; - + //compare major.minor.maintainance for( int i= 0; i < 4; i ++) { @@ -284,13 +284,13 @@ bool SunVersion::operator > (const SunVersion& ver) const } //major.minor.maintainance_update are equal. test for a trailing char if (m_nUpdateSpecial > ver.m_nUpdateSpecial) - { + { return true; } //Until here the versions are equal //compare pre -release values - if ((m_preRelease == Rel_NONE && ver.m_preRelease == Rel_NONE) + if ((m_preRelease == Rel_NONE && ver.m_preRelease == Rel_NONE) || (m_preRelease != Rel_NONE && ver.m_preRelease == Rel_NONE)) return false; @@ -298,12 +298,12 @@ bool SunVersion::operator > (const SunVersion& ver) const return true; else if (m_preRelease > ver.m_preRelease) return true; - + return false; } bool SunVersion::operator < (const SunVersion& ver) const -{ +{ return (! operator > (ver)) && (! operator == (ver)); } @@ -336,7 +336,7 @@ SelfTest::SelfTest() char const * versions[] = {"1.4.0", "1.4.1", "1.0.0", "10.0.0", "10.10.0", "10.2.2", "10.10.0", "10.10.10", "111.0.999", "1.4.1_01", "9.90.99_09", "1.4.1_99", - "1.4.1_00a", + "1.4.1_00a", "1.4.1-ea", "1.4.1-beta", "1.4.1-rc1", "1.5.0_01-ea", "1.5.0_01-rc2"}; char const * badVersions[] = {".4.0", "..1", "", "10.0", "10.10.0.", "10.10.0-", "10.10.0.", @@ -359,10 +359,10 @@ SelfTest::SelfTest() { bRet = false; break; - } + } } OSL_ENSURE(bRet, "SunVersion selftest failed"); - //Parsing test (negative) + //Parsing test (negative) for ( int i = 0; i < numBad; i++) { SunVersion ver(badVersions[i]); @@ -394,7 +394,7 @@ SelfTest::SelfTest() { bRet = false; break; - } + } } else if ( i == j) { |