MySQL 8.4.2
Source Code Documentation
|
#include <cstddef>
#include <cstdint>
#include "my_compiler.h"
#include "mysql/strings/m_ctype.h"
#include "strings/m_ctype_internals.h"
#include "template_utils.h"
Macros | |
#define | issjishead(c) ((0x81 <= (c) && (c) <= 0x9f) || ((0xe0 <= (c)) && (c) <= 0xfc)) |
#define | issjistail(c) ((0x40 <= (c) && (c) <= 0x7e) || (0x80 <= (c) && (c) <= 0xfc)) |
#define | sjiscode(c, d) ((((unsigned)(uint8_t)(c)) << 8) | (unsigned)(uint8_t)(d)) |
Functions | |
static unsigned | ismbchar_sjis (const CHARSET_INFO *cs, const char *p, const char *e) |
static unsigned | mbcharlen_sjis (const CHARSET_INFO *cs, unsigned c) |
static int | my_strnncoll_sjis_internal (const CHARSET_INFO *cs, const uint8_t **a_res, size_t a_length, const uint8_t **b_res, size_t b_length) |
static int | my_strnncoll_sjis (const CHARSET_INFO *cs, const uint8_t *a, size_t a_length, const uint8_t *b, size_t b_length, bool b_is_prefix) |
static int | my_strnncollsp_sjis (const CHARSET_INFO *cs, const uint8_t *a, size_t a_length, const uint8_t *b, size_t b_length) |
static int | my_mb_wc_sjis (const CHARSET_INFO *cs, my_wc_t *pwc, const uint8_t *s, const uint8_t *e) |
Scans an SJIS character from the input string and converts to Unicode code point. More... | |
static int | my_wc_mb_sjis (const CHARSET_INFO *cs, my_wc_t wc, uint8_t *s, uint8_t *e) |
Puts the given Unicode character into an SJIS string. More... | |
static size_t | my_numcells_sjis (const CHARSET_INFO *cs, const char *str, const char *str_end) |
static size_t | my_well_formed_len_sjis (const CHARSET_INFO *cs, const char *b, const char *e, size_t pos, int *error) |
Variables | |
static const uint8_t | ctype_sjis [257] |
static const uint8_t | to_lower_sjis [] |
static const uint8_t | to_upper_sjis [] |
static const uint8_t | sort_order_sjis [] |
static const MY_UNICASE_CHARACTER | c81 [256] |
static const MY_UNICASE_CHARACTER | c82 [256] |
static const MY_UNICASE_CHARACTER | c83 [256] |
static const MY_UNICASE_CHARACTER | c84 [256] |
static const MY_UNICASE_CHARACTER * | my_caseinfo_pages_sjis [256] |
static MY_UNICASE_INFO | my_caseinfo_sjis = {0xFFFF, my_caseinfo_pages_sjis} |
static const uint16_t | sjis_to_unicode [65536] |
static const uint16_t | unicode_to_sjis [65536] |
static MY_COLLATION_HANDLER | my_collation_ci_handler |
static MY_CHARSET_HANDLER | my_charset_handler |
CHARSET_INFO | my_charset_sjis_japanese_ci |
CHARSET_INFO | my_charset_sjis_bin |
#define issjishead | ( | c | ) | ((0x81 <= (c) && (c) <= 0x9f) || ((0xe0 <= (c)) && (c) <= 0xfc)) |
#define issjistail | ( | c | ) | ((0x40 <= (c) && (c) <= 0x7e) || (0x80 <= (c) && (c) <= 0xfc)) |
#define sjiscode | ( | c, | |
d | |||
) | ((((unsigned)(uint8_t)(c)) << 8) | (unsigned)(uint8_t)(d)) |
|
static |
|
static |
|
static |
Scans an SJIS character from the input string and converts to Unicode code point.
[in] | cs | Character set info, unused |
[out] | pwc | Unicode code point |
[in] | s | Beginning of the input string |
[in] | e | End of the input string |
MY_CS_TOOSMALL | If the string was too short to scan a character |
1 | If a 1-byte character was scanned |
2 | If a 2-byte character was scanned |
-2 | If a 2-byte unassigned character was scanned |
MY_CS_ILSEQ | If a wrong byte sequence was found |
|
static |
|
static |
|
static |
|
static |
|
static |
Puts the given Unicode character into an SJIS string.
[in] | cs | Character set info, unused |
[in] | wc | Unicode code point |
[in] | s | Beginning of the out string |
[in] | e | End of the out string |
MY_CS_TOOSMALL | If the string was too short to put a character |
1 | If a 1-byte character was put |
2 | If a 2-byte character was put |
MY_CS_ILUNI | If the Unicode character does not exist in SJIS |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
CHARSET_INFO my_charset_sjis_bin |
CHARSET_INFO my_charset_sjis_japanese_ci |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |