int keepold
= 1; /* keep old things for fgrep search */
findline(in
, out
, outlen
, indexdate
)
static char name
[100] = "";
fprintf(stderr
, "findline: %s\n", in
);
for(p
=in
; *p
&& *p
!= ':' && *p
!= ';'; p
++)
k
= sscanf(p
, "%ld,%ld", &lp
, &llen
);
fprintf(stderr
, "p %s k %d lp %ld llen %ld\n",p
,k
,lp
,llen
);
fprintf(stderr
, "lp %ld llen %ld\n",lp
, llen
);
fprintf(stderr
, "fa now %o, p %o in %o %s\n",fa
, p
,in
,in
);
fprintf(stderr
, "set fa to stdin\n");
if (strcmp (name
, in
) != 0 || 1)
fprintf(stderr
, "old: %s new %s not equal\n",name
,in
);
fa
= freopen(in
, "r", fa
);
if (fa
==NULL
) fprintf(stderr
, "failed to (re)open *%s*\n",in
);
/* err("Can't open %s", in); */
if (gdate(fa
) > indexdate
&& indexdate
!= 0)
for(ftp
=fgnames
; ftp
<fgnamp
; ftp
++)
if (strcmp(*ftp
, name
)==SAME
)
strcpy (*fgnamp
++ = fgp
, name
);
assert(fgnamp
<fgnames
+FGCT
);
while (*fgp
&& *fgp
!=':')
assert (fgp
<fgspace
+FGSIZE
);
fprintf(stderr
, "Warning: index predates file '%s'\n", name
);
fprintf(stderr
, "old %s new %s same fa %o\n", name
,in
,fa
);
len
= (llen
>= outlen
) ? outlen
-1 : llen
;
len
= fread (out
, 1, len
, fa
);
fprintf(stderr
, "length as read is %d\n",len
);