X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=isam%2Fisam.c;h=0d3714207b6d4290ef24f080944c437e8c3992dc;hb=260110f86881af35eecd7fe3ac9dfdda5615a365;hp=3ae755c817fbea961e2c795398ea542b771d282d;hpb=a5545de18b5d3762a1f29569a4b10ca5017506db;p=idzebra-moved-to-github.git 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; }