(char_table_open_db_maybe): Use `chise_ds_get_feature' instead of
[chise/xemacs-chise.git] / src / chartab.c
index cd96c92..0c6e168 100644 (file)
@@ -3353,6 +3353,7 @@ open_chise_data_source_maybe ()
   if (default_chise_data_source == NULL)
     {
       Lisp_Object db_dir = Vexec_directory;
+      int modemask = 0755;             /* rwxr-xr-x */
 
       if (NILP (db_dir))
        db_dir = build_string ("../lib-src");
@@ -3360,7 +3361,8 @@ open_chise_data_source_maybe ()
 
       default_chise_data_source
        = chise_open_data_source (CHISE_DS_Berkeley_DB,
-                                 XSTRING_DATA (db_dir));
+                                 XSTRING_DATA (db_dir),
+                                 DB_HASH, modemask);
       if (default_chise_data_source == NULL)
        return -1;
     }
@@ -3390,25 +3392,14 @@ char_table_open_db_maybe (Lisp_Char_Table* cit)
   if (!NILP (attribute))
     {
 #ifdef CHISE
-      int modemask;
-      int accessmask = 0;
-      DBTYPE real_subtype;
-
       if (cit->feature_table == NULL)
        {
          if ( open_chise_data_source_maybe () )
            return -1;
 
-         modemask = 0755;              /* rwxr-xr-x */
-         real_subtype = DB_HASH;
-         accessmask = DB_RDONLY;
-
          cit->feature_table
-           = chise_ds_open_feature_table (default_chise_data_source,
-                                          XSTRING_DATA (Fsymbol_name
-                                                        (attribute)),
-                                          real_subtype,
-                                          accessmask, modemask);
+           = chise_ds_get_feature (default_chise_data_source,
+                                   XSTRING_DATA (Fsymbol_name (attribute)));
          if (cit->feature_table == NULL)
            return -1;
        }
@@ -3436,7 +3427,7 @@ char_table_close_db_maybe (Lisp_Char_Table* cit)
 #ifdef CHISE
   if (cit->feature_table != NULL)
     {
-      chise_ft_close (cit->feature_table);
+      /* chise_ft_close (cit->feature_table); */
       cit->feature_table = NULL;
     }
 #else
@@ -3455,7 +3446,8 @@ char_table_get_db (Lisp_Char_Table* cit, Emchar ch)
   Lisp_Object val;
 #ifdef CHISE
   CHISE_Value value;
-  int status = chise_ft_get_value (cit->feature_table, ch, &value);
+  int status
+    = chise_char_load_feature_value (ch, cit->feature_table, &value);
 
   if (!status)
     {
@@ -3678,21 +3670,21 @@ Lisp_Char_Table* char_attribute_table_to_load;
 
 #ifdef CHISE
 int
-load_char_attribute_table_map_func (CHISE_Feature_Table *db,
-                                   CHISE_Char_ID cid,
-                                   CHISE_Value *valdatum);
+load_char_attribute_table_map_func (CHISE_Char_ID cid,
+                                   CHISE_Feature feature,
+                                   CHISE_Value *value);
 int
-load_char_attribute_table_map_func (CHISE_Feature_Table *db,
-                                   CHISE_Char_ID cid,
-                                   CHISE_Value *valdatum)
+load_char_attribute_table_map_func (CHISE_Char_ID cid,
+                                   CHISE_Feature feature,
+                                   CHISE_Value *value)
 {
   Emchar code = cid;
   Lisp_Object ret = get_char_id_table_0 (char_attribute_table_to_load, code);
 
   if (EQ (ret, Qunloaded))
     put_char_id_table_0 (char_attribute_table_to_load, code,
-                        Fread (make_string ((Bufbyte *) valdatum->data,
-                                            valdatum->size)));
+                        Fread (make_string ((Bufbyte *) value->data,
+                                            value->size)));
   return 0;
 }
 #else
@@ -3735,8 +3727,9 @@ Load values of ATTRIBUTE into database file.
 
        GCPRO1 (table);
 #ifdef CHISE
-       chise_ft_iterate (cit->feature_table,
-                         &load_char_attribute_table_map_func);
+       chise_char_feature_value_iterate
+         (cit->feature_table,
+          &load_char_attribute_table_map_func);
 #else
        Fmap_database (Qload_char_attribute_table_map_function, cit->db);
 #endif