summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-12-13 14:53:01 +0100
committerCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-12-13 15:45:54 +0100
commitcc9329c52c8327f0d8b52162755959bac9364265 (patch)
tree16dd8a45fd5832d01befed7163d94a10138ff2bf /svl
parent8f54315f716ab37331caf80d4cf3d5aeacc78644 (diff)
Bad compareToIgnoreAsciiCaseAscii result comparison caused endless loop
Change-Id: I6ef5aa87623a0d61942183b7eb888fc0f9cf6af0
Diffstat (limited to 'svl')
-rw-r--r--svl/source/misc/inettype.cxx19
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;
}