aboutgitcodebugslistschat
path: root/util.h
diff options
context:
space:
mode:
Diffstat (limited to 'util.h')
-rw-r--r--util.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/util.h b/util.h
index 91ce3e0..5172bf6 100644
--- a/util.h
+++ b/util.h
@@ -58,6 +58,18 @@ void trace_init(int enable);
#define TMPDIR "/tmp"
#endif
+#define FWRITE(path, buf, str) \
+ do { \
+ int flags = O_WRONLY | O_CLOEXEC; \
+ int fd = open(path, flags); \
+ \
+ if (fd < 0 || \
+ write(fd, buf, strlen(buf)) != (int)strlen(buf)) \
+ warn(str); \
+ if (fd >= 0) \
+ close(fd); \
+ } while (0)
+
#define V4 0
#define V6 1
#define IP_VERSIONS 2