home *** CD-ROM | disk | FTP | other *** search
- *** ../ddb.old/binary.c Mon Mar 21 16:59:28 1994
- --- binary.c Mon Jan 10 10:40:45 1994
- ***************
- *** 47,53 ****
- static BINARY *binary = NULL;
- static int maxbinaries = 0;
-
- ! extern void *ddb_new(const DATUM *, const DATUM *, size_t);
-
- extern int errno;
-
- --- 47,53 ----
- static BINARY *binary = NULL;
- static int maxbinaries = 0;
-
- ! extern void *ddb_new(const DATUM *, const DATUM *, size_t, int);
-
- extern int errno;
-
- ***************
- *** 154,160 ****
- BELEM **prev;
-
- if (!validbd(bd) || !validmode(mode)
- ! || (bp_new = ddb_new(key, data, sizeof(*bp_new))) == NULL)
- return -1;
- if (!cmp)
- cmp = ddb_memcmp;
- --- 154,160 ----
- BELEM **prev;
-
- if (!validbd(bd) || !validmode(mode)
- ! || (bp_new = ddb_new(key, data, sizeof(*bp_new), 1)) == NULL)
- return -1;
- if (!cmp)
- cmp = ddb_memcmp;
- *** ../ddb.old/ddb.3 Mon Mar 21 16:59:28 1994
- --- ddb.3 Mon Feb 21 17:00:44 1994
- ***************
- *** 5,11 ****
- .SH SYNOPSIS
- .LP
- .nf
- - .ft B
- #include "ddb.h"
- typedef struct {
- void *addr;
- --- 5,10 ----
- ***************
- *** 14,25 ****
- .sp
- typedef int (*ddb_cmp_t)(const DATUM *key1, const DATUM *key2);
- typedef size_t (*ddb_hash_t)(const char *addr, size_t size, size_t buckets);
- - .ft
- .fi
- .LP
- .nf
- ! .ft B
- Binary Tree Interface
- int ddb_bopen(void);
- int ddb_bclose(int dbd);
- int ddb_bwrite(int dbd, const DATUM *key, const DATUM *data,
- --- 13,24 ----
- .sp
- typedef int (*ddb_cmp_t)(const DATUM *key1, const DATUM *key2);
- typedef size_t (*ddb_hash_t)(const char *addr, size_t size, size_t buckets);
- .fi
- .LP
- .nf
- ! .ft I
- Binary Tree Interface
- + .ft
- int ddb_bopen(void);
- int ddb_bclose(int dbd);
- int ddb_bwrite(int dbd, const DATUM *key, const DATUM *data,
- ***************
- *** 30,41 ****
- DATUM *ddb_bnext(int dbd);
- void ddb_bfunc(int dbd, void (*f)(const DATUM *key, const DATUM *data),
- int order);
- - .ft
- .fi
- .LP
- .nf
- ! .ft B
- Bit Vector Interface
- int ddb_bitopen(unsigned long maxbit);
- int ddb_bitclose(int dbd);
- int ddb_bitwrite(int dbd, unsigned long bit, int flag);
- --- 29,40 ----
- DATUM *ddb_bnext(int dbd);
- void ddb_bfunc(int dbd, void (*f)(const DATUM *key, const DATUM *data),
- int order);
- .fi
- .LP
- .nf
- ! .ft I
- Bit Vector Interface
- + .ft
- int ddb_bitopen(unsigned long maxbit);
- int ddb_bitclose(int dbd);
- int ddb_bitwrite(int dbd, unsigned long bit, int flag);
- ***************
- *** 44,55 ****
- long ddb_bitfirst(int dbd);
- long ddb_bitnext(int dbd);
- int ddb_bitset(int dbd, int on);
- - .ft
- .fi
- .LP
- .nf
- ! .ft B
- Hash Table Interface
- int ddb_hopen(size_t buckets);
- int ddb_hclose(int dbd);
- int ddb_hwrite(int dbd, const DATUM *key, const DATUM *data,
- --- 43,54 ----
- long ddb_bitfirst(int dbd);
- long ddb_bitnext(int dbd);
- int ddb_bitset(int dbd, int on);
- .fi
- .LP
- .nf
- ! .ft I
- Hash Table Interface
- + .ft
- int ddb_hopen(size_t buckets);
- int ddb_hclose(int dbd);
- int ddb_hwrite(int dbd, const DATUM *key, const DATUM *data,
- ***************
- *** 60,71 ****
- ddb_hash_t hash);
- DATUM *ddb_hfirst(int dbd);
- DATUM *ddb_hnext(int dbd);
- - .ft
- .fi
- .LP
- .nf
- ! .ft B
- Linked List Interface
- int ddb_lopen(void);
- int ddb_lclose(int dbd);
- int ddb_lwrite(int dbd, const DATUM *key, const DATUM *data,
- --- 59,70 ----
- ddb_hash_t hash);
- DATUM *ddb_hfirst(int dbd);
- DATUM *ddb_hnext(int dbd);
- .fi
- .LP
- .nf
- ! .ft I
- Linked List Interface
- + .ft
- int ddb_lopen(void);
- int ddb_lclose(int dbd);
- int ddb_lwrite(int dbd, const DATUM *key, const DATUM *data,
- ***************
- *** 74,100 ****
- DATUM *ddb_lread(int dbd, const DATUM *key, ddb_cmp_t cmp);
- DATUM *ddb_lfirst(int dbd);
- DATUM *ddb_lnext(int dbd);
- - .ft
- .fi
- .LP
- .nf
- ! .ft B
- Queue Interface
- int ddb_qopen(void);
- int ddb_qclose(int dbd);
- int ddb_qwrite(int dbd, const DATUM *key);
- DATUM *ddb_qread(int dbd);
- - .ft
- .fi
- .LP
- .nf
- ! .ft B
- Stack Interface
- int ddb_sopen(void);
- int ddb_sclose(int dbd);
- int ddb_swrite(int dbd, const DATUM *key);
- DATUM *ddb_sread(int dbd);
- - .ft
- .fi
- .SH PARAMETERS
- .IP \fIdbd\fP
- --- 73,98 ----
- DATUM *ddb_lread(int dbd, const DATUM *key, ddb_cmp_t cmp);
- DATUM *ddb_lfirst(int dbd);
- DATUM *ddb_lnext(int dbd);
- .fi
- .LP
- .nf
- ! .ft I
- Queue Interface
- + .ft
- int ddb_qopen(void);
- int ddb_qclose(int dbd);
- int ddb_qwrite(int dbd, const DATUM *key);
- DATUM *ddb_qread(int dbd);
- .fi
- .LP
- .nf
- ! .ft I
- Stack Interface
- + .ft
- int ddb_sopen(void);
- int ddb_sclose(int dbd);
- int ddb_swrite(int dbd, const DATUM *key);
- DATUM *ddb_sread(int dbd);
- .fi
- .SH PARAMETERS
- .IP \fIdbd\fP
- ***************
- *** 209,216 ****
- The
- .BR close(\|) ,
- .BR write(\|) ,
- and
- ! .BR delete(\|)
- functions return 0 on success and -1 otherwise.
- .LP
- The
- --- 207,215 ----
- The
- .BR close(\|) ,
- .BR write(\|) ,
- + .BR delete(\|) ,
- and
- ! .BR bitread(\|)
- functions return 0 on success and -1 otherwise.
- .LP
- The
- ***************
- *** 229,234 ****
- --- 228,237 ----
- functions.
- .LP
- Functions returning type pointer\-to\-DATUM return NULL on failure.
- + .LP
- + The
- + .BR bitset(\|)
- + function is used to either set or unset all bits.
- .SH ERRORS
- .LP
- If an
- ***************
- *** 322,329 ****
- .SH NOTES
- The
- .BR ddb_qread(\|)
- ! function
- ! returns a pointer to memory which should be freed when unneeded.
- .LP
- Altering a database and then calling a
- .BR next(\|)
- --- 325,334 ----
- .SH NOTES
- The
- .BR ddb_qread(\|)
- ! and
- ! .BR ddb_sread(\|)
- ! functions
- ! return pointers to memory which should be freed when unneeded.
- .LP
- Altering a database and then calling a
- .BR next(\|)
- *** ../ddb.old/ddb.h Mon Mar 21 16:59:29 1994
- --- ddb.h Tue Jan 11 11:29:29 1994
- ***************
- *** 99,102 ****
- --- 99,120 ----
- extern int ddb_swrite(int, const DATUM *);
- extern DATUM *ddb_sread(int);
-
- + #include <errno.h>
- +
- + #ifndef EBADF
- + #define EBADF 1
- + #endif
- + #ifndef EDOM
- + #define EDOM 2
- + #endif
- + #ifndef EEXIST
- + #define EEXIST 3
- + #endif
- + #ifndef EINVAL
- + #define EINVAL 4
- + #endif
- + #ifndef ENOENT
- + #define ENOENT 5
- + #endif
- +
- #endif /* H_DDB */
- *** ../ddb.old/hash.c Mon Mar 21 16:59:29 1994
- --- hash.c Mon Jan 10 10:41:05 1994
- ***************
- *** 44,50 ****
- static HASHTAB *hashtable = NULL;
- static int maxtables = 0;
-
- ! extern void *ddb_new(const DATUM *, const DATUM *, size_t);
- extern int ddb_memcmp(const DATUM *, const DATUM *);
-
- extern int errno;
- --- 44,50 ----
- static HASHTAB *hashtable = NULL;
- static int maxtables = 0;
-
- ! extern void *ddb_new(const DATUM *, const DATUM *, size_t, int);
- extern int ddb_memcmp(const DATUM *, const DATUM *);
-
- extern int errno;
- ***************
- *** 135,141 ****
-
- if (ptr && action == DDB_DUPLICATE) {
- oldptr = ptr;
- ! if ((ptr = ddb_new(key, data, sizeof(*ptr))) == NULL)
- return NULL;
- ptr->next = oldptr->next;
- oldptr->next = ptr;
- --- 135,141 ----
-
- if (ptr && action == DDB_DUPLICATE) {
- oldptr = ptr;
- ! if ((ptr = ddb_new(key, data, sizeof(*ptr), 1)) == NULL)
- return NULL;
- ptr->next = oldptr->next;
- oldptr->next = ptr;
- ***************
- *** 146,152 ****
- if (oldptr)
- oldptr = hashtable[hd].bucket[hashval];
- if ((ptr = hashtable[hd].bucket[hashval]
- ! = ddb_new(key, data, sizeof(*ptr))) == NULL)
- return NULL;
- ptr->next = oldptr;
- return &ptr->data;
- --- 146,152 ----
- if (oldptr)
- oldptr = hashtable[hd].bucket[hashval];
- if ((ptr = hashtable[hd].bucket[hashval]
- ! = ddb_new(key, data, sizeof(*ptr), 1)) == NULL)
- return NULL;
- ptr->next = oldptr;
- return &ptr->data;
- *** ../ddb.old/list.c Mon Mar 21 16:59:33 1994
- --- list.c Mon Jan 10 10:44:48 1994
- ***************
- *** 22,28 ****
- #include <errno.h>
- #include "ddb.h"
-
- ! extern void *ddb_new(const DATUM *, const DATUM *, size_t);
- extern int ddb_memcmp(const DATUM *, const DATUM *);
-
- typedef struct lent {
- --- 22,28 ----
- #include <errno.h>
- #include "ddb.h"
-
- ! extern void *ddb_new(const DATUM *, const DATUM *, size_t, int);
- extern int ddb_memcmp(const DATUM *, const DATUM *);
-
- typedef struct lent {
- ***************
- *** 95,101 ****
- LELEM *le_new;
-
- if (!validld(ld) || !validmode(mode)
- ! || (le_new = ddb_new(key, data, sizeof(*le_new))) == NULL)
- return -1;
-
- if (cmp == NULL)
- --- 95,101 ----
- LELEM *le_new;
-
- if (!validld(ld) || !validmode(mode)
- ! || (le_new = ddb_new(key, data, sizeof(*le_new), 1)) == NULL)
- return -1;
-
- if (cmp == NULL)
- *** ../ddb.old/new.c Mon Mar 21 16:59:33 1994
- --- new.c Mon Jan 10 10:40:03 1994
- ***************
- *** 22,28 ****
- #include "ddb.h"
-
- void *
- ! ddb_new(const DATUM *key, const DATUM *data, size_t size)
- {
- DATUM (*ptr)[2];
-
- --- 22,28 ----
- #include "ddb.h"
-
- void *
- ! ddb_new(const DATUM *key, const DATUM *data, size_t size, int do_data)
- {
- DATUM (*ptr)[2];
-
- ***************
- *** 42,51 ****
-
- (void)memcpy((*ptr)[0].addr, key->addr, key->size);
- (*ptr)[0].size = key->size;
- ! if (data) {
- ! (void)memcpy((*ptr)[1].addr, data->addr, data->size);
- ! (*ptr)[1].size = data->size;
- ! }
-
- return ptr;
- }
- --- 42,56 ----
-
- (void)memcpy((*ptr)[0].addr, key->addr, key->size);
- (*ptr)[0].size = key->size;
- !
- ! if (do_data)
- ! if (data) {
- ! (void)memcpy((*ptr)[1].addr, data->addr, data->size);
- ! (*ptr)[1].size = data->size;
- ! } else {
- ! (*ptr)[1].addr = NULL;
- ! (*ptr)[1].size = 0;
- ! }
-
- return ptr;
- }
- *** ../ddb.old/patchlevel.h Mon Mar 21 16:59:30 1994
- --- patchlevel.h Mon Jan 17 16:06:48 1994
- ***************
- *** 1 ****
- ! #define PATCHLEVEL 1
- --- 1 ----
- ! #define PATCHLEVEL 3
- *** ../ddb.old/queue.c Mon Mar 21 16:59:30 1994
- --- queue.c Mon Jan 10 10:41:44 1994
- ***************
- *** 34,40 ****
- static QUEUE *queue = NULL;
- static int maxqueues = 0;
-
- ! extern void *ddb_new(const DATUM *, const DATUM *, size_t);
-
- extern int errno;
-
- --- 34,40 ----
- static QUEUE *queue = NULL;
- static int maxqueues = 0;
-
- ! extern void *ddb_new(const DATUM *, const DATUM *, size_t, int);
-
- extern int errno;
-
- ***************
- *** 54,60 ****
- QUEUE *qp;
- QELEM *qe;
-
- ! if (!validqd(qd) || (qe = ddb_new(data, NULL, sizeof(*qe))) == NULL)
- return -1;
-
- qe->next = NULL;
- --- 54,60 ----
- QUEUE *qp;
- QELEM *qe;
-
- ! if (!validqd(qd) || (qe = ddb_new(data, NULL, sizeof(*qe), 0)) == NULL)
- return -1;
-
- qe->next = NULL;
- *** ../ddb.old/stack.c Mon Mar 21 16:59:30 1994
- --- stack.c Mon Jan 10 10:41:56 1994
- ***************
- *** 30,36 ****
- static STACK *stack = NULL;
- static int maxstacks = 0;
-
- ! extern void *ddb_new(const DATUM *, const DATUM *, size_t);
-
- extern int errno;
-
- --- 30,36 ----
- static STACK *stack = NULL;
- static int maxstacks = 0;
-
- ! extern void *ddb_new(const DATUM *, const DATUM *, size_t, int);
-
- extern int errno;
-
- ***************
- *** 52,58 ****
- DATUM *dp;
-
- sp = &stack[sd];
- ! if (!validsd(sd) || (dp = ddb_new(data, NULL, sizeof(*dp))) == NULL
- || (stmp = realloc(sp->stack, (sp->top + 2) * sizeof(*sp->stack)))
- == NULL)
- return -1;
- --- 52,58 ----
- DATUM *dp;
-
- sp = &stack[sd];
- ! if (!validsd(sd) || (dp = ddb_new(data, NULL, sizeof(*dp), 0)) == NULL
- || (stmp = realloc(sp->stack, (sp->top + 2) * sizeof(*sp->stack)))
- == NULL)
- return -1;
-