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