|
|
researchv10 Norman
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
main(argc, argv)
char **argv;
{ int i, f=0;
int seekf = 0;
char buf[256];
long amtread, lseek();
struct stat sbuf;
if (argc>1 && strcmp(argv[1], "-e") == 0) {
seekf = 1;
argc--;
argv++;
}
if (argc>1) {
if ((f = open(argv[1], 0)) < 0) {
fprintf(stderr, "readslow: can't open %s\n", argv[1]);
exit(1);
}
}
amtread = 0;
if (seekf)
amtread = lseek(f, 0L, 2);
for(;;) {
if((i=read(f,buf,256))>0) {
write(1,buf,i);
amtread += i;
} else if (i==0) {
sleep(10);
fstat(f, &sbuf);
if (sbuf.st_size < amtread) {
printf("\n<<< file truncated -- restarting >>>\n");
lseek(f, 0L, 0);
amtread = 0;
continue;
}
} else
exit(1);
}
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.