- {
- char *new_buf;
-
- alloc += alloc / 2;
- if (alloc < size + BUFSIZ + 1)
- alloc = size + BUFSIZ + 1;
-
- new_buf = realloc (buf, alloc);
- if (!new_buf)
- {
- int save_errno = errno;
- free (buf);
- errno = save_errno;
- return NULL;
- }
-
- buf = new_buf;
- }
-
- count = fread (buf + size, 1, alloc - size - 1, stream);
- size += count;