1*48295Sbostic /*-
2*48295Sbostic * %sccs.include.proprietary.c%
3*48295Sbostic */
4*48295Sbostic
512276Stut #ifndef lint
6*48295Sbostic static char sccsid[] = "@(#)deliv2.c 4.2 (Berkeley) 04/18/91";
7*48295Sbostic #endif /* not lint */
812276Stut
912276Stut #include <stdio.h>
1012276Stut
hash(s)1112276Stut hash (s)
1212276Stut char *s;
1312276Stut {
1412276Stut int c, n;
1512276Stut for(n=0; c= *s; s++)
1612276Stut n += (c*n+ c << (n%4));
1712276Stut return(n>0 ? n : -n);
1812276Stut }
1912276Stut
err(s,a)2012276Stut err (s, a)
2112276Stut char *s;
2212276Stut {
2312276Stut fprintf(stderr, "Error: ");
2412276Stut fprintf(stderr, s, a);
2512276Stut putc('\n', stderr);
2612276Stut exit(1);
2712276Stut }
2812276Stut
prefix(t,s)2912276Stut prefix(t, s)
3012276Stut char *t, *s;
3112276Stut {
3212276Stut int c;
3312276Stut
3412276Stut while ((c= *t++) == *s++)
3512276Stut if (c==0) return(1);
3612276Stut return(c==0 ? 1: 0);
3712276Stut }
3812276Stut
3912276Stut char *
mindex(s,c)4012276Stut mindex(s, c)
4112276Stut char *s;
4212276Stut {
4312276Stut register char *p;
4412276Stut for( p=s; *p; p++)
4512276Stut if (*p ==c)
4612276Stut return(p);
4712276Stut return(0);
4812276Stut }
4912276Stut
zalloc(m,n)5012276Stut zalloc(m,n)
5112276Stut {
5212276Stut char *calloc();
5312276Stut int t;
5412276Stut # if D1
5512276Stut fprintf(stderr, "calling calloc for %d*%d bytes\n",m,n);
5612276Stut # endif
5712276Stut t = (int) calloc(m,n);
5812276Stut # if D1
5912276Stut fprintf(stderr, "calloc returned %o\n", t);
6012276Stut # endif
6112276Stut return(t);
6212276Stut }
63