From 60e0ea9f7f7bd73304c1c737698e128ef432dfd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 30 Aug 2006 11:56:20 +0000 Subject: [PATCH] Bug fix for my last commit: all of a sudden, a text would need more than one bad character to be accepted. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18708 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/translators/stxt/STXTTranslator.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/add-ons/translators/stxt/STXTTranslator.cpp b/src/add-ons/translators/stxt/STXTTranslator.cpp index 8c4198e84b..6c98d5804a 100644 --- a/src/add-ons/translators/stxt/STXTTranslator.cpp +++ b/src/add-ons/translators/stxt/STXTTranslator.cpp @@ -367,7 +367,7 @@ identify_txt_header(uint8 *data, int32 bytesRead, } else if ((c & 0x80) != 0 && valid_utf8_char(data + i, length)) { int32 j = 1; for (; j < (int32)length && i + j < bytesRead; j++) { - if ((data[j] & 0xc0) != 0x80) { + if ((data[i + j] & 0xc0) != 0x80) { bad++; break; } @@ -385,7 +385,7 @@ identify_txt_header(uint8 *data, int32 bytesRead, return B_NO_TRANSLATOR; #endif - capability *= (float)bad / bytesRead; + capability *= (bytesRead - bad) / (float)bytesRead; // return information about the data in the stream outInfo->type = B_TRANSLATOR_TEXT;