# HG changeset patch # User Jun Wu <qu...@fb.com> # Date 1490332382 25200 # Thu Mar 23 22:13:02 2017 -0700 # Node ID 825bb185512c66a43ae6927933196b8356c99798 # Parent 597a29c947fe2b9f9ac0a6a03cf710ab9f69757c # Available At https://bitbucket.org/quark-zju/hg-draft # hg pull https://bitbucket.org/quark-zju/hg-draft -r 825bb185512c osutil: report fstype for BSD and OSX
diff --git a/mercurial/osutil.c b/mercurial/osutil.c --- a/mercurial/osutil.c +++ b/mercurial/osutil.c @@ -28,8 +28,6 @@ #include <linux/magic.h> #endif -#ifdef HAVE_SYS_MOUNT_H +#ifdef HAVE_BSD_STATFS #include <sys/mount.h> -#endif -#ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif @@ -802,5 +800,10 @@ static PyObject *setprocname(PyObject *s /* given a directory path, return filesystem type (best-effort), or None */ const char *getfstype(const char *path) { +#ifdef HAVE_BSD_STATFS + /* need to return a string field */ + static struct statfs buf; +#else struct statfs buf; +#endif int r; memset(&buf, 0, sizeof(buf)); @@ -808,4 +811,8 @@ const char *getfstype(const char *path) if (r != 0) return NULL; +#ifdef HAVE_BSD_STATFS + /* BSD or OSX provides a f_fstypename field */ + return buf.f_fstypename; +#endif /* Begin of Linux filesystems */ #ifdef ADFS_SUPER_MAGIC _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel