Move var declaration for older C compilers.
[rsync.git] / syscall.c
index 1d72d198e5e118cef422940f90c4927ca72ae86e..a99783a36d2395a56aac1f4f0c9bd0ea891bd710 100644 (file)
--- a/syscall.c
+++ b/syscall.c
@@ -226,6 +226,22 @@ int do_rename(const char *fname1, const char *fname2)
        return rename(fname1, fname2);
 }
 
+#ifdef HAVE_FTRUNCATE
+int do_ftruncate(int fd, OFF_T size)
+{
+       int ret;
+
+       if (dry_run) return 0;
+       RETURN_ERROR_IF_RO_OR_LO;
+
+       do {
+               ret = ftruncate(fd, size);
+       } while (ret < 0 && errno == EINTR);
+
+       return ret;
+}
+#endif
+
 void trim_trailing_slashes(char *name)
 {
        int l;