chiark / gitweb /
lookup wip; see cvs diff from 1.12 before checkin
authorian <ian>
Sun, 5 Feb 2006 14:00:47 +0000 (14:00 +0000)
committerian <ian>
Sun, 5 Feb 2006 14:00:47 +0000 (14:00 +0000)
cdb/writeable.c

index 3613a7b8084642d31c807fde215590f20caf00b1..14d81adbf410a6ad590c0866881e99544dda7aec 100644 (file)
@@ -92,15 +92,14 @@ static void ht_maybeupdate(HashTable *ht, const char *key,
   Tcl_SetHashValue(he, val_eat);
 }
 
   Tcl_SetHashValue(he, val_eat);
 }
 
-static fixme ht_lookup(HashTable *ht, const char *key) {
+static const HashValue *ht_lookup(HashTable *ht, const char *key) {
   Tcl_HashEntry *he;
   const HashValue *htv;
   
   he= Tcl_FindHashEntry(ht, key);
   Tcl_HashEntry *he;
   const HashValue *htv;
   
   he= Tcl_FindHashEntry(ht, key);
-  if (!he) return notfound;
-  
-  htv= Tcl_GetHashValue(he);
+  if (!he) return 0;
   
   
+  return Tcl_GetHashValue(he);
 }
 
 static int ht_forall(HashTable *ht,
 }
 
 static int ht_forall(HashTable *ht,
@@ -849,7 +848,14 @@ int cht_do_cdbwr_delete(ClientData cd, Tcl_Interp *ip, void *rw_v,
 /*---------- Lookups ----------*/
 
 static int lookup(Tcl_Interp *ip, Rw *rw, const char *key, ) {
 /*---------- Lookups ----------*/
 
 static int lookup(Tcl_Interp *ip, Rw *rw, const char *key, ) {
-  ht_lookup(
+  const HashValue val;
+
+  val= ht_lookup(&rw->logincore, key);
+  if (!val) {
+    cdb_ &rw->cdb
+
+    return notfound;
+  
 
 int cht_do_cdbwr_lookup(ClientData cd, Tcl_Interp *ip, void *db,
                        const char *key, Tcl_Obj *def, Tcl_Obj **result) {
 
 int cht_do_cdbwr_lookup(ClientData cd, Tcl_Interp *ip, void *db,
                        const char *key, Tcl_Obj *def, Tcl_Obj **result) {