Skip to content

File locale_support.c

FileList > base > locale_support.c

Go to the source code of this file

  • #include "config.h"
  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <assert.h>
  • #include "porting.h"
  • #include "environment_variable.h"
  • #include "utility.h"
  • #include "xml_parser.h"
  • #include "chartype.h"
  • #include "error_manager.h"
  • #include "release_string.h"
  • #include "uca_support.h"
  • #include "unicode_support.h"
  • #include "message_catalog.h"
  • #include "language_support.h"
  • #include "system_parameter.h"
  • #include "crypt_opfunc.h"
  • #include <netinet/in.h>
  • #include "locale_support.h"
  • #include "memory_wrapper.hpp"

Classes

Type Name
struct LOC_SHARED_DATA
struct TXT_CONV_ITEM

Public Types

Type Name
enum LOC_SHARED_DATA_TYPE

Public Attributes

Type Name
const XML_ELEMENT_DEF ldml_datetimeFormatCUBRID = /* multi line expression */
const XML_ELEMENT_DEF ldml_datetimetzFormatCUBRID = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_alphabet = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_alphabet_lower = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_alphabet_lower_dest = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_alphabet_lower_src = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_alphabet_upper = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_alphabet_upper_dest = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_alphabet_upper_src = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_alphabets = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_calendar = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_calendars = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_ch = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_cp = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_ech = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_ecp = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_sch = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_scp = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_w = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_wr = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_i = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_ic = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_p = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_pc = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_first_non_ignorable = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_first_primary_ignorable = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_first_secondary_ignorable = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_first_tertiary_ignorable = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_first_trailing = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_first_variable = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_last_non_ignorable = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_last_primary_ignorable = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_last_secondary_ignorable = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_last_tertiary_ignorable = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_last_trailing = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_reset_last_variable = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_rules = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_s = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_sc = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_settings = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_t = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_tc = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_x = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_x_context = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_x_extend = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_x_i = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_x_p = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_x_s = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collation_x_t = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_collations = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_consoleconversion = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_currencies = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_currency = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_dateFormatCUBRID = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_dates = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_day = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_dayContext = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_dayPeriod = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_dayPeriodContext = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_dayPeriodWidth = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_dayPeriods = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_dayWidth = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_days = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_include_collation = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_ldml = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_month = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_monthContext = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_monthWidth = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_months = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_numbers = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_numbers_symbols = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_symbol_decimal = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_symbol_group = /* multi line expression */
const XML_ELEMENT_DEF ldml_elem_unicodefile = /* multi line expression */
const XML_ELEMENT_DEF * ldml_elements
const char *const ldml_ref_am_pm_names = /* multi line expression */
const char *const ldml_ref_day_names = { "sun", "mon", "tue", "wed", "thu", "fri", "sat" }
const XML_ELEMENT_DEF ldml_timeFormatCUBRID = /* multi line expression */
const XML_ELEMENT_DEF ldml_timestampFormatCUBRID = /* multi line expression */
const XML_ELEMENT_DEF ldml_timestamptzFormatCUBRID = /* multi line expression */
const XML_ELEMENT_DEF ldml_timetzFormatCUBRID = /* multi line expression */

Public Static Attributes

Type Name
int alloced_shared_data = 0
char * cmp_token_name_array = [**NULL**](freelistheap_8h.md#define-null)
char cmp_token_name_size = 0
int count_shared_data = 0
COLL_DATA * dump_coll_data = [**NULL**](freelistheap_8h.md#define-null)
LOC_SHARED_DATA * shared_data = [**NULL**](freelistheap_8h.md#define-null)

Public Functions

Type Name
int locale_check_and_set_default_files (LOCALE_FILE * lf, bool is_lang_init)
int locale_compile_locale (LOCALE_FILE * lf, LOCALE_DATA * ld, bool is_verbose)
void locale_destroy_data (LOCALE_DATA * ld)
int locale_dump (void * data, LOCALE_FILE * lf, int dl_settings, int start_value, int end_value)
int locale_dump_lib_collations (void * lib_handle, const LOCALE_FILE * lf, int dl_settings, int start_value, int end_value)
void locale_free_shared_data (void)
int locale_get_cfg_locales (LOCALE_FILE ** p_locale_files, int * p_num_locales, bool is_lang_init)
void locale_mark_duplicate_collations (LOCALE_DATA ** ld, int start_index, int end_index, bool is_verbose)
int locale_prepare_C_file (void)
int locale_save_all_to_C_file (LOCALE_DATA ** ld, int start_index, int end_index, LOCALE_FILE * lf)

Public Static Functions

Type Name
void clear_data_buffer (XML_PARSER_DATA * pd)
int common_collation_end_rule (void * data, LOCALE_DATA * ld, const int rule_id, TAILOR_RULE * t_rule)
int common_collation_start_rule (void * data, const char ** attr, LOCALE_DATA * ld, TAILOR_RULE * t_rule)
int comp_func_coll_uca_exp (const void * arg1, const void * arg2)
int comp_func_coll_uca_exp_fo (const void * arg1, const void * arg2)
int comp_func_coll_uca_simple_weights (const void * arg1, const void * arg2)
int comp_func_coll_uca_simple_weights_fo (const void * arg1, const void * arg2)
int comp_func_parse_order_index (const void * arg1, const void * arg2)
void dump_collation_codepoint (COLL_DATA * coll, const unsigned int cp, bool print_weight, bool print_cp)
void dump_collation_contr (COLL_DATA * coll, const COLL_CONTRACTION * contr, bool print_weight, bool print_contr)
void dump_collation_key (COLL_DATA * coll, const unsigned int key, bool print_weight, bool print_key)
int dump_console_conversion (TEXT_CONVERSION * tc)
int dump_locale_alphabet (ALPHABET_DATA * ad, int dl_settings, int lower_bound, int upper_bound)
int dump_locale_collation (COLL_DATA * coll, int dl_settings, int start_value, int end_value)
void dump_locale_normalization (UNICODE_NORMALIZATION * norm)
void dump_unicode_mapping (UNICODE_MAPPING * um, const int mode)
int end_case_rule (void * data, const char * el_name)
int end_collation_cubrid_rule_set (void * data, const char * el_name)
int end_collation_cubrid_rule_set_cp_ch (void * data, const char * el_name)
int end_collation_cubrid_rule_set_ech_ecp (void * data, const char * el_name)
int end_collation_cubrid_rule_set_w_wr (void * data, const char * el_name)
int end_collation_logical_pos (void * data, const char * el_name)
int end_collation_reset (void * data, const char * el_name)
int end_collation_rule (void * data, const char * el_name)
int end_collation_x (void * data, const char * el_name)
int end_collation_x_context (void * data, const char * el_name)
int end_collation_x_extend (void * data, const char * el_name)
int end_collation_x_rule (void * data, const char * el_name)
int end_dateFormatCUBRID (void * data, const char * el_name)
int end_datetimeFormatCUBRID (void * data, const char * el_name)
int end_datetimetzFormatCUBRID (void * data, const char * el_name)
int end_day (void * data, const char * el_name)
int end_dayPeriod (void * data, const char * el_name)
int end_element_ok (void * data, const char * el_name)
int end_month (void * data, const char * el_name)
int end_month_day_Width (void * data, const char * el_name)
int end_number_symbol (void * data, const char * el_name)
int end_one_collation (void * data, const char * el_name)
int end_timeFormatCUBRID (void * data, const char * el_name)
int end_timestampFormatCUBRID (void * data, const char * el_name)
int end_timestamptzFormatCUBRID (void * data, const char * el_name)
int end_timetzFormatCUBRID (void * data, const char * el_name)
int end_transform_buffer (void * data, const char * el_name)
int handle_data (void * data, const char * s, int len)
int handle_data_collation_rule (void * data, const char * s, int len)
int load_console_conv_data (LOCALE_DATA * ld, bool is_verbose)
void locale_alloc_collation_id (COLL_TAILORING * coll_tail)
int locale_alphabet_data_size (ALPHABET_DATA * a)
int locale_alphabet_data_to_buf (ALPHABET_DATA * a, char * buf)
int locale_check_and_set_shared_data (const LOC_SHARED_DATA_TYPE lsd_type, const char * lsd_key, const void * data, LDML_CONTEXT * ldml_context, LOC_SHARED_DATA ** found_entry)
int locale_check_collation_id (const COLL_TAILORING * coll_tail)
int locale_compute_coll_checksum (COLL_DATA * cd)
int locale_compute_locale_checksum (LOCALE_DATA * ld)
void locale_destroy_alphabet_data (const ALPHABET_DATA * a)
void locale_destroy_alphabet_tailoring (const ALPHABET_TAILORING * cd)
void locale_destroy_collation_data (const COLL_DATA * cd)
void locale_destroy_collation_tailorings (const COLL_TAILORING * ct)
void locale_destroy_console_conversion (const TEXT_CONVERSION * tc)
void locale_destroy_normalization_data (UNICODE_NORMALIZATION * norm)
void locale_init_data (LOCALE_DATA * ld, const char * locale_name)
void locale_make_calendar_parse_order (LOCALE_DATA * ld)
int locale_save_alphabets_to_C_file (FILE * fp, LOCALE_DATA * ld)
int locale_save_calendar_to_C_file (FILE * fp, LOCALE_DATA * ld)
int locale_save_collation_data_to_C_file (FILE * fp, LOCALE_COLLATION * lc)
int locale_save_console_conv_to_C_file (FILE * fp, LOCALE_DATA * ld)
int locale_save_normalization_to_C_file (FILE * fp, LOCALE_DATA * ld)
int locale_save_one_alphabet_to_C_file (FILE * fp, ALPHABET_DATA * a, bool save_w_identier_name, const char * alpha_suffix)
int locale_save_to_C_file (LOCALE_FILE lf, LOCALE_DATA * ld)
CUBRID_TAILOR_RULE * new_collation_cubrid_rule (LOCALE_DATA * ld)
TAILOR_RULE * new_collation_rule (LOCALE_DATA * ld)
LOCALE_COLLATION * new_locale_collation (LOCALE_DATA * ld)
TRANSFORM_RULE * new_transform_rule (LOCALE_DATA * ld)
void print_debug_data_content (void * data, const char * msg, const int status)
void print_debug_end_el (void * data, const char * msg, const int status)
void print_debug_start_el (void * data, const char ** attrs, const char * msg, const int status)
int save_contraction_to_C_file (FILE * fp, COLL_CONTRACTION * c, bool use_expansion, bool use_level_4)
int start_calendar (void * data, const char ** attr)
int start_calendar_name_context (void * data, const char ** attr)
int start_collation_cubrid_rule (void * data, const char ** attr)
int start_collation_cubrid_rule_set_wr (void * data, const char ** attr)
int start_collation_logical_pos (void * data, const char ** attr)
int start_collation_reset (void * data, const char ** attr)
int start_collation_rule (void * data, const char ** attr)
int start_collation_settings (void * data, const char ** attr)
int start_collation_x (void * data, const char ** attr)
int start_collations (void * data, const char ** attr)
int start_consoleconversion (void * data, const char ** attr)
int start_currency (void * data, const char ** attr)
int start_day (void * data, const char ** attr)
int start_dayPeriod (void * data, const char ** attr)
int start_dayPeriodWidth (void * data, const char ** attr)
int start_element_ok (void * data, const char ** attr)
int start_include_collation (void * data, const char ** attr)
int start_lower_case_rule (void * data, const char ** attr)
int start_month (void * data, const char ** attr)
int start_month_day_Width (void * data, const char ** attr)
int start_numbers_symbols (void * data, const char ** attr)
int start_one_alphabet (void * data, const char ** attr)
int start_one_collation (void * data, const char ** attr)
int start_unicode_file (void * data, const char ** attr)
int start_upper_case_rule (void * data, const char ** attr)
int str_pop_token (char * str_p, char ** token_p, char ** next_p)

Macros

Type Name
define BUF_ALIGN (buf, align) /* multi line expression */
define BUF_PUT_INT16 (buf, v) /* multi line expression */
define BUF_PUT_INT32 (buf, v) /* multi line expression */
define COLL_SHARED_DATA_SIZE (10 + 2)
define DLL_EXPORT_PREFIX ""
define DUMP_CP_BUF_SIZE 128
define ID_PER_RANGE 8
define LOCLIB_FILE_EXT "so"
define LOC_CURRENT_COLL_TAIL (ld) (&([**ld**](broker__monitor_8c.md#function-timeout)-&gt;collations[[**ld**](broker__monitor_8c.md#function-timeout)-&gt;coll\_cnt].tail\_coll))
define NORM_MAPPING_DUMP_MODE_COMP 1
define NORM_MAPPING_DUMP_MODE_DECOMP 2
define NORM_MAPPING_DUMP_MODE_FULL 0
define PRINT_DEBUG_DATA (d, m, s) /* multi line expression */
define PRINT_DEBUG_END (d, m, s) /* multi line expression */
define PRINT_DEBUG_START (d, a, m, s) /* multi line expression */
define PRINT_DUPLICATE_SYMBOL_NAME (symbol, dupl_coll, orig_coll, do_print) /* multi line expression */
define PRINT_NUM_ARRAY_TO_C_FILE (fp, vname, vtype, intf, arrcount, val, d) /* multi line expression */
define PRINT_STRING_ARRAY_TO_C_FILE (fp, valname, arrcount, val, d) /* multi line expression */
define PRINT_STRING_TO_C_FILE (fp, val, len) /* multi line expression */
define PRINT_STRING_VAR_TO_C_FILE (fp, valname, val, d) /* multi line expression */
define PRINT_TO_C_FILE_MAX_INT_LINE 10
define PRINT_UNNAMED_NUM_ARRAY_TO_C_FILE (fp, intf, tab, arrcount, val) /* multi line expression */
define PRINT_VAR_TO_C_FILE (fp, type, valname, val, format, d) /* multi line expression */
define SHARED_DATA_INCR_SIZE 32
define START_GENERIC_RANGE [**LANG\_MAX\_BUILTIN\_COLLATIONS**](language__support_8h.md#define-lang_max_builtin_collations)
define START_LANG_RANGE 47
define TXT_CONV_ITEM_GROW_COUNT 128
define TXT_CONV_LINE_SIZE 512
define XML_COMMENT_END " --&gt;"
define XML_COMMENT_START "&lt;!-- "
define strlen (s1) (([**int**](broker__monitor_8c.md#function-timeout)) strlen([**s1**](broker__monitor_8c.md#function-timeout)))

Public Types Documentation

enum LOC_SHARED_DATA_TYPE

enum LOC_SHARED_DATA_TYPE {
    LOC_SHARED_COLLATION = 0,
    LOC_SHARED_ALPHABET = 1,
    LOC_SHARED_NORMALIZATION = 2
};

Public Attributes Documentation

variable ldml_datetimeFormatCUBRID

const XML_ELEMENT_DEF ldml_datetimeFormatCUBRID;

variable ldml_datetimetzFormatCUBRID

const XML_ELEMENT_DEF ldml_datetimetzFormatCUBRID;

variable ldml_elem_alphabet

const XML_ELEMENT_DEF ldml_elem_alphabet;

variable ldml_elem_alphabet_lower

const XML_ELEMENT_DEF ldml_elem_alphabet_lower;

variable ldml_elem_alphabet_lower_dest

const XML_ELEMENT_DEF ldml_elem_alphabet_lower_dest;

variable ldml_elem_alphabet_lower_src

const XML_ELEMENT_DEF ldml_elem_alphabet_lower_src;

variable ldml_elem_alphabet_upper

const XML_ELEMENT_DEF ldml_elem_alphabet_upper;

variable ldml_elem_alphabet_upper_dest

const XML_ELEMENT_DEF ldml_elem_alphabet_upper_dest;

variable ldml_elem_alphabet_upper_src

const XML_ELEMENT_DEF ldml_elem_alphabet_upper_src;

variable ldml_elem_alphabets

const XML_ELEMENT_DEF ldml_elem_alphabets;

variable ldml_elem_calendar

const XML_ELEMENT_DEF ldml_elem_calendar;

variable ldml_elem_calendars

const XML_ELEMENT_DEF ldml_elem_calendars;

variable ldml_elem_collation

const XML_ELEMENT_DEF ldml_elem_collation;

variable ldml_elem_collation_cubrid_rules

const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules;

variable ldml_elem_collation_cubrid_rules_set

const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set;

variable ldml_elem_collation_cubrid_rules_set_ch

const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_ch;

variable ldml_elem_collation_cubrid_rules_set_cp

const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_cp;

variable ldml_elem_collation_cubrid_rules_set_ech

const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_ech;

variable ldml_elem_collation_cubrid_rules_set_ecp

const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_ecp;

variable ldml_elem_collation_cubrid_rules_set_sch

const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_sch;

variable ldml_elem_collation_cubrid_rules_set_scp

const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_scp;

variable ldml_elem_collation_cubrid_rules_set_w

const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_w;

variable ldml_elem_collation_cubrid_rules_set_wr

const XML_ELEMENT_DEF ldml_elem_collation_cubrid_rules_set_wr;

variable ldml_elem_collation_i

const XML_ELEMENT_DEF ldml_elem_collation_i;

variable ldml_elem_collation_ic

const XML_ELEMENT_DEF ldml_elem_collation_ic;

variable ldml_elem_collation_p

const XML_ELEMENT_DEF ldml_elem_collation_p;

variable ldml_elem_collation_pc

const XML_ELEMENT_DEF ldml_elem_collation_pc;

variable ldml_elem_collation_reset

const XML_ELEMENT_DEF ldml_elem_collation_reset;

variable ldml_elem_collation_reset_first_non_ignorable

const XML_ELEMENT_DEF ldml_elem_collation_reset_first_non_ignorable;

variable ldml_elem_collation_reset_first_primary_ignorable

const XML_ELEMENT_DEF ldml_elem_collation_reset_first_primary_ignorable;

variable ldml_elem_collation_reset_first_secondary_ignorable

const XML_ELEMENT_DEF ldml_elem_collation_reset_first_secondary_ignorable;

variable ldml_elem_collation_reset_first_tertiary_ignorable

const XML_ELEMENT_DEF ldml_elem_collation_reset_first_tertiary_ignorable;

variable ldml_elem_collation_reset_first_trailing

const XML_ELEMENT_DEF ldml_elem_collation_reset_first_trailing;

variable ldml_elem_collation_reset_first_variable

const XML_ELEMENT_DEF ldml_elem_collation_reset_first_variable;

variable ldml_elem_collation_reset_last_non_ignorable

const XML_ELEMENT_DEF ldml_elem_collation_reset_last_non_ignorable;

variable ldml_elem_collation_reset_last_primary_ignorable

const XML_ELEMENT_DEF ldml_elem_collation_reset_last_primary_ignorable;

variable ldml_elem_collation_reset_last_secondary_ignorable

const XML_ELEMENT_DEF ldml_elem_collation_reset_last_secondary_ignorable;

variable ldml_elem_collation_reset_last_tertiary_ignorable

const XML_ELEMENT_DEF ldml_elem_collation_reset_last_tertiary_ignorable;

variable ldml_elem_collation_reset_last_trailing

const XML_ELEMENT_DEF ldml_elem_collation_reset_last_trailing;

variable ldml_elem_collation_reset_last_variable

const XML_ELEMENT_DEF ldml_elem_collation_reset_last_variable;

variable ldml_elem_collation_rules

const XML_ELEMENT_DEF ldml_elem_collation_rules;

variable ldml_elem_collation_s

const XML_ELEMENT_DEF ldml_elem_collation_s;

variable ldml_elem_collation_sc

const XML_ELEMENT_DEF ldml_elem_collation_sc;

variable ldml_elem_collation_settings

const XML_ELEMENT_DEF ldml_elem_collation_settings;

variable ldml_elem_collation_t

const XML_ELEMENT_DEF ldml_elem_collation_t;

variable ldml_elem_collation_tc

const XML_ELEMENT_DEF ldml_elem_collation_tc;

variable ldml_elem_collation_x

const XML_ELEMENT_DEF ldml_elem_collation_x;

variable ldml_elem_collation_x_context

const XML_ELEMENT_DEF ldml_elem_collation_x_context;

variable ldml_elem_collation_x_extend

const XML_ELEMENT_DEF ldml_elem_collation_x_extend;

variable ldml_elem_collation_x_i

const XML_ELEMENT_DEF ldml_elem_collation_x_i;

variable ldml_elem_collation_x_p

const XML_ELEMENT_DEF ldml_elem_collation_x_p;

variable ldml_elem_collation_x_s

const XML_ELEMENT_DEF ldml_elem_collation_x_s;

variable ldml_elem_collation_x_t

const XML_ELEMENT_DEF ldml_elem_collation_x_t;

variable ldml_elem_collations

const XML_ELEMENT_DEF ldml_elem_collations;

variable ldml_elem_consoleconversion

const XML_ELEMENT_DEF ldml_elem_consoleconversion;

variable ldml_elem_currencies

const XML_ELEMENT_DEF ldml_elem_currencies;

variable ldml_elem_currency

const XML_ELEMENT_DEF ldml_elem_currency;

variable ldml_elem_dateFormatCUBRID

const XML_ELEMENT_DEF ldml_elem_dateFormatCUBRID;

variable ldml_elem_dates

const XML_ELEMENT_DEF ldml_elem_dates;

variable ldml_elem_day

const XML_ELEMENT_DEF ldml_elem_day;

variable ldml_elem_dayContext

const XML_ELEMENT_DEF ldml_elem_dayContext;

variable ldml_elem_dayPeriod

const XML_ELEMENT_DEF ldml_elem_dayPeriod;

variable ldml_elem_dayPeriodContext

const XML_ELEMENT_DEF ldml_elem_dayPeriodContext;

variable ldml_elem_dayPeriodWidth

const XML_ELEMENT_DEF ldml_elem_dayPeriodWidth;

variable ldml_elem_dayPeriods

const XML_ELEMENT_DEF ldml_elem_dayPeriods;

variable ldml_elem_dayWidth

const XML_ELEMENT_DEF ldml_elem_dayWidth;

variable ldml_elem_days

const XML_ELEMENT_DEF ldml_elem_days;

variable ldml_elem_include_collation

const XML_ELEMENT_DEF ldml_elem_include_collation;

variable ldml_elem_ldml

const XML_ELEMENT_DEF ldml_elem_ldml;

variable ldml_elem_month

const XML_ELEMENT_DEF ldml_elem_month;

variable ldml_elem_monthContext

const XML_ELEMENT_DEF ldml_elem_monthContext;

variable ldml_elem_monthWidth

const XML_ELEMENT_DEF ldml_elem_monthWidth;

variable ldml_elem_months

const XML_ELEMENT_DEF ldml_elem_months;

variable ldml_elem_numbers

const XML_ELEMENT_DEF ldml_elem_numbers;

variable ldml_elem_numbers_symbols

const XML_ELEMENT_DEF ldml_elem_numbers_symbols;

variable ldml_elem_symbol_decimal

const XML_ELEMENT_DEF ldml_elem_symbol_decimal;

variable ldml_elem_symbol_group

const XML_ELEMENT_DEF ldml_elem_symbol_group;

variable ldml_elem_unicodefile

const XML_ELEMENT_DEF ldml_elem_unicodefile;

variable ldml_elements

const XML_ELEMENT_DEF* ldml_elements[];

variable ldml_ref_am_pm_names

const char* const ldml_ref_am_pm_names[];

variable ldml_ref_day_names

const char* const ldml_ref_day_names[];

variable ldml_timeFormatCUBRID

const XML_ELEMENT_DEF ldml_timeFormatCUBRID;

variable ldml_timestampFormatCUBRID

const XML_ELEMENT_DEF ldml_timestampFormatCUBRID;

variable ldml_timestamptzFormatCUBRID

const XML_ELEMENT_DEF ldml_timestamptzFormatCUBRID;

variable ldml_timetzFormatCUBRID

const XML_ELEMENT_DEF ldml_timetzFormatCUBRID;

Public Static Attributes Documentation

variable alloced_shared_data

int alloced_shared_data;

variable cmp_token_name_array

char* cmp_token_name_array;

variable cmp_token_name_size

char cmp_token_name_size;

variable count_shared_data

int count_shared_data;

variable dump_coll_data

COLL_DATA* dump_coll_data;

variable shared_data

LOC_SHARED_DATA* shared_data;

Public Functions Documentation

function locale_check_and_set_default_files

int locale_check_and_set_default_files (
    LOCALE_FILE * lf,
    bool is_lang_init
) 

function locale_compile_locale

int locale_compile_locale (
    LOCALE_FILE * lf,
    LOCALE_DATA * ld,
    bool is_verbose
) 

function locale_destroy_data

void locale_destroy_data (
    LOCALE_DATA * ld
) 

function locale_dump

int locale_dump (
    void * data,
    LOCALE_FILE * lf,
    int dl_settings,
    int start_value,
    int end_value
) 

function locale_dump_lib_collations

int locale_dump_lib_collations (
    void * lib_handle,
    const  LOCALE_FILE * lf,
    int dl_settings,
    int start_value,
    int end_value
) 

function locale_free_shared_data

void locale_free_shared_data (
    void
) 

function locale_get_cfg_locales

int locale_get_cfg_locales (
    LOCALE_FILE ** p_locale_files,
    int * p_num_locales,
    bool is_lang_init
) 

function locale_mark_duplicate_collations

void locale_mark_duplicate_collations (
    LOCALE_DATA ** ld,
    int start_index,
    int end_index,
    bool is_verbose
) 

function locale_prepare_C_file

int locale_prepare_C_file (
    void
) 

function locale_save_all_to_C_file

int locale_save_all_to_C_file (
    LOCALE_DATA ** ld,
    int start_index,
    int end_index,
    LOCALE_FILE * lf
) 

Public Static Functions Documentation

function clear_data_buffer

static void clear_data_buffer (
    XML_PARSER_DATA * pd
) 

function common_collation_end_rule

static int common_collation_end_rule (
    void * data,
    LOCALE_DATA * ld,
    const  int rule_id,
    TAILOR_RULE * t_rule
) 

function common_collation_start_rule

static int common_collation_start_rule (
    void * data,
    const  char ** attr,
    LOCALE_DATA * ld,
    TAILOR_RULE * t_rule
) 

function comp_func_coll_uca_exp

static int comp_func_coll_uca_exp (
    const  void * arg1,
    const  void * arg2
) 

function comp_func_coll_uca_exp_fo

static int comp_func_coll_uca_exp_fo (
    const  void * arg1,
    const  void * arg2
) 

function comp_func_coll_uca_simple_weights

static int comp_func_coll_uca_simple_weights (
    const  void * arg1,
    const  void * arg2
) 

function comp_func_coll_uca_simple_weights_fo

static int comp_func_coll_uca_simple_weights_fo (
    const  void * arg1,
    const  void * arg2
) 

function comp_func_parse_order_index

static int comp_func_parse_order_index (
    const  void * arg1,
    const  void * arg2
) 

function dump_collation_codepoint

static void dump_collation_codepoint (
    COLL_DATA * coll,
    const  unsigned  int cp,
    bool print_weight,
    bool print_cp
) 

function dump_collation_contr

static void dump_collation_contr (
    COLL_DATA * coll,
    const  COLL_CONTRACTION * contr,
    bool print_weight,
    bool print_contr
) 

function dump_collation_key

static void dump_collation_key (
    COLL_DATA * coll,
    const  unsigned  int key,
    bool print_weight,
    bool print_key
) 

function dump_console_conversion

static int dump_console_conversion (
    TEXT_CONVERSION * tc
) 

function dump_locale_alphabet

static int dump_locale_alphabet (
    ALPHABET_DATA * ad,
    int dl_settings,
    int lower_bound,
    int upper_bound
) 

function dump_locale_collation

static int dump_locale_collation (
    COLL_DATA * coll,
    int dl_settings,
    int start_value,
    int end_value
) 

function dump_locale_normalization

static void dump_locale_normalization (
    UNICODE_NORMALIZATION * norm
) 

function dump_unicode_mapping

static void dump_unicode_mapping (
    UNICODE_MAPPING * um,
    const  int mode
) 

function end_case_rule

static int end_case_rule (
    void * data,
    const  char * el_name
) 

function end_collation_cubrid_rule_set

static int end_collation_cubrid_rule_set (
    void * data,
    const  char * el_name
) 

function end_collation_cubrid_rule_set_cp_ch

static int end_collation_cubrid_rule_set_cp_ch (
    void * data,
    const  char * el_name
) 

function end_collation_cubrid_rule_set_ech_ecp

static int end_collation_cubrid_rule_set_ech_ecp (
    void * data,
    const  char * el_name
) 

function end_collation_cubrid_rule_set_w_wr

static int end_collation_cubrid_rule_set_w_wr (
    void * data,
    const  char * el_name
) 

function end_collation_logical_pos

static int end_collation_logical_pos (
    void * data,
    const  char * el_name
) 

function end_collation_reset

static int end_collation_reset (
    void * data,
    const  char * el_name
) 

function end_collation_rule

static int end_collation_rule (
    void * data,
    const  char * el_name
) 

function end_collation_x

static int end_collation_x (
    void * data,
    const  char * el_name
) 

function end_collation_x_context

static int end_collation_x_context (
    void * data,
    const  char * el_name
) 

function end_collation_x_extend

static int end_collation_x_extend (
    void * data,
    const  char * el_name
) 

function end_collation_x_rule

static int end_collation_x_rule (
    void * data,
    const  char * el_name
) 

function end_dateFormatCUBRID

static int end_dateFormatCUBRID (
    void * data,
    const  char * el_name
) 

function end_datetimeFormatCUBRID

static int end_datetimeFormatCUBRID (
    void * data,
    const  char * el_name
) 

function end_datetimetzFormatCUBRID

static int end_datetimetzFormatCUBRID (
    void * data,
    const  char * el_name
) 

function end_day

static int end_day (
    void * data,
    const  char * el_name
) 

function end_dayPeriod

static int end_dayPeriod (
    void * data,
    const  char * el_name
) 

function end_element_ok

static int end_element_ok (
    void * data,
    const  char * el_name
) 

function end_month

static int end_month (
    void * data,
    const  char * el_name
) 

function end_month_day_Width

static int end_month_day_Width (
    void * data,
    const  char * el_name
) 

function end_number_symbol

static int end_number_symbol (
    void * data,
    const  char * el_name
) 

function end_one_collation

static int end_one_collation (
    void * data,
    const  char * el_name
) 

function end_timeFormatCUBRID

static int end_timeFormatCUBRID (
    void * data,
    const  char * el_name
) 

function end_timestampFormatCUBRID

static int end_timestampFormatCUBRID (
    void * data,
    const  char * el_name
) 

function end_timestamptzFormatCUBRID

static int end_timestamptzFormatCUBRID (
    void * data,
    const  char * el_name
) 

function end_timetzFormatCUBRID

static int end_timetzFormatCUBRID (
    void * data,
    const  char * el_name
) 

function end_transform_buffer

static int end_transform_buffer (
    void * data,
    const  char * el_name
) 

function handle_data

static int handle_data (
    void * data,
    const  char * s,
    int len
) 

function handle_data_collation_rule

static int handle_data_collation_rule (
    void * data,
    const  char * s,
    int len
) 

function load_console_conv_data

static int load_console_conv_data (
    LOCALE_DATA * ld,
    bool is_verbose
) 

function locale_alloc_collation_id

static void locale_alloc_collation_id (
    COLL_TAILORING * coll_tail
) 

function locale_alphabet_data_size

static int locale_alphabet_data_size (
    ALPHABET_DATA * a
) 

function locale_alphabet_data_to_buf

static int locale_alphabet_data_to_buf (
    ALPHABET_DATA * a,
    char * buf
) 

function locale_check_and_set_shared_data

static int locale_check_and_set_shared_data (
    const  LOC_SHARED_DATA_TYPE lsd_type,
    const  char * lsd_key,
    const  void * data,
    LDML_CONTEXT * ldml_context,
    LOC_SHARED_DATA ** found_entry
) 

function locale_check_collation_id

static int locale_check_collation_id (
    const  COLL_TAILORING * coll_tail
) 

function locale_compute_coll_checksum

static int locale_compute_coll_checksum (
    COLL_DATA * cd
) 

function locale_compute_locale_checksum

static int locale_compute_locale_checksum (
    LOCALE_DATA * ld
) 

function locale_destroy_alphabet_data

static void locale_destroy_alphabet_data (
    const  ALPHABET_DATA * a
) 

function locale_destroy_alphabet_tailoring

static void locale_destroy_alphabet_tailoring (
    const  ALPHABET_TAILORING * cd
) 

function locale_destroy_collation_data

static void locale_destroy_collation_data (
    const  COLL_DATA * cd
) 

function locale_destroy_collation_tailorings

static void locale_destroy_collation_tailorings (
    const  COLL_TAILORING * ct
) 

function locale_destroy_console_conversion

static void locale_destroy_console_conversion (
    const  TEXT_CONVERSION * tc
) 

function locale_destroy_normalization_data

static void locale_destroy_normalization_data (
    UNICODE_NORMALIZATION * norm
) 

function locale_init_data

static void locale_init_data (
    LOCALE_DATA * ld,
    const  char * locale_name
) 

function locale_make_calendar_parse_order

static void locale_make_calendar_parse_order (
    LOCALE_DATA * ld
) 

function locale_save_alphabets_to_C_file

static int locale_save_alphabets_to_C_file (
    FILE * fp,
    LOCALE_DATA * ld
) 

function locale_save_calendar_to_C_file

static int locale_save_calendar_to_C_file (
    FILE * fp,
    LOCALE_DATA * ld
) 

function locale_save_collation_data_to_C_file

static int locale_save_collation_data_to_C_file (
    FILE * fp,
    LOCALE_COLLATION * lc
) 

function locale_save_console_conv_to_C_file

static int locale_save_console_conv_to_C_file (
    FILE * fp,
    LOCALE_DATA * ld
) 

function locale_save_normalization_to_C_file

static int locale_save_normalization_to_C_file (
    FILE * fp,
    LOCALE_DATA * ld
) 

function locale_save_one_alphabet_to_C_file

static int locale_save_one_alphabet_to_C_file (
    FILE * fp,
    ALPHABET_DATA * a,
    bool save_w_identier_name,
    const  char * alpha_suffix
) 

function locale_save_to_C_file

static int locale_save_to_C_file (
    LOCALE_FILE lf,
    LOCALE_DATA * ld
) 

function new_collation_cubrid_rule

static CUBRID_TAILOR_RULE * new_collation_cubrid_rule (
    LOCALE_DATA * ld
) 

function new_collation_rule

static TAILOR_RULE * new_collation_rule (
    LOCALE_DATA * ld
) 

function new_locale_collation

static LOCALE_COLLATION * new_locale_collation (
    LOCALE_DATA * ld
) 

function new_transform_rule

static TRANSFORM_RULE * new_transform_rule (
    LOCALE_DATA * ld
) 

function print_debug_data_content

static void print_debug_data_content (
    void * data,
    const  char * msg,
    const  int status
) 

function print_debug_end_el

static void print_debug_end_el (
    void * data,
    const  char * msg,
    const  int status
) 

function print_debug_start_el

static void print_debug_start_el (
    void * data,
    const  char ** attrs,
    const  char * msg,
    const  int status
) 

function save_contraction_to_C_file

static int save_contraction_to_C_file (
    FILE * fp,
    COLL_CONTRACTION * c,
    bool use_expansion,
    bool use_level_4
) 

function start_calendar

static int start_calendar (
    void * data,
    const  char ** attr
) 

function start_calendar_name_context

static int start_calendar_name_context (
    void * data,
    const  char ** attr
) 

function start_collation_cubrid_rule

static int start_collation_cubrid_rule (
    void * data,
    const  char ** attr
) 

function start_collation_cubrid_rule_set_wr

static int start_collation_cubrid_rule_set_wr (
    void * data,
    const  char ** attr
) 

function start_collation_logical_pos

static int start_collation_logical_pos (
    void * data,
    const  char ** attr
) 

function start_collation_reset

static int start_collation_reset (
    void * data,
    const  char ** attr
) 

function start_collation_rule

static int start_collation_rule (
    void * data,
    const  char ** attr
) 

function start_collation_settings

static int start_collation_settings (
    void * data,
    const  char ** attr
) 

function start_collation_x

static int start_collation_x (
    void * data,
    const  char ** attr
) 

function start_collations

static int start_collations (
    void * data,
    const  char ** attr
) 

function start_consoleconversion

static int start_consoleconversion (
    void * data,
    const  char ** attr
) 

function start_currency

static int start_currency (
    void * data,
    const  char ** attr
) 

function start_day

static int start_day (
    void * data,
    const  char ** attr
) 

function start_dayPeriod

static int start_dayPeriod (
    void * data,
    const  char ** attr
) 

function start_dayPeriodWidth

static int start_dayPeriodWidth (
    void * data,
    const  char ** attr
) 

function start_element_ok

static int start_element_ok (
    void * data,
    const  char ** attr
) 

function start_include_collation

static int start_include_collation (
    void * data,
    const  char ** attr
) 

function start_lower_case_rule

static int start_lower_case_rule (
    void * data,
    const  char ** attr
) 

function start_month

static int start_month (
    void * data,
    const  char ** attr
) 

function start_month_day_Width

static int start_month_day_Width (
    void * data,
    const  char ** attr
) 

function start_numbers_symbols

static int start_numbers_symbols (
    void * data,
    const  char ** attr
) 

function start_one_alphabet

static int start_one_alphabet (
    void * data,
    const  char ** attr
) 

function start_one_collation

static int start_one_collation (
    void * data,
    const  char ** attr
) 

function start_unicode_file

static int start_unicode_file (
    void * data,
    const  char ** attr
) 

function start_upper_case_rule

static int start_upper_case_rule (
    void * data,
    const  char ** attr
) 

function str_pop_token

static int str_pop_token (
    char * str_p,
    char ** token_p,
    char ** next_p
) 

Macro Definition Documentation

define BUF_ALIGN

#define BUF_ALIGN (
    buf,
    align
) `/* multi line expression */`

define BUF_PUT_INT16

#define BUF_PUT_INT16 (
    buf,
    v
) `/* multi line expression */`

define BUF_PUT_INT32

#define BUF_PUT_INT32 (
    buf,
    v
) `/* multi line expression */`

define COLL_SHARED_DATA_SIZE

#define COLL_SHARED_DATA_SIZE `(10 + 2)`

define DLL_EXPORT_PREFIX

#define DLL_EXPORT_PREFIX `""`

define DUMP_CP_BUF_SIZE

#define DUMP_CP_BUF_SIZE `128`

define ID_PER_RANGE

#define ID_PER_RANGE `8`

define LOCLIB_FILE_EXT

#define LOCLIB_FILE_EXT `"so"`

define LOC_CURRENT_COLL_TAIL

#define LOC_CURRENT_COLL_TAIL (
    ld
) `(&( ld ->collations[ ld ->coll_cnt].tail_coll))`

define NORM_MAPPING_DUMP_MODE_COMP

#define NORM_MAPPING_DUMP_MODE_COMP `1`

define NORM_MAPPING_DUMP_MODE_DECOMP

#define NORM_MAPPING_DUMP_MODE_DECOMP `2`

define NORM_MAPPING_DUMP_MODE_FULL

#define NORM_MAPPING_DUMP_MODE_FULL `0`

define PRINT_DEBUG_DATA

#define PRINT_DEBUG_DATA (
    d,
    m,
    s
) `/* multi line expression */`

define PRINT_DEBUG_END

#define PRINT_DEBUG_END (
    d,
    m,
    s
) `/* multi line expression */`

define PRINT_DEBUG_START

#define PRINT_DEBUG_START (
    d,
    a,
    m,
    s
) `/* multi line expression */`

define PRINT_DUPLICATE_SYMBOL_NAME

#define PRINT_DUPLICATE_SYMBOL_NAME (
    symbol,
    dupl_coll,
    orig_coll,
    do_print
) `/* multi line expression */`

define PRINT_NUM_ARRAY_TO_C_FILE

#define PRINT_NUM_ARRAY_TO_C_FILE (
    fp,
    vname,
    vtype,
    intf,
    arrcount,
    val,
    d
) `/* multi line expression */`

define PRINT_STRING_ARRAY_TO_C_FILE

#define PRINT_STRING_ARRAY_TO_C_FILE (
    fp,
    valname,
    arrcount,
    val,
    d
) `/* multi line expression */`

define PRINT_STRING_TO_C_FILE

#define PRINT_STRING_TO_C_FILE (
    fp,
    val,
    len
) `/* multi line expression */`

define PRINT_STRING_VAR_TO_C_FILE

#define PRINT_STRING_VAR_TO_C_FILE (
    fp,
    valname,
    val,
    d
) `/* multi line expression */`

define PRINT_TO_C_FILE_MAX_INT_LINE

#define PRINT_TO_C_FILE_MAX_INT_LINE `10`

define PRINT_UNNAMED_NUM_ARRAY_TO_C_FILE

#define PRINT_UNNAMED_NUM_ARRAY_TO_C_FILE (
    fp,
    intf,
    tab,
    arrcount,
    val
) `/* multi line expression */`

define PRINT_VAR_TO_C_FILE

#define PRINT_VAR_TO_C_FILE (
    fp,
    type,
    valname,
    val,
    format,
    d
) `/* multi line expression */`

define SHARED_DATA_INCR_SIZE

#define SHARED_DATA_INCR_SIZE `32`

define START_GENERIC_RANGE

#define START_GENERIC_RANGE `LANG_MAX_BUILTIN_COLLATIONS`

define START_LANG_RANGE

#define START_LANG_RANGE `47`

define TXT_CONV_ITEM_GROW_COUNT

#define TXT_CONV_ITEM_GROW_COUNT `128`

define TXT_CONV_LINE_SIZE

#define TXT_CONV_LINE_SIZE `512`

define XML_COMMENT_END

#define XML_COMMENT_END `" -->"`

define XML_COMMENT_START

#define XML_COMMENT_START `"<!-- "`

define strlen

#define strlen (
    s1
) `(( int ) strlen( s1 ))`


The documentation for this class was generated from the following file cubrid/src/base/locale_support.c