int
main (int argc, char* argv[])
{
- CHISE_DS ds;
- CHISE_Decoding_Table dt_daikanwa;
- CHISE_Feature_Table ft_ideographic_structure;
- CHISE_Feature_Table ft_ascii;
+ CHISE_DS *ds;
+ CHISE_Decoding_Table *dt_daikanwa;
+ CHISE_Feature_Table *ft_ideographic_structure;
+ CHISE_Feature_Table *ft_ascii;
int modemask;
int accessmask = 0;
DBTYPE real_subtype;
CHISE_Value value;
/* open a data-source */
- status = chise_open_data_source (&ds, CHISE_DS_Berkeley_DB, db_dir);
- if (status)
+ ds = chise_open_data_source (CHISE_DS_Berkeley_DB, db_dir);
+ if (ds == NULL)
{
- chise_close_data_source (&ds);
return -1;
}
accessmask = DB_RDONLY;
/* setup a decoding-table */
- status = chise_open_decoding_table (&dt_daikanwa, &ds,
- "=daikanwa",
- real_subtype,
- accessmask, modemask);
- if (status)
+ dt_daikanwa
+ = chise_ds_open_decoding_table (ds, "=daikanwa",
+ real_subtype, accessmask, modemask);
+ if (dt_daikanwa == NULL)
{
- chise_close_decoding_table (&dt_daikanwa);
- chise_close_data_source (&ds);
+ chise_ds_close (ds);
return -1;
}
/* get a character from the decoding-table */
- char_id = chise_dt_get_char (&dt_daikanwa, 364);
+ char_id = chise_dt_get_char (dt_daikanwa, 364);
/* close the decoding-table */
- chise_close_decoding_table (&dt_daikanwa);
+ chise_dt_close (dt_daikanwa);
/*
*/
/* setup a feature-table */
- status = chise_open_feature_table (&ft_ideographic_structure, &ds,
- "ideographic-structure",
- real_subtype, accessmask, modemask);
- if (status)
+ ft_ideographic_structure
+ = chise_ds_open_feature_table (ds, "ideographic-structure",
+ real_subtype, accessmask, modemask);
+ if (ft_ideographic_structure == NULL)
{
- chise_close_feature_table (&ft_ideographic_structure);
- chise_close_data_source (&ds);
+ chise_ds_close (ds);
return -1;
}
/* setup a feature-table */
- status = chise_open_feature_table (&ft_ascii, &ds,
- "ascii",
- real_subtype, accessmask, modemask);
- if (status)
+ ft_ascii = chise_ds_open_feature_table (ds, "ascii",
+ real_subtype, accessmask, modemask);
+ if (ft_ascii == NULL)
{
- chise_close_feature_table (&ft_ascii);
- chise_close_data_source (&ds);
+ chise_ds_close (ds);
return -1;
}
/* get a feature-value of the character */
- status = chise_ft_get_value (&ft_ideographic_structure, char_id, &value);
+ status = chise_ft_get_value (ft_ideographic_structure, char_id, &value);
if (!status)
printf ("#x%X => %s\n", char_id, chise_value_to_c_string(&value));
else
printf ("#x%X (%d)\n", char_id, status);
- chise_ft_iterate (&ft_ascii, &test_map_func);
- chise_ft_iterate (&ft_ideographic_structure, &test_map_func);
+ chise_ft_iterate (ft_ascii, &test_map_func);
+ chise_ft_iterate (ft_ideographic_structure, &test_map_func);
/* close the feature-table */
- chise_close_feature_table (&ft_ideographic_structure);
-
- chise_close_feature_table (&ft_ascii);
-
+ chise_ft_close (ft_ideographic_structure);
+ chise_ft_close (ft_ascii);
/* close the data-source */
- chise_close_data_source (&ds);
+ chise_ds_close (ds);
}