aboutsummaryrefslogtreecommitdiffstats
path: root/src/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/util.c b/src/util.c
index 6c1bd0a..92b4d20 100644
--- a/src/util.c
+++ b/src/util.c
@@ -157,6 +157,18 @@ pwriteall(int fd, void *buf, size_t n, size_t ptr)
return 0;
}
+int
+writezeroes(int fd, void *buf, size_t bufsize, size_t n)
+{
+ size_t p, m;
+ for (p = 0; p < n; p += m) {
+ m = bufsize < n - p ? bufsize : n - p;
+ if (writeall(fd, buf, m))
+ return -1;
+ }
+ return 0;
+}
+
static inline pid_t
enfork(int status)