From d763330072ceef5ce405170b3cddc19c76dd0e5f Mon Sep 17 00:00:00 2001 From: Nikita Pettik <korablev@tarantool.org> Date: Tue, 26 Feb 2019 20:31:38 +0300 Subject: [PATCH] sql: clean-up box/sql/utf.c This file contains unused functions and dead code. Let's remove them. Follow-up #3542 --- src/box/sql/sqlInt.h | 4 -- src/box/sql/utf.c | 106 ------------------------------------------- 2 files changed, 110 deletions(-) diff --git a/src/box/sql/sqlInt.h b/src/box/sql/sqlInt.h index 929263f1b9..b0802ce091 100644 --- a/src/box/sql/sqlInt.h +++ b/src/box/sql/sqlInt.h @@ -4624,10 +4624,6 @@ void sqlParser(void *, int, Token, Parse *); int sqlParserStackPeak(void *); #endif -#ifdef SQL_TEST -int sqlUtf8To8(unsigned char *); -#endif - void sqlInvalidFunction(sql_context *, int, sql_value **); sql_int64 sqlStmtCurrentTime(sql_context *); int sqlVdbeParameterIndex(Vdbe *, const char *, int); diff --git a/src/box/sql/utf.c b/src/box/sql/utf.c index 5fc7e1b520..2d9a128065 100644 --- a/src/box/sql/utf.c +++ b/src/box/sql/utf.c @@ -43,16 +43,6 @@ * */ #include "sqlInt.h" -#include <assert.h> -#include "vdbeInt.h" - -#if !defined(SQL_AMALGAMATION) && SQL_BYTEORDER==0 -/* - * The following constant value is used by the SQL_BIGENDIAN and - * SQL_LITTLEENDIAN macros. - */ -const int sqlone = 1; -#endif /* SQL_AMALGAMATION && SQL_BYTEORDER==0 */ /* * This lookup table is used to help decode the first byte of @@ -69,64 +59,6 @@ static const unsigned char sqlUtf8Trans1[] = { 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, }; -#define WRITE_UTF8(zOut, c) { \ - if( c<0x00080 ){ \ - *zOut++ = (u8)(c&0xFF); \ - } \ - else if( c<0x00800 ){ \ - *zOut++ = 0xC0 + (u8)((c>>6)&0x1F); \ - *zOut++ = 0x80 + (u8)(c & 0x3F); \ - } \ - else if( c<0x10000 ){ \ - *zOut++ = 0xE0 + (u8)((c>>12)&0x0F); \ - *zOut++ = 0x80 + (u8)((c>>6) & 0x3F); \ - *zOut++ = 0x80 + (u8)(c & 0x3F); \ - }else{ \ - *zOut++ = 0xF0 + (u8)((c>>18) & 0x07); \ - *zOut++ = 0x80 + (u8)((c>>12) & 0x3F); \ - *zOut++ = 0x80 + (u8)((c>>6) & 0x3F); \ - *zOut++ = 0x80 + (u8)(c & 0x3F); \ - } \ -} - -/* - * Translate a single UTF-8 character. Return the unicode value. - * - * During translation, assume that the byte that zTerm points - * is a 0x00. - * - * Write a pointer to the next unread byte back into *pzNext. - * - * Notes On Invalid UTF-8: - * - * * This routine never allows a 7-bit character (0x00 through 0x7f) to - * be encoded as a multi-byte character. Any multi-byte character that - * attempts to encode a value between 0x00 and 0x7f is rendered as 0xfffd. - * - * * This routine never allows a UTF16 surrogate value to be encoded. - * If a multi-byte character attempts to encode a value between - * 0xd800 and 0xe000 then it is rendered as 0xfffd. - * - * * Bytes in the range of 0x80 through 0xbf which occur as the first - * byte of a character are interpreted as single-byte characters - * and rendered as themselves even though they are technically - * invalid characters. - * - * * This routine accepts over-length UTF8 encodings - * for unicode values 0x80 and greater. It does not change over-length - * encodings to 0xfffd as some systems recommend. - */ -#define READ_UTF8(zIn, zTerm, c) \ - c = *(zIn++); \ - if( c>=0xc0 ){ \ - c = sqlUtf8Trans1[c-0xc0]; \ - while( zIn!=zTerm && (*zIn & 0xc0)==0x80 ){ \ - c = (c<<6) + (0x3f & *(zIn++)); \ - } \ - if( c<0x80 \ - || (c&0xFFFFF800)==0xD800 \ - || (c&0xFFFFFFFE)==0xFFFE ){ c = 0xFFFD; } \ - } u32 sqlUtf8Read(const unsigned char **pz /* Pointer to string from which to read char */ ) @@ -151,12 +83,6 @@ sqlUtf8Read(const unsigned char **pz /* Pointer to string from which to read cha return c; } -/* - * If the TRANSLATE_TRACE macro is defined, the value of each Mem is - * printed on stderr on the way into and out of sqlVdbeMemTranslate(). - */ -/* #define TRANSLATE_TRACE 1 */ - int sql_utf8_char_count(const unsigned char *str, int byte_len) { @@ -167,35 +93,3 @@ sql_utf8_char_count(const unsigned char *str, int byte_len) } return symbol_count; } - -/* This test function is not currently used by the automated test-suite. - * Hence it is only available in debug builds. - */ -#if defined(SQL_TEST) && defined(SQL_DEBUG) -/* - * Translate UTF-8 to UTF-8. - * - * This has the effect of making sure that the string is well-formed - * UTF-8. Miscoded characters are removed. - * - * The translation is done in-place and aborted if the output - * overruns the input. - */ -int -sqlUtf8To8(unsigned char *zIn) -{ - unsigned char *zOut = zIn; - unsigned char *zStart = zIn; - u32 c; - - while (zIn[0] && zOut <= zIn) { - c = sqlUtf8Read((const u8 **)&zIn); - if (c != 0xfffd) { - WRITE_UTF8(zOut, c); - } - } - *zOut = 0; - return (int)(zOut - zStart); -} -#endif - -- GitLab