Fixed but in cf_commit_flat.
authorAdam Dickmeiss <adam@indexdata.dk>
Fri, 7 Aug 1998 15:07:13 +0000 (15:07 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Fri, 7 Aug 1998 15:07:13 +0000 (15:07 +0000)
bfile/cfile.c
bfile/cfile.h
bfile/commit.c

index 2c5d06b..6f35a2e 100644 (file)
@@ -1,10 +1,13 @@
 /*
- * Copyright (C) 1995, Index Data I/S 
+ * Copyright (C) 1995-1998, Index Data
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: cfile.c,v $
- * Revision 1.19  1997-02-12 20:37:17  adam
+ * Revision 1.20  1998-08-07 15:07:13  adam
+ * Fixed but in cf_commit_flat.
+ *
+ * Revision 1.19  1997/02/12 20:37:17  adam
  * Changed the messages logged. No real code changed.
  *
  * Revision 1.18  1996/10/29 13:56:15  adam
index 9ee9714..5f21846 100644 (file)
@@ -1,10 +1,13 @@
 /*
- * Copyright (C) 1995, Index Data I/S 
+ * Copyright (C) 1995-1998, Index Data
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: cfile.h,v $
- * Revision 1.8  1996-04-18 16:02:56  adam
+ * Revision 1.9  1998-08-07 15:07:15  adam
+ * Fixed but in cf_commit_flat.
+ *
+ * Revision 1.8  1996/04/18 16:02:56  adam
  * Changed logging a bit.
  * Removed warning message when commiting flat shadow files.
  *
 #define HASH_BUCKET 15
 
 struct CFile_hash_bucket {
-    struct CFile_ph_bucket {
-        int no[HASH_BUCKET];
-        int vno[HASH_BUCKET];
-        int this_bucket;
-        int next_bucket;
+    struct CFile_ph_bucket {     /* structure on disc */
+        int no[HASH_BUCKET];     /* block number in original file */
+        int vno[HASH_BUCKET];    /* block number in shadow file */
+        int this_bucket;         /* this bucket number */
+        int next_bucket;         /* next bucket number */
     } ph;
     int dirty;
     struct CFile_hash_bucket *h_next, **h_prev;
@@ -57,13 +60,13 @@ struct CFile_hash_bucket {
 typedef struct CFile_struct
 {
     struct CFile_head {
-        int state;
-        int next_block;
-        int block_size;
-        int hash_size;
-        int first_bucket;
-        int next_bucket;
-        int flat_bucket;
+        int state;               /* 1 = hash, 2 = flat */
+        int next_block;          /* next free block / last block */
+        int block_size;          /* mfile/bfile block size */
+        int hash_size;           /* no of chains in hash table */
+        int first_bucket;        /* first hash bucket */
+        int next_bucket;         /* last hash bucket + 1 = first flat bucket */
+        int flat_bucket;         /* last flat bucket + 1 */
     } head;
     MFile block_mf;
     MFile hash_mf;
index cf8afff..f2816a5 100644 (file)
@@ -1,10 +1,13 @@
 /*
- * Copyright (C) 1995, Index Data I/S 
+ * Copyright (C) 1995-1998, Index Data
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: commit.c,v $
- * Revision 1.13  1996-10-29 13:56:16  adam
+ * Revision 1.14  1998-08-07 15:07:16  adam
+ * Fixed but in cf_commit_flat.
+ *
+ * Revision 1.13  1996/10/29 13:56:16  adam
  * Include of zebrautl.h instead of alexutil.h.
  *
  * Revision 1.12  1996/04/24 13:29:16  adam
@@ -221,11 +224,8 @@ static void cf_commit_flat (CFile cf)
     fp = xmalloc (HASH_BSIZE);
     for (hno = cf->head.next_bucket; hno < cf->head.flat_bucket; hno++)
     {
-        if (hno == cf->head.flat_bucket-1)
-        {
-            for (i = 0; i < (HASH_BSIZE/sizeof(int)); i++)
-                fp[i] = 0;
-        }
+       for (i = 0; i < (HASH_BSIZE/sizeof(int)); i++)
+           fp[i] = 0;
         if (!mf_read (cf->hash_mf, hno, 0, 0, fp) &&
             hno != cf->head.flat_bucket-1)
         {