Added cmp parameter.
authorSebastian Hammer <quinn@indexdata.com>
Wed, 28 Sep 1994 11:29:28 +0000 (11:29 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Wed, 28 Sep 1994 11:29:28 +0000 (11:29 +0000)
include/isam.h
isam/isam.c
isam/physical.c

index 3b694bd..5dcf571 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: isam.h,v $
- * Revision 1.5  1994-09-27 20:03:36  quinn
+ * Revision 1.6  1994-09-28 11:29:28  quinn
+ * Added cmp parameter.
+ *
+ * Revision 1.5  1994/09/27  20:03:36  quinn
  * Seems relatively bug-free.
  *
  * Revision 1.4  1994/09/26  17:05:54  quinn
@@ -85,7 +88,8 @@ typedef struct ispt_struct
 /*
  * Open isam file.
  */
-ISAM is_open(const char *name, int writeflag);
+ISAM is_open(const char *name, int (*cmp)(const void *p1, const void *p2),
+    int writeflag);
 
 /*
  * Close isam file.
index 3ae755c..0d37142 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: isam.c,v $
- * Revision 1.5  1994-09-27 20:03:50  quinn
+ * Revision 1.6  1994-09-28 11:29:33  quinn
+ * Added cmp parameter.
+ *
+ * Revision 1.5  1994/09/27  20:03:50  quinn
  * Seems relatively bug-free.
  *
  * Revision 1.4  1994/09/26  17:11:29  quinn
@@ -56,7 +59,8 @@ static int splitargs(const char *s, char *bf[], int max)
  * Open isam file.
  * Process resources.
  */
-ISAM is_open(const char *name, int writeflag)
+ISAM is_open(const char *name, int (*cmp)(const void *p1, const void *p2),
+    int writeflag)
 {
     ISAM new;
     char *nm, *r, *pp[IS_MAX_BLOCKTYPES+1], m[2];
@@ -217,7 +221,7 @@ ISAM is_open(const char *name, int writeflag)
                new->types[i].nice_keys_block = 1;
     }
 
-    new->cmp = is_default_cmp;
+    new->cmp = cmp ? cmp : is_default_cmp;
     return new;
 }
 
index ae1f584..312d3e2 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: physical.c,v $
- * Revision 1.4  1994-09-27 20:03:53  quinn
+ * Revision 1.5  1994-09-28 11:29:33  quinn
+ * Added cmp parameter.
+ *
+ * Revision 1.4  1994/09/27  20:03:53  quinn
  * Seems relatively bug-free.
  *
  * Revision 1.3  1994/09/26  17:11:31  quinn
@@ -160,11 +163,6 @@ void is_p_sync(is_mtable *tab)
     type = &tab->is->types[tab->pos_type];
     for (p = tab->data; p; p = p->next)
     {
-    int fummy;
-/*
-if (p->num_records == 0)
-       fummy = 1/0;
-*/
        if (p->state < IS_MBSTATE_DIRTY)
            continue;
        /* make sure that blocks are allocated. */