mirror of
https://github.com/reactos/ccache.git
synced 2025-03-03 16:27:22 +00:00
Stat file to get size hint in read_file()
This commit is contained in:
parent
aefb383b99
commit
634bb8d895
11
util.c
11
util.c
@ -1076,12 +1076,21 @@ bool
|
||||
read_file(const char *path, size_t size_hint, char **data, size_t *size)
|
||||
{
|
||||
int fd, ret;
|
||||
size_t pos = 0, allocated = (size_hint == 0) ? 16384 : size_hint;
|
||||
size_t pos = 0, allocated;
|
||||
|
||||
if (size_hint == 0) {
|
||||
struct stat st;
|
||||
if (stat(path, &st) == 0) {
|
||||
size_hint = st.st_size;
|
||||
}
|
||||
}
|
||||
size_hint = (size_hint < 1024) ? 1024 : size_hint;
|
||||
|
||||
fd = open(path, O_RDONLY);
|
||||
if (fd == -1) {
|
||||
return false;
|
||||
}
|
||||
allocated = size_hint;
|
||||
*data = x_malloc(allocated);
|
||||
ret = 0;
|
||||
do {
|
||||
|
Loading…
x
Reference in New Issue
Block a user