PostgreSQL Source Code git master
|
#include "postgres.h"
#include "common/unicode_case.h"
#include "common/unicode_case_table.h"
#include "common/unicode_category.h"
#include "mb/pg_wchar.h"
Go to the source code of this file.
Enumerations | |
enum | CaseMapResult { CASEMAP_SELF , CASEMAP_SIMPLE , CASEMAP_SPECIAL } |
Functions | |
static pg_wchar | find_case_map (pg_wchar ucs, const pg_wchar *map) |
static size_t | convert_case (char *dst, size_t dstsize, const char *src, ssize_t srclen, CaseKind str_casekind, bool full, WordBoundaryNext wbnext, void *wbstate) |
static enum CaseMapResult | casemap (pg_wchar u1, CaseKind casekind, bool full, const char *src, size_t srclen, size_t srcoff, pg_wchar *simple, const pg_wchar **special) |
pg_wchar | unicode_lowercase_simple (pg_wchar code) |
pg_wchar | unicode_titlecase_simple (pg_wchar code) |
pg_wchar | unicode_uppercase_simple (pg_wchar code) |
pg_wchar | unicode_casefold_simple (pg_wchar code) |
size_t | unicode_strlower (char *dst, size_t dstsize, const char *src, ssize_t srclen, bool full) |
size_t | unicode_strtitle (char *dst, size_t dstsize, const char *src, ssize_t srclen, bool full, WordBoundaryNext wbnext, void *wbstate) |
size_t | unicode_strupper (char *dst, size_t dstsize, const char *src, ssize_t srclen, bool full) |
size_t | unicode_strfold (char *dst, size_t dstsize, const char *src, ssize_t srclen, bool full) |
static bool | check_final_sigma (const unsigned char *str, size_t len, size_t offset) |
static bool | check_special_conditions (int conditions, const char *str, size_t len, size_t offset) |
Variables | |
static const pg_wchar *const | casekind_map [NCaseKind] |
enum CaseMapResult |
Enumerator | |
---|---|
CASEMAP_SELF | |
CASEMAP_SIMPLE | |
CASEMAP_SPECIAL |
Definition at line 23 of file unicode_case.c.
|
static |
Definition at line 397 of file unicode_case.c.
References case_index(), case_map_special, casekind_map, CASEMAP_SELF, CASEMAP_SIMPLE, CASEMAP_SPECIAL, check_special_conditions(), idx(), pg_special_case::map, and special_case.
Referenced by convert_case(), and main().
|
static |
Definition at line 312 of file unicode_case.c.
References Assert(), i, len, pg_u_prop_case_ignorable(), pg_u_prop_cased(), str, and utf8_to_unicode().
Referenced by check_special_conditions().
|
static |
Definition at line 370 of file unicode_case.c.
References Assert(), check_final_sigma(), len, PG_U_FINAL_SIGMA, and str.
Referenced by casemap().
|
static |
Definition at line 213 of file unicode_case.c.
References Assert(), CaseLower, casemap(), CASEMAP_SELF, CASEMAP_SIMPLE, CASEMAP_SPECIAL, CaseTitle, CaseUpper, i, MAX_CASE_EXPANSION, unicode_to_utf8(), unicode_utf8len(), and utf8_to_unicode().
Referenced by unicode_strfold(), unicode_strlower(), unicode_strtitle(), and unicode_strupper().
Definition at line 438 of file unicode_case.c.
References case_index().
Referenced by unicode_casefold_simple(), unicode_lowercase_simple(), unicode_titlecase_simple(), and unicode_uppercase_simple().
Definition at line 74 of file unicode_case.c.
References case_map_fold, and find_case_map().
Definition at line 50 of file unicode_case.c.
References case_map_lower, and find_case_map().
Referenced by pg_wc_tolower().
size_t unicode_strfold | ( | char * | dst, |
size_t | dstsize, | ||
const char * | src, | ||
ssize_t | srclen, | ||
bool | full | ||
) |
Definition at line 189 of file unicode_case.c.
References CaseFold, and convert_case().
Referenced by strfold_builtin(), and tfunc_fold().
size_t unicode_strlower | ( | char * | dst, |
size_t | dstsize, | ||
const char * | src, | ||
ssize_t | srclen, | ||
bool | full | ||
) |
Definition at line 101 of file unicode_case.c.
References CaseLower, and convert_case().
Referenced by strlower_builtin(), and tfunc_lower().
size_t unicode_strtitle | ( | char * | dst, |
size_t | dstsize, | ||
const char * | src, | ||
ssize_t | srclen, | ||
bool | full, | ||
WordBoundaryNext | wbnext, | ||
void * | wbstate | ||
) |
Definition at line 138 of file unicode_case.c.
References CaseTitle, and convert_case().
Referenced by strtitle_builtin(), and tfunc_title().
size_t unicode_strupper | ( | char * | dst, |
size_t | dstsize, | ||
const char * | src, | ||
ssize_t | srclen, | ||
bool | full | ||
) |
Definition at line 165 of file unicode_case.c.
References CaseUpper, and convert_case().
Referenced by strupper_builtin(), and tfunc_upper().
Definition at line 58 of file unicode_case.c.
References case_map_title, and find_case_map().
Definition at line 66 of file unicode_case.c.
References case_map_upper, and find_case_map().
Referenced by pg_wc_toupper().
Definition at line 33 of file unicode_case.c.
Referenced by casemap().