diff options
Diffstat (limited to 'src/diff_file.c')
| -rw-r--r-- | src/diff_file.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/diff_file.c b/src/diff_file.c index 978d7eaba..6c9a8e0ba 100644 --- a/src/diff_file.c +++ b/src/diff_file.c @@ -62,7 +62,7 @@ static int diff_file_content_init_common( git_diff_driver_update_options(&fc->opts_flags, fc->driver); /* make sure file is conceivable mmap-able */ - if ((git_off_t)((size_t)fc->file->size) != fc->file->size) + if ((size_t)fc->file->size != fc->file->size) fc->file->flags |= GIT_DIFF_FLAG_BINARY; /* check if user is forcing text diff the file */ else if (fc->opts_flags & GIT_DIFF_FORCE_TEXT) { @@ -330,8 +330,10 @@ static int diff_file_content_load_workdir_file( if (fd < 0) return fd; - if (!fc->file->size && - !(fc->file->size = git_futils_filesize(fd))) + if (!fc->file->size) + error = git_futils_filesize(&fc->file->size, fd); + + if (error < 0 || !fc->file->size) goto cleanup; if ((diff_opts->flags & GIT_DIFF_SHOW_BINARY) == 0 && |
