xref: /csrg-svn/old/refer/deliv/deliv2.c (revision 12276)
1*12276Stut #ifndef lint
2*12276Stut static char *sccsid = "@(#)deliv2.c	4.1 (Berkeley) 05/06/83";
3*12276Stut #endif
4*12276Stut 
5*12276Stut #include <stdio.h>
6*12276Stut 
7*12276Stut hash (s)
8*12276Stut char *s;
9*12276Stut {
10*12276Stut 	int c, n;
11*12276Stut 	for(n=0; c= *s; s++)
12*12276Stut 		n += (c*n+ c << (n%4));
13*12276Stut 	return(n>0 ? n : -n);
14*12276Stut }
15*12276Stut 
16*12276Stut err (s, a)
17*12276Stut char *s;
18*12276Stut {
19*12276Stut 	fprintf(stderr, "Error: ");
20*12276Stut 	fprintf(stderr, s, a);
21*12276Stut 	putc('\n', stderr);
22*12276Stut 	exit(1);
23*12276Stut }
24*12276Stut 
25*12276Stut prefix(t, s)
26*12276Stut char *t, *s;
27*12276Stut {
28*12276Stut 	int c;
29*12276Stut 
30*12276Stut 	while ((c= *t++) == *s++)
31*12276Stut 		if (c==0) return(1);
32*12276Stut 	return(c==0 ? 1: 0);
33*12276Stut }
34*12276Stut 
35*12276Stut char *
36*12276Stut mindex(s, c)
37*12276Stut char *s;
38*12276Stut {
39*12276Stut 	register char *p;
40*12276Stut 	for( p=s; *p; p++)
41*12276Stut 		if (*p ==c)
42*12276Stut 			return(p);
43*12276Stut 	return(0);
44*12276Stut }
45*12276Stut 
46*12276Stut zalloc(m,n)
47*12276Stut {
48*12276Stut 	char *calloc();
49*12276Stut 	int t;
50*12276Stut # if D1
51*12276Stut 	fprintf(stderr, "calling calloc for %d*%d bytes\n",m,n);
52*12276Stut # endif
53*12276Stut 	t = (int) calloc(m,n);
54*12276Stut # if D1
55*12276Stut 	fprintf(stderr, "calloc returned %o\n", t);
56*12276Stut # endif
57*12276Stut 	return(t);
58*12276Stut }
59