* Sebastian Hammer, Adam Dickmeiss
*
* $Log: kcompare.c,v $
- * Revision 1.6 1995-09-14 07:48:23 adam
+ * Revision 1.8 1995-09-28 09:19:42 adam
+ * xfree/xmalloc used everywhere.
+ * Extract/retrieve method seems to work for text records.
+ *
+ * Revision 1.7 1995/09/27 12:22:28 adam
+ * More work on extract in record control.
+ * Field name is not in isam keys but in prefix in dictionary words.
+ *
+ * Revision 1.6 1995/09/14 07:48:23 adam
* Record control management.
*
* Revision 1.5 1995/09/11 13:09:34 adam
struct it_key key;
memcpy (&key, p, sizeof(key));
- logf (logmask, "%7d s=%-4d f=%d,%d", key.sysno, key.seqno,
- key.attrSet, key.attrUse);
+ logf (logmask, "%7d s=%-4d", key.sysno, key.seqno);
}
int key_compare (const void *p1, const void *p2)
{
- struct it_key i1, i2;
- memcpy (&i1, p1, sizeof(i1));
- memcpy (&i2, p2, sizeof(i2));
- if (i1.sysno != i2.sysno)
+ const struct it_key *i1 = p1, *i2 = p2;
+ if (i1->sysno != i2->sysno)
{
- if (i1.sysno > i2.sysno)
+ if (i1->sysno > i2->sysno)
return 2;
else
return -2;
}
#if IT_KEY_HAVE_SEQNO
- if (i1.seqno != i2.seqno)
+ if (i1->seqno != i2->seqno)
{
- if (i1.seqno > i2.seqno)
+ if (i1->seqno > i2->seqno)
return 1;
else
return -1;
}
#else
- if (i1.freq != i2.freq)
+ if (i1->freq != i2->freq)
{
- if (i1.freq > i2.freq)
+ if (i1->freq > i2->freq)
return 1;
else
return -1;
}
#endif
- if (i1.attrSet != i2.attrSet)
- {
- if (i1.attrSet > i2.attrSet)
- return 1;
- else
- return -1;
- }
- if (i1.attrUse != i2.attrUse)
- {
- if (i1.attrUse > i2.attrUse)
- return 1;
- else
- return -1;
- }
return 0;
}