12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /*
- * This file lifted in toto from 'Dlibs' on the atari ST (RdeBath)
- *
- *
- * Dale Schumacher 399 Beacon Ave.
- * (alias: Dalnefre') St. Paul, MN 55104
- * dal@syntel.UUCP United States of America
- * "It's not reality that's important, but how you perceive things."
- */
- #include <stdio.h>
- char *lfind(key, base, num, size, cmp)
- register char *key, *base;
- unsigned int *num;
- register unsigned int size;
- register int (*cmp) ();
- {
- register int n = *num;
- while (n--) {
- if ((*cmp) (base, key) == 0)
- return (base);
- base += size;
- }
- return (NULL);
- }
- char *lsearch(key, base, num, size, cmp)
- char *key, *base;
- register unsigned int *num;
- register unsigned int size;
- int (*cmp) ();
- {
- register char *p;
- char *memcpy();
- if ((p = lfind(key, base, num, size, cmp)) == NULL) {
- p = memcpy((base + (size * (*num))), key, size);
- ++(*num);
- }
- return (p);
- }
|