5217ed96f111c21404f762d7949a37210834cbc3
[idzebra-moved-to-github.git] / index / kcompare.c
1 /*
2  * Copyright (C) 1995, Index Data I/S 
3  * All rights reserved.
4  * Sebastian Hammer, Adam Dickmeiss
5  *
6  * $Log: kcompare.c,v $
7  * Revision 1.1  1995-09-04 09:10:36  adam
8  * More work on index add/del/update.
9  * Merge sort implemented.
10  * Initial work on z39 server.
11  *
12  */
13
14 #include <stdlib.h>
15 #include <string.h>
16 #include <stdio.h>
17 #include <assert.h>
18
19 #include "index.h"
20
21 int key_compare (const void *p1, const void *p2)
22 {
23     struct it_key i1, i2;
24     memcpy (&i1, p1, sizeof(i1));
25     memcpy (&i2, p2, sizeof(i2));
26     if ( i1.sysno != i2.sysno)
27         return i1.sysno - i2.sysno;
28     if ( i1.seqno != i2.seqno)
29         return i1.seqno - i2.seqno;
30     return i1.field - i2.field;
31 }
32
33 int key_compare_x (const struct it_key *i1, const struct it_key *i2)
34 {
35     if ( i1->sysno != i2->sysno)
36         return i1->sysno - i2->sysno;
37     if ( i1->seqno != i2->seqno)
38         return i1->seqno - i2->seqno;
39     return i1->field - i2->field;
40 }
41