/*
- * 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
/*
- * 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;
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;
/*
- * 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
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)
{