diff options
author | Jehan <jehan@girinstud.io> | 2022-12-14 08:39:49 +0100 |
---|---|---|
committer | Jehan <jehan@girinstud.io> | 2022-12-14 08:39:49 +0100 |
commit | 4f35cd44165849aa3429a27410b91bb423735e4a (patch) | |
tree | 184812d3973968917982f1609089da174095e26e | |
parent | 7f386d922e0ac0094a39ef18ffbf4e7b3d6f0c89 (diff) |
src: when checking for candidates, make sure we haven't any unprocessed…
… language data left.
-rw-r--r-- | src/nsMBCSGroupProber.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/nsMBCSGroupProber.cpp b/src/nsMBCSGroupProber.cpp index 8318cbd..1006359 100644 --- a/src/nsMBCSGroupProber.cpp +++ b/src/nsMBCSGroupProber.cpp @@ -404,10 +404,17 @@ void nsMBCSGroupProber::CheckCandidates() { for (int j = 0; j < NUM_OF_LANGUAGES; j++) { - float langConf = langDetectors[i][j]->GetConfidence(); + float langConf; + /* Process any remaining language data first. */ + if (codePointBufferIdx[i] > 0 && codePointBuffer[i]) + langDetectors[i][j]->HandleData(codePointBuffer[i], codePointBufferIdx[i]); + + /* Now check the confidence in this (charset, lang) couple. */ + langConf = langDetectors[i][j]->GetConfidence(); candidates[i][j] = (cf * langConf > CANDIDATE_THRESHOLD); } + codePointBufferIdx[i] = 0; } else { |