X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fdatabase.c;h=e7750b6ed252ec436bcb78b249c1fe102020659d;hb=2cbece6401b2279497293e6dc54cda607f49db2f;hp=b710015fde503e403d4d9d4653a30eede1a18895;hpb=82da33b61c3e2dd2937db17b75b2838188793053;p=chise%2Fxemacs-chise.git- diff --git a/src/database.c b/src/database.c index b710015..e7750b6 100644 --- a/src/database.c +++ b/src/database.c @@ -53,7 +53,7 @@ typedef uint64_t u_int64_t; #endif /* WE_DONT_NEED_QUADS */ #endif /* HAVE_INTTYPES_H */ #endif /* !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1) */ -#include DB_H_PATH /* Berkeley db's header file */ +#include DB_H_FILE /* Berkeley db's header file */ #ifndef DB_VERSION_MAJOR # define DB_VERSION_MAJOR 1 #endif /* DB_VERSION_MAJOR */ @@ -75,9 +75,6 @@ Lisp_Object Vdatabase_coding_system; Lisp_Object Qdatabasep; -struct Lisp_Database; -typedef struct Lisp_Database Lisp_Database; - typedef struct { Lisp_Object (*get_subtype) (Lisp_Database *); @@ -489,7 +486,7 @@ berkdb_map (Lisp_Database *db, Lisp_Object func) status == 0; status = dbp->seq (dbp, &keydatum, &valdatum, R_NEXT)) { - /* ### Needs mule-izing */ + /* #### Needs mule-izing */ key = make_string ((Bufbyte *) keydatum.data, keydatum.size); val = make_string ((Bufbyte *) valdatum.data, valdatum.size); call2 (func, key, val); @@ -502,12 +499,12 @@ berkdb_map (Lisp_Database *db, Lisp_Object func) status = dbp->cursor (dbp, NULL, &dbcp, 0); #else status = dbp->cursor (dbp, NULL, &dbcp); -#endif +#endif for (status = dbcp->c_get (dbcp, &keydatum, &valdatum, DB_FIRST); status == 0; status = dbcp->c_get (dbcp, &keydatum, &valdatum, DB_NEXT)) { - /* ### Needs mule-izing */ + /* #### Needs mule-izing */ key = make_string ((Bufbyte *) keydatum.data, keydatum.size); val = make_string ((Bufbyte *) valdatum.data, valdatum.size); call2 (func, key, val); @@ -581,7 +578,9 @@ and defaults to 0755. file = Fexpand_file_name (file, Qnil); UNGCPRO; - GET_C_CHARPTR_EXT_FILENAME_DATA_ALLOCA (XSTRING_DATA (file), filename); + TO_EXTERNAL_FORMAT (LISP_STRING, file, + C_STRING_ALLOCA, filename, + Qfile_name); if (NILP (access_)) { @@ -760,6 +759,8 @@ each key and value in the database. void syms_of_database (void) { + INIT_LRECORD_IMPLEMENTATION (database); + defsymbol (&Qdatabasep, "databasep"); #ifdef HAVE_DBM defsymbol (&Qdbm, "dbm");