Skip to content

File tz_compile.c

FileList > base > tz_compile.c

Go to the source code of this file

  • #include "config.h"
  • #include <stdio.h>
  • #include <assert.h>
  • #include "tz_support.h"
  • #include "authenticate.h"
  • #include "porting.h"
  • #include "byte_order.h"
  • #include "utility.h"
  • #include "db_date.h"
  • #include "environment_variable.h"
  • #include "chartype.h"
  • #include "error_manager.h"
  • #include "memory_alloc.h"
  • #include "tz_compile.h"
  • #include "xml_parser.h"
  • #include "crypt_opfunc.h"
  • #include "db_query.h"
  • #include "dbtype.h"
  • #include "db.h"

Classes

Type Name
struct offset_rule_interval
struct query_buf
struct tz_file_descriptor
struct tz_raw_context
struct tz_raw_country
struct tz_raw_data
struct tz_raw_ds_rule
struct tz_raw_ds_ruleset
struct tz_raw_link
struct tz_raw_offset_rule
struct tz_raw_zone_info

Public Types

Type Name
typedef struct offset_rule_interval OFFSET_RULE_INTERVAL
typedef struct query_buf QUERY_BUF
typedef struct tz_file_descriptor TZ_FILE_DESCRIPTOR
enum TZ_FILE_TYPE
typedef struct tz_raw_context TZ_RAW_CONTEXT
typedef struct tz_raw_country TZ_RAW_COUNTRY
typedef struct tz_raw_data TZ_RAW_DATA
typedef struct tz_raw_ds_rule TZ_RAW_DS_RULE
typedef struct tz_raw_ds_ruleset TZ_RAW_DS_RULESET
typedef struct tz_raw_link TZ_RAW_LINK
typedef struct tz_raw_offset_rule TZ_RAW_OFFSET_RULE
typedef struct tz_raw_zone_info TZ_RAW_ZONE_INFO

Public Attributes

Type Name
const TZ_COUNTRY tz_countries
const char * tz_timezone_names

Public Static Attributes

Type Name
const char DAY_NAMES_ABBREV = /* multi line expression */
const char MONTH_NAMES_ABBREV = /* multi line expression */
int tz_File_count = [**DIM**](broker__monitor_8c.md#function-timeout) ([**tz\_Files**](tz__compile_8c.md#variable-tz_files))
const TZ_FILE_DESCRIPTOR tz_Files = /* multi line expression */
const int tzc_Err_message_count = - -18
const char * tzc_Err_messages

Public Functions

Type Name
int timezone_compile_data (const char * input_folder, const TZ_GEN_TYPE tz_gen_type, char * database_name, const char * timezones_dot_c_filepath, char * checksum)
void tzc_dump_countries (const TZ_DATA * tzd)
void tzc_dump_leap_sec (const TZ_DATA * tzd)
void tzc_dump_one_timezone (const TZ_DATA * tzd, const int zone_id)
void tzc_dump_summary (const TZ_DATA * tzd)
void tzc_dump_timezones (const TZ_DATA * tzd)

Public Static Functions

Type Name
bool comp_ds_rules (const TZ_DS_RULE * rule1, const TZ_DS_RULE * rule2)
int comp_func_raw_countries (const void * arg1, const void * arg2)
int comp_func_raw_ds_rules (const void * arg1, const void * arg2)
int comp_func_raw_ds_rulesets (const void * arg1, const void * arg2)
int comp_func_raw_links (const void * arg1, const void * arg2)
int comp_func_raw_offset_rules (const void * arg1, const void * arg2)
int comp_func_raw_zones (const void * arg1, const void * arg2)
int comp_func_tz_names (const void * arg1, const void * arg2)
bool comp_offset_rules (const TZ_OFFSET_RULE * rule1, const TZ_OFFSET_RULE * rule2)
int compare_ints (const void * a, const void * b)
int copy_ds_rule (TZ_DS_RULE * dst, const TZ_DATA * tzd, const int index)
int copy_offset_rule (TZ_OFFSET_RULE * dst, const TZ_DATA * tzd, const int index)
int execute_query (const char * str, DB_QUERY_RESULT ** result)
int get_day_of_week_for_raw_rule (const TZ_RAW_DS_RULE * rule, const int year)
int init_ds_ruleset (TZ_DS_RULESET * dst_ruleset, const TZ_DATA * tzd, const int index, const int start)
int init_tz_name (TZ_NAME * dst, TZ_NAME * src)
void print_seconds_as_time_hms_var (int seconds)
int str_day_to_int (const char * str_in, int * day_num, const char ** str_next)
int str_month_to_int (const char * month, int * month_num, const char ** str_next)
int str_read_day_var (const char * str, const int month, int * type, int * day, int * bound, const char ** str_next)
int str_to_offset_rule_until (TZ_RAW_OFFSET_RULE * offset_rule, char * str)
void trim_comments_whitespaces (char * str)
int tz_data_partial_clone (char ** timezone_names, TZ_TIMEZONE * timezones, TZ_NAME * names, const TZ_DATA * tzd)
QUERY_BUF * tz_write_query_string (QUERY_BUF * query, const char * format, ...)
int tzc_add_ds_rule (TZ_RAW_DATA * tzd_raw, char * rule_text)
int tzc_add_leap_sec (TZ_RAW_DATA * tzd_raw, int year, int month, int day, unsigned char hour, unsigned char min, unsigned char sec, bool corr_minus, bool leap_is_rolling)
int tzc_add_link (TZ_RAW_DATA * tzd_raw, const char * zone, const char * alias)
int tzc_add_offset_rule (TZ_RAW_ZONE_INFO * zone, char * rule_text)
int tzc_add_zone (const char * zone, const char * coord, const char * code, const char * comments, TZ_RAW_DATA * tzd_raw, TZ_RAW_ZONE_INFO ** new_zone)
void tzc_build_filepath (char * path, size_t size, const char * dir, const char * filename)
int tzc_check_ds_ruleset (const TZ_DATA * tzd, const TZ_DS_RULESET * ds_rule_set, int * ds_changes_cnt)
int tzc_check_links_raw_data (TZ_RAW_DATA * tzd_raw)
int tzc_check_new_package_validity (const char * input_folder)
int tzc_compile_data (TZ_RAW_DATA * tzd_raw, TZ_DATA * tzd)
int tzc_compile_ds_rules (TZ_RAW_DATA * tzd_raw, TZ_DATA * tzd)
int tzc_compute_timezone_checksum (TZ_DATA * tzd, TZ_GEN_TYPE type)
int tzc_del_unused_raw_data (TZ_RAW_DATA * tzd_raw)
void tzc_dump_ds_ruleset (const TZ_DATA * tzd, const int ruleset_id)
void tzc_dump_one_offset_rule (const TZ_DATA * tzd, const TZ_OFFSET_RULE * offset_rule)
int tzc_export_timezone_dot_c (const TZ_DATA * tzd, const char * tz_C_filepath)
int tzc_extend (TZ_DATA * tzd)
int tzc_find_country_names (const TZ_COUNTRY * countries, const int country_count, const char * country_name)
int tzc_find_timezone_names (const TZ_DATA * tzd, const char * timezone_name)
void tzc_free_raw_data (TZ_RAW_DATA * tzd_raw)
void tzc_free_tz_data (TZ_DATA * tzd, bool full)
int tzc_get_ds_ruleset_by_name (const TZ_DS_RULESET * ds_rulesets, int ds_ruleset_count, const char * ruleset)
int tzc_get_timezone_aliases (const TZ_DATA * tzd, const int zone_id, int ** aliases, int * alias_count)
void tzc_get_timezones_dot_c_filepath (size_t size, char * timezones_dot_c_file_path)
int tzc_get_zone (const TZ_RAW_DATA * tzd_raw, const char * zone_name, TZ_RAW_ZONE_INFO ** zone)
int tzc_import_old_data (TZ_RAW_DATA * tzd_raw, const TZ_GEN_TYPE mode)
int tzc_index_data (TZ_RAW_DATA * tzd_raw, const TZ_GEN_TYPE mode)
void tzc_index_raw_data (TZ_RAW_DATA * tzd_raw)
int tzc_index_raw_data_w_static (TZ_RAW_DATA * tzd_raw, const TZ_GEN_TYPE mode)
int tzc_index_raw_subdata (TZ_RAW_DATA * tzd_raw, const TZ_GEN_TYPE mode)
bool tzc_is_valid_date (const int day, const int month, const int year_start, const int year_end)
int tzc_load_backward_zones (TZ_RAW_DATA * tzd_raw, const char * input_folder)
int tzc_load_countries (TZ_RAW_DATA * tzd_raw, const char * input_folder)
int tzc_load_leap_secs (TZ_RAW_DATA * tzd_raw, const char * input_folder)
int tzc_load_raw_data (TZ_RAW_DATA * tzd_raw, const char * input_folder)
int tzc_load_rule_file (TZ_RAW_DATA * tzd_raw, const int file_index, const char * input_folder)
int tzc_load_zone_names (TZ_RAW_DATA * tzd_raw, const char * input_folder)
void tzc_log_error (const TZ_RAW_CONTEXT * context, const int code, const char * msg1, const char * msg2)
int tzc_parse_ds_change_on (TZ_RAW_DS_RULE * dest, const char * str)
int tzc_read_time_type (const char * str, const char ** next, TZ_TIME_TYPE * time_type)
void tzc_sort_raw_data (TZ_RAW_DATA * tzd_raw)
void tzc_summary (TZ_RAW_DATA * tzd_raw, TZ_DATA * tzd)
int tzc_update (TZ_DATA * tzd, const char * database_name)
int tzc_update_internal (const char * database_name)

Macros

Type Name
define ABS (i) (([**i**](dynamic__load_8c.md#variable-i)) &gt;= 0 ? ([**i**](dynamic__load_8c.md#variable-i)) : -([**i**](dynamic__load_8c.md#variable-i)))
define BUF_PUT_INT16 (buf, v) /* multi line expression */
define BUF_PUT_INT32 (buf, v) /* multi line expression */
define DUPLICATE_STR (a, b) /* multi line expression */
define INIT_COUNTRY (dst, src) /* multi line expression */
define LOG_TZC_SET_CURRENT_CONTEXT (tzd_raw, f, l) /* multi line expression */
define MAX_DS_CHANGES_YEAR 1000
define PATH_PARTIAL_TIMEZONES_FILE "timezones/[**tzlib**](broker__monitor_8c.md#function-timeout)/[**timezones.c"**](broker__monitor_8c.md#function-timeout)
define PRINT_STRING_TO_C_FILE (fp, val, len) /* multi line expression */
define PRINT_STRING_VAR_TO_C_FILE (fp, valname, val) /* multi line expression */
define QUERY_BUF_INIT_SIZE 4096
define QUERY_BUF_UNIT_SIZE 1024
define STR_SKIP_LEADING_SPACES (str) /* multi line expression */
define TZC_CONTEXT (tzd_raw) (&(([**tzd\_raw**](broker__monitor_8c.md#function-timeout))-&gt;context))
define TZC_ERR_ADD_ZONE -16
define TZC_ERR_BAD_TZ_LINK -3
define TZC_ERR_CANT_READ_VALUE -10
define TZC_ERR_DS_INVALID_DATE -12
define TZC_ERR_FILE_NOT_ACCESSIBLE -13
define TZC_ERR_GENERIC -1
define TZC_ERR_INVALID_COUNTRY -14
define TZC_ERR_INVALID_DATETIME -8
define TZC_ERR_INVALID_DS_RULE -9
define TZC_ERR_INVALID_PACKAGE -2
define TZC_ERR_INVALID_TIME -6
define TZC_ERR_INVALID_VALUE -5
define TZC_ERR_INVALID_ZONE -15
define TZC_ERR_LAST_ERROR -18
define TZC_ERR_LINKING_TRUE_ZONES -17
define TZC_ERR_MSG_MAX_SIZE 512
define TZC_ERR_OUT_OF_MEMORY -4
define TZC_ERR_PARSING_FAILED -11
define TZC_ERR_ZONE_RULE_UNORDERED -7
define TZC_LOG_ERROR_1ARG (context, err_code, s1) [**tzc\_log\_error**](tz__compile_8c.md#function-tzc_log_error) ((context), (err\_code), ([**s1**](broker__monitor_8c.md#function-timeout)), "")
define TZC_LOG_ERROR_2ARG (context, err_code, s1, s2) [**tzc\_log\_error**](tz__compile_8c.md#function-tzc_log_error) ((context), (err\_code), ([**s1**](broker__monitor_8c.md#function-timeout)), ([**s2**](broker__monitor_8c.md#function-timeout)))
define TZ_CAL_ABBREV_SIZE 4
define TZ_COMMENTS_MAX_SIZE 92
define TZ_COORDINATES_MAX_SIZE 16
define TZ_FILENAME_MAX_LEN 17
define TZ_MAX_LINE_LEN 512
define TZ_OFFRULE_PREFIX_TAB_COUNT 3
define TZ_RULE_LETTER_ABBREV_MAX_SIZE 8
define TZ_RULE_TYPE_MAX_SIZE 4
define strlen (s1) (([**int**](broker__monitor_8c.md#function-timeout)) strlen([**s1**](broker__monitor_8c.md#function-timeout)))

Public Types Documentation

typedef OFFSET_RULE_INTERVAL

typedef struct offset_rule_interval OFFSET_RULE_INTERVAL;

typedef QUERY_BUF

typedef struct query_buf QUERY_BUF;

typedef TZ_FILE_DESCRIPTOR

typedef struct tz_file_descriptor TZ_FILE_DESCRIPTOR;

enum TZ_FILE_TYPE

enum TZ_FILE_TYPE {
    TZF_COUNTRIES = 0,
    TZF_ZONES,
    TZF_RULES,
    TZF_BACKWARD,
    TZF_LEAP
};

typedef TZ_RAW_CONTEXT

typedef struct tz_raw_context TZ_RAW_CONTEXT;

typedef TZ_RAW_COUNTRY

typedef struct tz_raw_country TZ_RAW_COUNTRY;

typedef TZ_RAW_DATA

typedef struct tz_raw_data TZ_RAW_DATA;

typedef TZ_RAW_DS_RULE

typedef struct tz_raw_ds_rule TZ_RAW_DS_RULE;

typedef TZ_RAW_DS_RULESET

typedef struct tz_raw_ds_ruleset TZ_RAW_DS_RULESET;

typedef struct tz_raw_link TZ_RAW_LINK;

typedef TZ_RAW_OFFSET_RULE

typedef struct tz_raw_offset_rule TZ_RAW_OFFSET_RULE;

typedef TZ_RAW_ZONE_INFO

typedef struct tz_raw_zone_info TZ_RAW_ZONE_INFO;

Public Attributes Documentation

variable tz_countries

const TZ_COUNTRY tz_countries[];

variable tz_timezone_names

const char* tz_timezone_names[];

Public Static Attributes Documentation

variable DAY_NAMES_ABBREV

const char DAY_NAMES_ABBREV[TZ_WEEK_DAY_COUNT][4];

variable MONTH_NAMES_ABBREV

const char MONTH_NAMES_ABBREV[TZ_MON_COUNT][4];

variable tz_File_count

int tz_File_count;

variable tz_Files

const TZ_FILE_DESCRIPTOR tz_Files[];

variable tzc_Err_message_count

const int tzc_Err_message_count;

variable tzc_Err_messages

const char* tzc_Err_messages[];

Public Functions Documentation

function timezone_compile_data

int timezone_compile_data (
    const  char * input_folder,
    const  TZ_GEN_TYPE tz_gen_type,
    char * database_name,
    const  char * timezones_dot_c_filepath,
    char * checksum
) 

function tzc_dump_countries

void tzc_dump_countries (
    const  TZ_DATA * tzd
) 

function tzc_dump_leap_sec

void tzc_dump_leap_sec (
    const  TZ_DATA * tzd
) 

function tzc_dump_one_timezone

void tzc_dump_one_timezone (
    const  TZ_DATA * tzd,
    const  int zone_id
) 

function tzc_dump_summary

void tzc_dump_summary (
    const  TZ_DATA * tzd
) 

function tzc_dump_timezones

void tzc_dump_timezones (
    const  TZ_DATA * tzd
) 

Public Static Functions Documentation

function comp_ds_rules

static bool comp_ds_rules (
    const  TZ_DS_RULE * rule1,
    const  TZ_DS_RULE * rule2
) 

function comp_func_raw_countries

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

function comp_func_raw_ds_rules

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

function comp_func_raw_ds_rulesets

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

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

function comp_func_raw_offset_rules

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

function comp_func_raw_zones

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

function comp_func_tz_names

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

function comp_offset_rules

static bool comp_offset_rules (
    const  TZ_OFFSET_RULE * rule1,
    const  TZ_OFFSET_RULE * rule2
) 

function compare_ints

static int compare_ints (
    const  void * a,
    const  void * b
) 

function copy_ds_rule

static int copy_ds_rule (
    TZ_DS_RULE * dst,
    const  TZ_DATA * tzd,
    const  int index
) 

function copy_offset_rule

static int copy_offset_rule (
    TZ_OFFSET_RULE * dst,
    const  TZ_DATA * tzd,
    const  int index
) 

function execute_query

static int execute_query (
    const  char * str,
    DB_QUERY_RESULT ** result
) 

function get_day_of_week_for_raw_rule

static int get_day_of_week_for_raw_rule (
    const  TZ_RAW_DS_RULE * rule,
    const  int year
) 

function init_ds_ruleset

static int init_ds_ruleset (
    TZ_DS_RULESET * dst_ruleset,
    const  TZ_DATA * tzd,
    const  int index,
    const  int start
) 

function init_tz_name

static int init_tz_name (
    TZ_NAME * dst,
    TZ_NAME * src
) 

function print_seconds_as_time_hms_var

static void print_seconds_as_time_hms_var (
    int seconds
) 

function str_day_to_int

static int str_day_to_int (
    const  char * str_in,
    int * day_num,
    const  char ** str_next
) 

function str_month_to_int

static int str_month_to_int (
    const  char * month,
    int * month_num,
    const  char ** str_next
) 

function str_read_day_var

static int str_read_day_var (
    const  char * str,
    const  int month,
    int * type,
    int * day,
    int * bound,
    const  char ** str_next
) 

function str_to_offset_rule_until

static int str_to_offset_rule_until (
    TZ_RAW_OFFSET_RULE * offset_rule,
    char * str
) 

function trim_comments_whitespaces

static void trim_comments_whitespaces (
    char * str
) 

function tz_data_partial_clone

static int tz_data_partial_clone (
    char ** timezone_names,
    TZ_TIMEZONE * timezones,
    TZ_NAME * names,
    const  TZ_DATA * tzd
) 

function tz_write_query_string

static QUERY_BUF * tz_write_query_string (
    QUERY_BUF * query,
    const  char * format,
    ...
) 

function tzc_add_ds_rule

static int tzc_add_ds_rule (
    TZ_RAW_DATA * tzd_raw,
    char * rule_text
) 

function tzc_add_leap_sec

static int tzc_add_leap_sec (
    TZ_RAW_DATA * tzd_raw,
    int year,
    int month,
    int day,
    unsigned  char hour,
    unsigned  char min,
    unsigned  char sec,
    bool corr_minus,
    bool leap_is_rolling
) 

static int tzc_add_link (
    TZ_RAW_DATA * tzd_raw,
    const  char * zone,
    const  char * alias
) 

function tzc_add_offset_rule

static int tzc_add_offset_rule (
    TZ_RAW_ZONE_INFO * zone,
    char * rule_text
) 

function tzc_add_zone

static int tzc_add_zone (
    const  char * zone,
    const  char * coord,
    const  char * code,
    const  char * comments,
    TZ_RAW_DATA * tzd_raw,
    TZ_RAW_ZONE_INFO ** new_zone
) 

function tzc_build_filepath

static void tzc_build_filepath (
    char * path,
    size_t size,
    const  char * dir,
    const  char * filename
) 

function tzc_check_ds_ruleset

static int tzc_check_ds_ruleset (
    const  TZ_DATA * tzd,
    const  TZ_DS_RULESET * ds_rule_set,
    int * ds_changes_cnt
) 

static int tzc_check_links_raw_data (
    TZ_RAW_DATA * tzd_raw
) 

function tzc_check_new_package_validity

static int tzc_check_new_package_validity (
    const  char * input_folder
) 

function tzc_compile_data

static int tzc_compile_data (
    TZ_RAW_DATA * tzd_raw,
    TZ_DATA * tzd
) 

function tzc_compile_ds_rules

static int tzc_compile_ds_rules (
    TZ_RAW_DATA * tzd_raw,
    TZ_DATA * tzd
) 

function tzc_compute_timezone_checksum

static int tzc_compute_timezone_checksum (
    TZ_DATA * tzd,
    TZ_GEN_TYPE type
) 

function tzc_del_unused_raw_data

static int tzc_del_unused_raw_data (
    TZ_RAW_DATA * tzd_raw
) 

function tzc_dump_ds_ruleset

static void tzc_dump_ds_ruleset (
    const  TZ_DATA * tzd,
    const  int ruleset_id
) 

function tzc_dump_one_offset_rule

static void tzc_dump_one_offset_rule (
    const  TZ_DATA * tzd,
    const  TZ_OFFSET_RULE * offset_rule
) 

function tzc_export_timezone_dot_c

static int tzc_export_timezone_dot_c (
    const  TZ_DATA * tzd,
    const  char * tz_C_filepath
) 

function tzc_extend

static int tzc_extend (
    TZ_DATA * tzd
) 

function tzc_find_country_names

static int tzc_find_country_names (
    const  TZ_COUNTRY * countries,
    const  int country_count,
    const  char * country_name
) 

function tzc_find_timezone_names

static int tzc_find_timezone_names (
    const  TZ_DATA * tzd,
    const  char * timezone_name
) 

function tzc_free_raw_data

static void tzc_free_raw_data (
    TZ_RAW_DATA * tzd_raw
) 

function tzc_free_tz_data

static void tzc_free_tz_data (
    TZ_DATA * tzd,
    bool full
) 

function tzc_get_ds_ruleset_by_name

static int tzc_get_ds_ruleset_by_name (
    const  TZ_DS_RULESET * ds_rulesets,
    int ds_ruleset_count,
    const  char * ruleset
) 

function tzc_get_timezone_aliases

static int tzc_get_timezone_aliases (
    const  TZ_DATA * tzd,
    const  int zone_id,
    int ** aliases,
    int * alias_count
) 

function tzc_get_timezones_dot_c_filepath

static void tzc_get_timezones_dot_c_filepath (
    size_t size,
    char * timezones_dot_c_file_path
) 

function tzc_get_zone

static int tzc_get_zone (
    const  TZ_RAW_DATA * tzd_raw,
    const  char * zone_name,
    TZ_RAW_ZONE_INFO ** zone
) 

function tzc_import_old_data

static int tzc_import_old_data (
    TZ_RAW_DATA * tzd_raw,
    const  TZ_GEN_TYPE mode
) 

function tzc_index_data

static int tzc_index_data (
    TZ_RAW_DATA * tzd_raw,
    const  TZ_GEN_TYPE mode
) 

function tzc_index_raw_data

static void tzc_index_raw_data (
    TZ_RAW_DATA * tzd_raw
) 

function tzc_index_raw_data_w_static

static int tzc_index_raw_data_w_static (
    TZ_RAW_DATA * tzd_raw,
    const  TZ_GEN_TYPE mode
) 

function tzc_index_raw_subdata

static int tzc_index_raw_subdata (
    TZ_RAW_DATA * tzd_raw,
    const  TZ_GEN_TYPE mode
) 

function tzc_is_valid_date

static bool tzc_is_valid_date (
    const  int day,
    const  int month,
    const  int year_start,
    const  int year_end
) 

function tzc_load_backward_zones

static int tzc_load_backward_zones (
    TZ_RAW_DATA * tzd_raw,
    const  char * input_folder
) 

function tzc_load_countries

static int tzc_load_countries (
    TZ_RAW_DATA * tzd_raw,
    const  char * input_folder
) 

function tzc_load_leap_secs

static int tzc_load_leap_secs (
    TZ_RAW_DATA * tzd_raw,
    const  char * input_folder
) 

function tzc_load_raw_data

static int tzc_load_raw_data (
    TZ_RAW_DATA * tzd_raw,
    const  char * input_folder
) 

function tzc_load_rule_file

static int tzc_load_rule_file (
    TZ_RAW_DATA * tzd_raw,
    const  int file_index,
    const  char * input_folder
) 

function tzc_load_zone_names

static int tzc_load_zone_names (
    TZ_RAW_DATA * tzd_raw,
    const  char * input_folder
) 

function tzc_log_error

static void tzc_log_error (
    const  TZ_RAW_CONTEXT * context,
    const  int code,
    const  char * msg1,
    const  char * msg2
) 

function tzc_parse_ds_change_on

static int tzc_parse_ds_change_on (
    TZ_RAW_DS_RULE * dest,
    const  char * str
) 

function tzc_read_time_type

static int tzc_read_time_type (
    const  char * str,
    const  char ** next,
    TZ_TIME_TYPE * time_type
) 

function tzc_sort_raw_data

static void tzc_sort_raw_data (
    TZ_RAW_DATA * tzd_raw
) 

function tzc_summary

static void tzc_summary (
    TZ_RAW_DATA * tzd_raw,
    TZ_DATA * tzd
) 

function tzc_update

static int tzc_update (
    TZ_DATA * tzd,
    const  char * database_name
) 

function tzc_update_internal

static int tzc_update_internal (
    const  char * database_name
) 

Macro Definition Documentation

define ABS

#define ABS (
    i
) `(( i ) >= 0 ? ( i ) : -( i ))`

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 DUPLICATE_STR

#define DUPLICATE_STR (
    a,
    b
) `/* multi line expression */`

define INIT_COUNTRY

#define INIT_COUNTRY (
    dst,
    src
) `/* multi line expression */`

define LOG_TZC_SET_CURRENT_CONTEXT

#define LOG_TZC_SET_CURRENT_CONTEXT (
    tzd_raw,
    f,
    l
) `/* multi line expression */`

define MAX_DS_CHANGES_YEAR

#define MAX_DS_CHANGES_YEAR `1000`

define PATH_PARTIAL_TIMEZONES_FILE

#define PATH_PARTIAL_TIMEZONES_FILE `"timezones/ tzlib / timezones.c"`

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
) `/* multi line expression */`

define QUERY_BUF_INIT_SIZE

#define QUERY_BUF_INIT_SIZE `4096`

define QUERY_BUF_UNIT_SIZE

#define QUERY_BUF_UNIT_SIZE `1024`

define STR_SKIP_LEADING_SPACES

#define STR_SKIP_LEADING_SPACES (
    str
) `/* multi line expression */`

define TZC_CONTEXT

#define TZC_CONTEXT (
    tzd_raw
) `(&(( tzd_raw )->context))`

define TZC_ERR_ADD_ZONE

#define TZC_ERR_ADD_ZONE `-16`

#define TZC_ERR_BAD_TZ_LINK `-3`

define TZC_ERR_CANT_READ_VALUE

#define TZC_ERR_CANT_READ_VALUE `-10`

define TZC_ERR_DS_INVALID_DATE

#define TZC_ERR_DS_INVALID_DATE `-12`

define TZC_ERR_FILE_NOT_ACCESSIBLE

#define TZC_ERR_FILE_NOT_ACCESSIBLE `-13`

define TZC_ERR_GENERIC

#define TZC_ERR_GENERIC `-1`

define TZC_ERR_INVALID_COUNTRY

#define TZC_ERR_INVALID_COUNTRY `-14`

define TZC_ERR_INVALID_DATETIME

#define TZC_ERR_INVALID_DATETIME `-8`

define TZC_ERR_INVALID_DS_RULE

#define TZC_ERR_INVALID_DS_RULE `-9`

define TZC_ERR_INVALID_PACKAGE

#define TZC_ERR_INVALID_PACKAGE `-2`

define TZC_ERR_INVALID_TIME

#define TZC_ERR_INVALID_TIME `-6`

define TZC_ERR_INVALID_VALUE

#define TZC_ERR_INVALID_VALUE `-5`

define TZC_ERR_INVALID_ZONE

#define TZC_ERR_INVALID_ZONE `-15`

define TZC_ERR_LAST_ERROR

#define TZC_ERR_LAST_ERROR `-18`

define TZC_ERR_LINKING_TRUE_ZONES

#define TZC_ERR_LINKING_TRUE_ZONES `-17`

define TZC_ERR_MSG_MAX_SIZE

#define TZC_ERR_MSG_MAX_SIZE `512`

define TZC_ERR_OUT_OF_MEMORY

#define TZC_ERR_OUT_OF_MEMORY `-4`

define TZC_ERR_PARSING_FAILED

#define TZC_ERR_PARSING_FAILED `-11`

define TZC_ERR_ZONE_RULE_UNORDERED

#define TZC_ERR_ZONE_RULE_UNORDERED `-7`

define TZC_LOG_ERROR_1ARG

#define TZC_LOG_ERROR_1ARG (
    context,
    err_code,
    s1
) `tzc_log_error ((context), (err_code), ( s1 ), "")`

define TZC_LOG_ERROR_2ARG

#define TZC_LOG_ERROR_2ARG (
    context,
    err_code,
    s1,
    s2
) `tzc_log_error ((context), (err_code), ( s1 ), ( s2 ))`

define TZ_CAL_ABBREV_SIZE

#define TZ_CAL_ABBREV_SIZE `4`

define TZ_COMMENTS_MAX_SIZE

#define TZ_COMMENTS_MAX_SIZE `92`

define TZ_COORDINATES_MAX_SIZE

#define TZ_COORDINATES_MAX_SIZE `16`

define TZ_FILENAME_MAX_LEN

#define TZ_FILENAME_MAX_LEN `17`

define TZ_MAX_LINE_LEN

#define TZ_MAX_LINE_LEN `512`

define TZ_OFFRULE_PREFIX_TAB_COUNT

#define TZ_OFFRULE_PREFIX_TAB_COUNT `3`

define TZ_RULE_LETTER_ABBREV_MAX_SIZE

#define TZ_RULE_LETTER_ABBREV_MAX_SIZE `8`

define TZ_RULE_TYPE_MAX_SIZE

#define TZ_RULE_TYPE_MAX_SIZE `4`

define strlen

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


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