changeset 28854:ddef14468952

chg: add fchdirx as a utility function As part of the series to support long socket paths, we need to use fchdir and check its result in several places. Make it a utility function.
author Jun Wu <quark@fb.com>
date Sun, 10 Apr 2016 03:14:32 +0100
parents d11548b4ae45
children f5764e177bbe
files contrib/chg/util.c contrib/chg/util.h
diffstat 2 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/chg/util.c	Sun Apr 10 22:58:11 2016 +0100
+++ b/contrib/chg/util.c	Sun Apr 10 03:14:32 2016 +0100
@@ -84,6 +84,13 @@
 	va_end(args);
 }
 
+void fchdirx(int dirfd)
+{
+	int r = fchdir(dirfd);
+	if (r == -1)
+		abortmsgerrno("failed to fchdir");
+}
+
 void *mallocx(size_t size)
 {
 	void *result = malloc(size);
--- a/contrib/chg/util.h	Sun Apr 10 22:58:11 2016 +0100
+++ b/contrib/chg/util.h	Sun Apr 10 03:14:32 2016 +0100
@@ -23,6 +23,7 @@
 void enabledebugmsg(void);
 void debugmsg(const char *fmt, ...) PRINTF_FORMAT_;
 
+void fchdirx(int dirfd);
 void *mallocx(size_t size);
 void *reallocx(void *ptr, size_t size);