-/* $Id: recindex.c,v 1.34 2002-08-02 19:26:55 adam Exp $
+/* $Id: recindex.c,v 1.34.2.2 2005-01-16 23:13:29 adam Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002
Index Data Aps
/*
* Format of first block
* next (4 bytes)
- * ref_count (4 bytes)
- * block (504 bytes)
+ * ref_count (2 bytes)
+ * block (506 bytes)
*
* Format of subsequent blocks
* next (4 bytes)
* (length, data) - pairs
* length = 0 if same as previous
*/
+#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
{
struct record_index_entry entry;
int freeblock;
- char block_and_ref[sizeof(short) + sizeof(int)];
+ char block_and_ref[sizeof(int) + sizeof(short)];
int dst_type;
int first = 1;
while (freeblock)
{
if (bf_read (p->data_BFile[dst_type], freeblock, 0,
- sizeof(block_and_ref), block_and_ref) != 1)
+ first ? sizeof(block_and_ref) : sizeof(int),
+ block_and_ref) != 1)
{
logf (LOG_FATAL|LOG_ERRNO, "read in rec_del_single");
exit (1);