diff src/database.c @ 4985:358aa3bb603f

Automatic merge
author Ben Wing <ben@xemacs.org>
date Fri, 05 Feb 2010 12:12:28 -0600
parents 4aebb0131297
children 97c45e3ad810
line wrap: on
line diff
--- a/src/database.c	Fri Feb 05 12:11:12 2010 -0600
+++ b/src/database.c	Fri Feb 05 12:12:28 2010 -0600
@@ -340,9 +340,8 @@
 {
   datum keydatum, valdatum;
 
-  TO_EXTERNAL_FORMAT (LISP_STRING, key,
-		      ALLOCA, (keydatum.dptr, keydatum.dsize),
-		      db->coding_system);
+  LISP_STRING_TO_SIZED_EXTERNAL (key, keydatum.dptr, keydatum.dsize,
+				 db->coding_system);
   valdatum = dbm_fetch (db->dbm_handle, keydatum);
 
   return (valdatum.dptr
@@ -357,12 +356,10 @@
 {
   datum keydatum, valdatum;
 
-  TO_EXTERNAL_FORMAT (LISP_STRING, val,
-		      ALLOCA, (valdatum.dptr, valdatum.dsize),
-		      db->coding_system);
-  TO_EXTERNAL_FORMAT (LISP_STRING, key,
-		      ALLOCA, (keydatum.dptr, keydatum.dsize),
-		      db->coding_system);
+  LISP_STRING_TO_SIZED_EXTERNAL (val, valdatum.dptr, valdatum.dsize,
+				 db->coding_system);
+  LISP_STRING_TO_SIZED_EXTERNAL (key, keydatum.dptr, keydatum.dsize,
+				 db->coding_system);
 
   return !dbm_store (db->dbm_handle, keydatum, valdatum,
 		     NILP (replace) ? DBM_INSERT : DBM_REPLACE);
@@ -373,9 +370,8 @@
 {
   datum keydatum;
 
-  TO_EXTERNAL_FORMAT (LISP_STRING, key,
-		      ALLOCA, (keydatum.dptr, keydatum.dsize),
-		      db->coding_system);
+  LISP_STRING_TO_SIZED_EXTERNAL (key, keydatum.dptr, keydatum.dsize,
+				 db->coding_system);
 
   return dbm_delete (db->dbm_handle, keydatum);
 }
@@ -462,9 +458,8 @@
   xzero (keydatum);
   xzero (valdatum);
 
-  TO_EXTERNAL_FORMAT (LISP_STRING, key,
-		      ALLOCA, (keydatum.data, keydatum.size),
-		      db->coding_system);
+  LISP_STRING_TO_SIZED_EXTERNAL (key, keydatum.data, keydatum.size,
+				 db->coding_system);
 
 #if DB_VERSION_MAJOR == 1
   status = db->db_handle->get (db->db_handle, &keydatum, &valdatum, 0);
@@ -498,12 +493,10 @@
   xzero (keydatum);
   xzero (valdatum);
 
-  TO_EXTERNAL_FORMAT (LISP_STRING, key,
-		      ALLOCA, (keydatum.data, keydatum.size),
-		      db->coding_system);
-  TO_EXTERNAL_FORMAT (LISP_STRING, val,
-		      ALLOCA, (valdatum.data, valdatum.size),
-		      db->coding_system);
+  LISP_STRING_TO_SIZED_EXTERNAL (key, keydatum.data, keydatum.size,
+				 db->coding_system);
+  LISP_STRING_TO_SIZED_EXTERNAL (val, valdatum.data, valdatum.size,
+				 db->coding_system);
 #if DB_VERSION_MAJOR == 1
   status = db->db_handle->put (db->db_handle, &keydatum, &valdatum,
  			       NILP (replace) ? R_NOOVERWRITE : 0);
@@ -526,9 +519,8 @@
   /* DB Version 2 requires DBT's to be zeroed before use. */
   xzero (keydatum);
 
-  TO_EXTERNAL_FORMAT (LISP_STRING, key,
-		      ALLOCA, (keydatum.data, keydatum.size),
-		      db->coding_system);
+  LISP_STRING_TO_SIZED_EXTERNAL (key, keydatum.data, keydatum.size,
+				 db->coding_system);
 
 #if DB_VERSION_MAJOR == 1
   status = db->db_handle->del (db->db_handle, &keydatum, 0);
@@ -653,7 +645,7 @@
   int modemask;
   int accessmask = 0;
   Lisp_Database *db = NULL;
-  char *filename;
+  Extbyte *filename;
   struct gcpro gcpro1, gcpro2;
 
   CHECK_STRING (file);
@@ -661,9 +653,7 @@
   file = Fexpand_file_name (file, Qnil);
   UNGCPRO;
 
-  TO_EXTERNAL_FORMAT (LISP_STRING, file,
-		      C_STRING_ALLOCA, filename,
-		      Qfile_name);
+  LISP_PATHNAME_CONVERT_OUT (file, filename);
 
   if (NILP (access_))
     {
@@ -671,16 +661,16 @@
     }
   else
     {
-      char *acc;
+      Ibyte *acc;
       CHECK_STRING (access_);
-      acc = (char *) XSTRING_DATA (access_);
+      acc = XSTRING_DATA (access_);
 
-      if (strchr (acc, '+'))
+      if (qxestrchr (acc, '+'))
 	accessmask |= O_CREAT;
 
       {
-	char *rp = strchr (acc, 'r');
-	char *wp = strchr (acc, 'w');
+	int rp = !!qxestrchr (acc, 'r');
+	int wp = !!qxestrchr (acc, 'w');
 	if (rp && wp) accessmask |= O_RDWR;
 	else if (wp)  accessmask |= O_WRONLY;
 	else          accessmask |= O_RDONLY;