From 5ef60164fcc245f07fb163b261654d0cd80f3284 Mon Sep 17 00:00:00 2001 From: Ophir LOJKINE Date: Tue, 24 Nov 2015 22:07:41 +0300 Subject: [PATCH] Stop detection early on control characters --- src/LangHebrewModel.cpp | 4 ++-- src/nsSBCharSetProber.cpp | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/LangHebrewModel.cpp b/src/LangHebrewModel.cpp index 523203e..5a06ae6 100644 --- a/src/LangHebrewModel.cpp +++ b/src/LangHebrewModel.cpp @@ -54,7 +54,7 @@ static const unsigned char win1255_CharToOrderMap[] = { 255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, //00 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, //10 -+253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 +253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, //20 252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, //30 253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, //40 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, //50 @@ -67,7 +67,7 @@ static const unsigned char win1255_CharToOrderMap[] = 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237, 238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250, 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23, - 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253, + 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,255,255,128, 96,255, }; //Model Table: diff --git a/src/nsSBCharSetProber.cpp b/src/nsSBCharSetProber.cpp index 2a59fd7..99a11a5 100644 --- a/src/nsSBCharSetProber.cpp +++ b/src/nsSBCharSetProber.cpp @@ -46,6 +46,11 @@ nsProbingState nsSingleByteCharSetProber::HandleData(const char* aBuf, PRUint32 { order = mModel->charToOrderMap[(unsigned char)aBuf[i]]; + if (order == 255) + { + mState = eNotMe; + break; + } if (order < SYMBOL_CAT_ORDER) mTotalChar++; if (order < SAMPLE_SIZE)