[elephant-cvs] CVS elephant/src/db-bdb

ieslick ieslick at common-lisp.net
Tue Jan 16 18:02:27 UTC 2007


Update of /project/elephant/cvsroot/elephant/src/db-bdb
In directory clnet:/tmp/cvs-serv771

Modified Files:
	libberkeley-db.c 
Log Message:

Fixed build errors in db-bdb C interface file.  This file is
not yet complete for serializer2



--- /project/elephant/cvsroot/elephant/src/db-bdb/libberkeley-db.c	2006/12/16 19:35:10	1.2
+++ /project/elephant/cvsroot/elephant/src/db-bdb/libberkeley-db.c	2007/01/16 18:02:27	1.3
@@ -67,7 +67,7 @@
 /* Pointer arithmetic utility functions */
 /* should these be in network-byte order? probably not..... */
 int read_int(char *buf, int offset) {
-  int int;
+  int i;
   memcpy(&i, buf+offset, sizeof(int));
   return i;
 }
@@ -79,7 +79,7 @@
 }
 
 int32_t read_int32(char *buf, int offset) {
-  int int32_t;
+  int32_t i;
   memcpy(&i, buf+offset, sizeof(int32_t));
   return i;
 }
@@ -119,7 +119,7 @@
   memcpy(buf+offset, &num, sizeof(int));
 }
 
-void write_uint(char *buf, unsighed int num, int offset) {
+void write_uint(char *buf, unsigned int num, int offset) {
   memcpy(buf+offset, &num, sizeof(unsigned int));
 }
 
@@ -277,6 +277,7 @@
 
 double read_num(char *buf);
 int case_cmp(const char *a, int32_t length1, const char *b, int32_t length2);
+int wcs_cmp(const wchar_t *a, int32_t length1, const wchar_t *b, int32_t length2);
 int lex_cmp(const char *a, int32_t length1, const char *b, int32_t length2);
 int utf16_cmp(const char *s1, int32_t length1, 
 	      const char *s2, int32_t length2);
@@ -316,7 +317,7 @@
   }
 
   /* Compare types. */
-  if 
+  /* ISE: need extra conditional here...forget why, so research it */
   difference = at - bt;
   if (difference) return difference;
 
@@ -335,7 +336,7 @@
   case 20:
   case 21:
   case 22:
-    return wcs_cmp(ad+9, read_int(ad, 5), bd+9, read_int(bd, 5)); 
+    return wcs_cmp((wchar_t*)ad+9, read_int(ad, 5), (wchar_t*)bd+9, read_int(bd, 5)); 
   default:
     return lex_cmp(ad+5, (a->size)-5, bd+5, (b->size)-5);
   }
@@ -368,33 +369,37 @@
 
   /* Compare numerics. */
   if (type_numeric2(at) && type_numeric2(bt)) {
-    ddifference = read_num2(ad+4) - read_num2(bd+4);
+    /* ddifference = read_num2(ad+4) - read_num2(bd+4); */
+    ddifference = read_num(ad+4) - read_num(bd+4);
     if (ddifference > 0) return 1;
     else if (ddifference < 0) return -1;
     return 0;
   }
 
   /* Compare types. */
-  if 
+  /* ISE: need extra conditional here...forget why, so research it */
   difference = at - bt;
   if (difference) return difference;
 
-  ;; TODO: compare strings of different sizes?
-  ;; TODO: compare symbol-ids?
+  /* TODO: compare strings of different sizes? */
+  /* TODO: compare symbol-ids? */
   
   /* Same type! */
   switch (at) {
-  case #x3F: /* nil */
+  case 0x3F: /* nil */
     return 0;
   case 9: /* 8-bit string */
+    return case_cmp(ad+9, read_int32(ad, 5), bd+9, read_int32(bd, 5));
+    /* ISE: Why did I do this?
     if( bt == 9 )
       return case_cmp(ad+9, read_int32(ad, 5), bd+9, read_int32(bd, 5));
     else 
       return full_cmp(ad+9, read_int32(ad, 5), bd+9, read_int32(bd, 5))
+    */
   case 10: /* 16-bit string */
     return utf16_cmp(ad+9, read_int32(ad, 5), bd+9, read_int32(bd, 5));
   case 11:
-    return wcs_cmp(ad+9, read_int32(ad, 5), bd+9, read_int32(bd, 5)); 
+    return wcs_cmp((wchar_t*)ad+9, read_int32(ad, 5), (wchar_t*)bd+9, read_int32(bd, 5)); 
   default:
     return lex_cmp(ad+5, (a->size)-5, bd+5, (b->size)-5);
   }
@@ -866,8 +871,8 @@
 }
 
 void db_multiple_key_next(void *pointer, DBT *data,
-			  char **key, u_int32_t *ret_key_size,
-			  char **result, u_int32_t *result_size) {
+			  unsigned char **key, u_int32_t *ret_key_size,
+			  unsigned char **result, u_int32_t *result_size) {
   DB_MULTIPLE_KEY_NEXT(pointer, data, 
 		       *key, *ret_key_size, 
 		       *result, *result_size);
@@ -875,7 +880,7 @@
 
 /* Transactions */
 
-DB_TXN * db_txn_begin(DB_ENV *env, DB_TXN *parent, 
+DB_TXN *db_txn_begin(DB_ENV *env, DB_TXN *parent, 
 		      u_int32_t flags, int *errno) {
   DB_TXN * p;
   *errno = env->txn_begin(env, parent, &p, flags);




More information about the Elephant-cvs mailing list