31#define ALLOC(size) palloc(size)
32#define FREE(size) pfree(size)
34#define ALLOC(size) malloc(size)
35#define FREE(size) free(size)
46#define NCOUNT VCOUNT * TCOUNT
47#define SCOUNT LCOUNT * NCOUNT
59 return (
v1 >
v2) ? 1 : ((
v1 ==
v2) ? 0 : -1);
133static const char32_t *
340 char32_t *res = *result;
372 char32_t *res = *result;
374 res[*current] = code;
425 for (p =
input; *p; p++)
437 for (p =
input; *p; p++)
613 for (
const char32_t *p =
input; *p; p++)
#define Assert(condition)
static int64 current_size
static void decompose_code(char32_t code, bool compat, char32_t **result, int *current)
static uint8 get_canonical_class(char32_t code)
UnicodeNormalizationQC unicode_is_normalized_quickcheck(UnicodeNormalizationForm form, const char32_t *input)
static const pg_unicode_normprops * qc_hash_lookup(char32_t ch, const pg_unicode_norminfo *norminfo)
static const char32_t * get_code_decomposition(const pg_unicode_decomposition *entry, int *dec_size)
char32_t * unicode_normalize(UnicodeNormalizationForm form, const char32_t *input)
static int get_decomposed_size(char32_t code, bool compat)
static UnicodeNormalizationQC qc_is_allowed(UnicodeNormalizationForm form, char32_t ch)
static const pg_unicode_decomposition * get_code_entry(char32_t code)
static bool recompose_code(uint32 start, uint32 code, uint32 *result)
static const pg_unicode_decompinfo UnicodeDecompInfo
static const pg_unicode_recompinfo UnicodeRecompInfo
#define DECOMPOSITION_NO_COMPOSE(x)
static const uint32 UnicodeDecomp_codepoints[5138]
#define DECOMPOSITION_IS_INLINE(x)
static const pg_unicode_decomposition UnicodeDecompMain[6843]
#define DECOMPOSITION_IS_COMPAT(x)
#define DECOMPOSITION_SIZE(x)
static const pg_unicode_norminfo UnicodeNormInfo_NFKC_QC
static const pg_unicode_norminfo UnicodeNormInfo_NFC_QC