/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * Copyright (c) 1980 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. */ /* * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc. * All Rights Reserved. */ #pragma ident "%Z%%M% %I% %E% SMI" #include #include #include #define TXTLEN 1000 char *outbuf = 0; extern char *soutput; extern int soutlen, iflong; extern long indexdate; union ptr { unsigned *a; long *b; }; baddrop(mptr, nf, fc, nitem, qitem, rprog, full) unsigned *mptr; FILE *fc; char *qitem[], *rprog; { /* checks list of drops for real bad drops; finds items with "deliv" */ int i, g, j, need, got, na, len; long lp; char res[100], *ar[50], output[TXTLEN], *mput; union ptr master; extern int colevel, reached; if (iflong) { master.b = (long *) mptr; } else { master.a = mptr; } # if D1 if (iflong) fprintf(stderr,"in baddrop, nf %d master %ld %ld %ld\n", nf, master.b[0], master.b[1], master.b[2]); else fprintf(stderr,"in baddrop, nf %d master %d %d %d\n", nf, master.a[0], master.a[1], master.a[2]); # endif for (i=g=0; i 0) /* copy and free */ { strncpy(output, mput, TXTLEN); free(mput); } else /* insufficient memory or other... */ len = 0; } } # if D1 assert (len = g) if (soutput==0) fputs(output, stdout); else strcpy (soutput, output); } # ifdef D1 fprintf(stderr, "after fgrep\n"); # endif } return(g); } auxil( res, output) char *res, *output; { extern FILE *fd; long lp, c; int len; if (fd==0)return(0); while (c = *res++) { if (c == ';') { sscanf(res, "%ld,%d", &lp, &len); fseek (fd, lp, 0); fgets(output, len, fd); return(1); } } return(0); }