+ if (buf == NULL) {
+ if (fstat(f, &stb) > 0 && stb.st_blksize > 0)
+ blksize = stb.st_blksize;
+ else
+ blksize = BLKSIZE;
+ buf = (char *)malloc(2*blksize);
+ if (buf == NULL) {
+ fprintf(stderr, "egrep: no memory for %s\n", file);
+ retcode = 2;
+ return;
+ }
+ }