diff options
Diffstat (limited to 'coreutils/truncate.c')
-rw-r--r-- | coreutils/truncate.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/coreutils/truncate.c b/coreutils/truncate.c index 8826e6b4c..87a47bb09 100644 --- a/coreutils/truncate.c +++ b/coreutils/truncate.c | |||
@@ -73,6 +73,12 @@ int truncate_main(int argc UNUSED_PARAM, char **argv) | |||
73 | * do not report error, exitcode is also 0. | 73 | * do not report error, exitcode is also 0. |
74 | */ | 74 | */ |
75 | } else { | 75 | } else { |
76 | #if ENABLE_PLATFORM_MINGW32 | ||
77 | struct stat st; | ||
78 | |||
79 | if (fstat(fd, &st) == 0 && size > st.st_size) | ||
80 | make_sparse(fd, st.st_size, size); | ||
81 | #endif | ||
76 | if (ftruncate(fd, size) == -1) { | 82 | if (ftruncate(fd, size) == -1) { |
77 | bb_perror_msg("%s: truncate", *argv); | 83 | bb_perror_msg("%s: truncate", *argv); |
78 | ret = EXIT_FAILURE; | 84 | ret = EXIT_FAILURE; |