From 6c5b16e503cb1d5f4e14031bcee12fe9634a374a Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Mon, 28 Aug 2023 03:32:57 +0300 Subject: [PATCH] kdecore: remove unused and redundant KStringHandler::isUtf8() and KStringHandler::from8Bit() methods use QTextCodec::codecForText() and QTextConverter instead Signed-off-by: Ivailo Monev --- kdecore/text/kstringhandler.cpp | 103 +------------------------------- kdecore/text/kstringhandler.h | 52 ++++++---------- 2 files changed, 19 insertions(+), 136 deletions(-) diff --git a/kdecore/text/kstringhandler.cpp b/kdecore/text/kstringhandler.cpp index c485ae61..18d234e1 100644 --- a/kdecore/text/kstringhandler.cpp +++ b/kdecore/text/kstringhandler.cpp @@ -27,8 +27,6 @@ #include #include - - // // Capitalization routines // @@ -69,7 +67,7 @@ QString KStringHandler::lsqueeze(const QString &str, int maxlen) QString KStringHandler::csqueeze(const QString &str, int maxlen) { if (str.length() > maxlen && maxlen > 3) { - const int part = ((maxlen - 3 ) / 2); + const int part = ((maxlen - 3) / 2); return str.left(part) + QLatin1String("...") + str.right(part); } return str; @@ -78,7 +76,7 @@ QString KStringHandler::csqueeze(const QString &str, int maxlen) QString KStringHandler::rsqueeze(const QString &str, int maxlen) { if (str.length() > maxlen) { - const int part = maxlen-3; + const int part = maxlen - 3; return str.left(part) + QLatin1String("..."); } return str; @@ -178,103 +176,6 @@ QString KStringHandler::tagUrls(const QString &text) return richText; } -bool KStringHandler::isUtf8(const char *buf) -{ - int i, n; - unsigned char c; - bool gotone = false; - - if (!buf) - return true; // whatever, just don't crash - -#define F 0 /* character never appears in text */ -#define T 1 /* character appears in plain ASCII text */ -#define I 2 /* character appears in ISO-8859 text */ -#define X 3 /* character appears in non-ISO extended ASCII (Mac, IBM PC) */ - - static const unsigned char text_chars[256] = { - /* BEL BS HT LF FF CR */ - F, F, F, F, F, F, F, T, T, T, T, F, T, T, F, F, /* 0x0X */ - /* ESC */ - F, F, F, F, F, F, F, F, F, F, F, T, F, F, F, F, /* 0x1X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x2X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x3X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x4X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x5X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, /* 0x6X */ - T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, /* 0x7X */ - /* NEL */ - X, X, X, X, X, T, X, X, X, X, X, X, X, X, X, X, /* 0x8X */ - X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, /* 0x9X */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xaX */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xbX */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xcX */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xdX */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, /* 0xeX */ - I, I, I, I, I, I, I, I, I, I, I, I, I, I, I, I /* 0xfX */ - }; - - /* *ulen = 0; */ - for (i = 0; (c = buf[i]); ++i) { - if ((c & 0x80) == 0) { /* 0xxxxxxx is plain ASCII */ - /* - * Even if the whole file is valid UTF-8 sequences, - * still reject it if it uses weird control characters. - */ - - if (text_chars[c] != T) - return false; - - } else if ((c & 0x40) == 0) { /* 10xxxxxx never 1st byte */ - return false; - } else { /* 11xxxxxx begins UTF-8 */ - int following; - - if ((c & 0x20) == 0) { /* 110xxxxx */ - following = 1; - } else if ((c & 0x10) == 0) { /* 1110xxxx */ - following = 2; - } else if ((c & 0x08) == 0) { /* 11110xxx */ - following = 3; - } else if ((c & 0x04) == 0) { /* 111110xx */ - following = 4; - } else if ((c & 0x02) == 0) { /* 1111110x */ - following = 5; - } else { - return false; - } - - for (n = 0; n < following; ++n) { - i++; - if (!(c = buf[i])) - goto done; - - if ((c & 0x80) == 0 || (c & 0x40)) - return false; - } - gotone = true; - } - } -done: - return gotone; /* don't claim it's UTF-8 if it's all 7-bit */ -} - -#undef F -#undef T -#undef I -#undef X - -QString KStringHandler::from8Bit(const char *str) -{ - if (!str || !*str) { - return QString(); - } - if (KStringHandler::isUtf8(str)) { - return QString::fromUtf8(str); - } - return QString::fromLocal8Bit(str); -} - int KStringHandler::naturalCompare(const QString &_a, const QString &_b, Qt::CaseSensitivity caseSensitivity) { // This method chops the input a and b into pieces of diff --git a/kdecore/text/kstringhandler.h b/kdecore/text/kstringhandler.h index ede8daf2..e23b0102 100644 --- a/kdecore/text/kstringhandler.h +++ b/kdecore/text/kstringhandler.h @@ -61,14 +61,14 @@ namespace KStringHandler * @param text the text to capitalize * @return the resulting string */ - KDECORE_EXPORT QString capwords( const QString &text ); + KDECORE_EXPORT QString capwords(const QString &text); /** Capitalizes each word in the list * [hello, there] becomes [Hello, There] (list) * @param list the list to capitalize * @return the resulting list */ - KDECORE_EXPORT QStringList capwords( const QStringList &list ); + KDECORE_EXPORT QStringList capwords(const QStringList &list); /** Substitute characters at the beginning of a string by "...". * @param str is the string to modify @@ -76,7 +76,7 @@ namespace KStringHandler * If the original string is shorter than "maxlen", it is returned verbatim * @return the modified string */ - KDECORE_EXPORT QString lsqueeze( const QString & str, int maxlen = 40 ); + KDECORE_EXPORT QString lsqueeze( const QString & str, int maxlen = 40); /** Substitute characters at the middle of a string by "...". * @param str is the string to modify @@ -84,7 +84,7 @@ namespace KStringHandler * If the original string is shorter than "maxlen", it is returned verbatim * @return the modified string */ - KDECORE_EXPORT QString csqueeze( const QString & str, int maxlen = 40 ); + KDECORE_EXPORT QString csqueeze(const QString &str, int maxlen = 40); /** Substitute characters at the end of a string by "...". * @param str is the string to modify @@ -92,7 +92,7 @@ namespace KStringHandler * If the original string is shorter than "maxlen", it is returned verbatim * @return the modified string */ - KDECORE_EXPORT QString rsqueeze( const QString & str, int maxlen = 40 ); + KDECORE_EXPORT QString rsqueeze(const QString &str, int maxlen = 40); /** * Split a QString into a QStringList in a similar fashion to the static @@ -111,9 +111,9 @@ namespace KStringHandler * @param max is the maximum number of extractions to perform, or 0. * @return A QStringList containing tokens extracted from s. */ - KDECORE_EXPORT QStringList perlSplit( const QString & sep, - const QString & s, - int max = 0 ); + KDECORE_EXPORT QStringList perlSplit(const QString &sep, + const QString &s, + int max = 0); /** * Split a QString into a QStringList in a similar fashion to the static @@ -132,9 +132,9 @@ namespace KStringHandler * @param max is the maximum number of extractions to perform, or 0. * @return A QStringList containing tokens extracted from s. */ - KDECORE_EXPORT QStringList perlSplit( const QChar & sep, - const QString & s, - int max = 0 ); + KDECORE_EXPORT QStringList perlSplit(const QChar &sep, + const QString &s, + int max = 0); /** * Split a QString into a QStringList in a similar fashion to the static @@ -153,9 +153,9 @@ namespace KStringHandler * @param max is the maximum number of extractions to perform, or 0. * @return A QStringList containing tokens extracted from s. */ - KDECORE_EXPORT QStringList perlSplit( const QRegExp & sep, - const QString & s, - int max = 0); + KDECORE_EXPORT QStringList perlSplit(const QRegExp &sep, + const QString &s, + int max = 0); /** * This method auto-detects URLs in strings, and adds HTML markup to them @@ -163,25 +163,7 @@ namespace KStringHandler * @param text the string which may contain URLs * @return the resulting text */ - KDECORE_EXPORT QString tagUrls( const QString& text ); - - /** - Guess whether a string is UTF8 encoded. - - @param str the string to check - @return true if UTF8. If false, the string is probably in Local8Bit. - */ - KDECORE_EXPORT bool isUtf8( const char *str ); - - /** - Construct QString from a c string, guessing whether it is UTF8- or - Local8Bit-encoded. - - @param str the input string - @return the (hopefully correctly guessed) QString representation of @p str - - */ - KDECORE_EXPORT QString from8Bit( const char *str ); + KDECORE_EXPORT QString tagUrls(const QString &text); /** Does a natural comparing of the strings. A negative value is returned if \a a @@ -194,7 +176,7 @@ namespace KStringHandler @since 4.1 */ - KDECORE_EXPORT int naturalCompare( const QString& a, const QString& b, Qt::CaseSensitivity caseSensitivity = Qt::CaseSensitive ); + KDECORE_EXPORT int naturalCompare(const QString &a, const QString &b, Qt::CaseSensitivity caseSensitivity = Qt::CaseSensitive); /** Preprocesses the given string in order to provide additional line breaking @@ -209,6 +191,6 @@ namespace KStringHandler @since 4.4 */ - KDECORE_EXPORT QString preProcessWrap( const QString& text ); + KDECORE_EXPORT QString preProcessWrap(const QString &text); } #endif