FreeBSD 12 is switching to 64-bit inodes which will cause some ABI
breakage in user code. This fix modifies the getdirentries() syscall
used in hgfsServerLinux.c for that FBSD 12 64-bit inodes.
The fix was provided by Josh Paetzel in open-vm-tools pull request
https://github.com/vmware/open-vm-tools/pull/190
Bernd Zeimetz Fix gcc6 build issues in linuxDeployment.c file.
- https://github.com/vmware/open-vm-tools/pull/107
+
+Josh Paetzel Add support for 64-bit inodes in FreeBSD 12
+ - https://github.com/vmware/open-vm-tools/pull/190
}
# define getdents getdents_linux
#elif defined(__FreeBSD__)
-#define getdents(fd, dirp, count) \
+#if defined(__INO64)
+typedef off_t BASEPTYPE;
+#else
+typedef long BASEPTYPE;
+#endif
+#define getdents_freebsd(fd, dirp, count) \
({ \
- long basep; \
+ BASEPTYPE basep; \
getdirentries(fd, dirp, count, &basep); \
})
+# define getdents getdents_freebsd
#elif defined(__APPLE__)
static INLINE int
getdents_apple(DIR *fd, // IN