diff options
author | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2012-12-13 14:53:01 +0100 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2012-12-13 15:45:54 +0100 |
commit | cc9329c52c8327f0d8b52162755959bac9364265 (patch) | |
tree | 16dd8a45fd5832d01befed7163d94a10138ff2bf | |
parent | 8f54315f716ab37331caf80d4cf3d5aeacc78644 (diff) |
Bad compareToIgnoreAsciiCaseAscii result comparison caused endless loop
Change-Id: I6ef5aa87623a0d61942183b7eb888fc0f9cf6af0
-rw-r--r-- | svl/source/misc/inettype.cxx | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/svl/source/misc/inettype.cxx b/svl/source/misc/inettype.cxx index 143a11a409c0..d5f01f601143 100644 --- a/svl/source/misc/inettype.cxx +++ b/svl/source/misc/inettype.cxx @@ -643,19 +643,14 @@ MediaTypeEntry const * seekEntry(OUString const & rTypeName, { sal_Size nMiddle = (nLow + nHigh) / 2; MediaTypeEntry const * pEntry = pMap + nMiddle; - switch (rTypeName.compareToIgnoreAsciiCaseAscii(pEntry->m_pTypeName)) - { - case COMPARE_LESS: - nHigh = nMiddle; - break; - - case COMPARE_EQUAL: - return pEntry; + sal_Int32 nCmp = rTypeName.compareToIgnoreAsciiCaseAscii(pEntry->m_pTypeName); + if (nCmp < 0) + nHigh = nMiddle; + else if (nCmp == 0) + return pEntry; - case COMPARE_GREATER: - nLow = nMiddle + 1; - break; - } + else + nLow = nMiddle + 1; } return 0; } |