static Lisp_Database * allocate_database (void) { Lisp_Database *db = alloc_lcrecord_type (Lisp_Database, &lrecord_database); db->fname = Qnil; db->live_p = 0; #ifdef HAVE_BERKELEY_DB db->db_handle = NULL; #endif #ifdef HAVE_DBM db->dbm_handle = NULL; #endif db->access_ = 0; db->mode = 0; db->dberrno = 0; #ifdef MULE db->coding_system = Fget_coding_system (Qbinary); #endif return db; }
#define DFC_CHECK_DATA(ptr,len, constant_string) do { \ assert ((len) == sizeof (constant_string) - 1); \ assert (!memcmp (ptr, constant_string, len)); \ } while (0) /* Macro version that includes the trailing NULL byte. */ #define DFC_CHECK_DATA_NUL(ptr,len,constant_string) do {\ assert ((len) == sizeof (constant_string)); \ assert (!memcmp (ptr, constant_string, len)); \ } while (0) #ifdef MULE ptr = NULL, len = rand(); TO_EXTERNAL_FORMAT(DATA, (int_latin2, sizeof(int_latin2)), ALLOCA, (ptr, len), Fget_coding_system(intern("iso-8859-2"))); DFC_CHECK_DATA_NUL(ptr, len, ext_latin); ptr = NULL, len = rand(); TO_EXTERNAL_FORMAT(LISP_STRING, string_latin2, ALLOCA, (ptr, len), Fget_coding_system(intern("iso-8859-2"))); DFC_CHECK_DATA(ptr, len, ext_latin); ptr = NULL, len = rand(); TO_EXTERNAL_FORMAT(LISP_STRING, string_latin1, ALLOCA, (ptr, len), Fget_coding_system(intern("iso-8859-2"))); DFC_CHECK_DATA(ptr, len, ext_latin12); ptr = NULL, len = rand();