From 260110f86881af35eecd7fe3ac9dfdda5615a365 Mon Sep 17 00:00:00 2001 From: Sebastian Hammer Date: Wed, 28 Sep 1994 11:29:28 +0000 Subject: [PATCH] Added cmp parameter. --- include/isam.h | 8 ++++++-- isam/isam.c | 10 +++++++--- isam/physical.c | 10 ++++------ 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/include/isam.h b/include/isam.h index 3b694bd..5dcf571 100644 --- a/include/isam.h +++ b/include/isam.h @@ -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. diff --git a/isam/isam.c b/isam/isam.c index 3ae755c..0d37142 100644 --- a/isam/isam.c +++ b/isam/isam.c @@ -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; } diff --git a/isam/physical.c b/isam/physical.c index ae1f584..312d3e2 100644 --- a/isam/physical.c +++ b/isam/physical.c @@ -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. */ -- 1.7.10.4