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