From 84fe345196af94a88f1fd867cbd052a9405fb97a Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Mon, 16 Mar 2015 13:00:01 +1100 Subject: [PATCH] Defined applyUmask. --- samples/memfs/memfs_test.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/samples/memfs/memfs_test.go b/samples/memfs/memfs_test.go index ece380b..8a21b7e 100644 --- a/samples/memfs/memfs_test.go +++ b/samples/memfs/memfs_test.go @@ -71,7 +71,15 @@ func currentGid() uint32 { } // Transform the supplied mode by the current umask. -func applyUmask(m os.FileMode) os.FileMode +func applyUmask(m os.FileMode) os.FileMode { + // HACK(jacobsa): Use umask(2) to change and restore the umask in order to + // figure out what the mask is. See the listing in `man getumask`. + umask := syscall.Umask(0) + syscall.Umask(umask) + + // Apply it. + return m &^ os.FileMode(umask) +} //////////////////////////////////////////////////////////////////////// // Boilerplate