-/* $Id: sortidx.c,v 1.13 2005-01-15 19:38:27 adam Exp $
- Copyright (C) 1995-2005
+/* $Id: sortidx.c,v 1.18 2006-08-14 10:40:15 adam Exp $
+ Copyright (C) 1995-2006
Index Data ApS
This file is part of the Zebra server.
for more details.
You should have received a copy of the GNU General Public License
-along with Zebra; see the file LICENSE.zebra. If not, write to the
-Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
*/
-
+#include <assert.h>
#include <string.h>
#include <yaz/log.h>
#include <yaz/xmalloc.h>
#include <idzebra/bfile.h>
#include <sortidx.h>
+#include "recindex.h"
#define SORT_IDX_BLOCKSIZE 64
void sortIdx_sysno (SortIdx si, SYSNO sysno)
{
- si->sysno = sysno;
+ si->sysno = rec_sysno_to_int(sysno);
}
void sortIdx_add (SortIdx si, const char *buf, int len)
void sortIdx_read (SortIdx si, char *buf)
{
- int r = bf_read (si->current_file->bf, si->sysno+1, 0, 0, buf);
+ int r;
+
+ assert(si->current_file);
+ r = bf_read (si->current_file->bf, si->sysno+1, 0, 0, buf);
if (!r)
memset (buf, 0, SORT_IDX_ENTRYSIZE);
}
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+