summaryrefslogtreecommitdiff
path: root/lib/e2p/fsetversion.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/e2p/fsetversion.c')
-rw-r--r--lib/e2p/fsetversion.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/e2p/fsetversion.c b/lib/e2p/fsetversion.c
index 0ba41dc5..17bd0954 100644
--- a/lib/e2p/fsetversion.c
+++ b/lib/e2p/fsetversion.c
@@ -37,6 +37,7 @@
int fsetversion (const char * name, unsigned long version)
{
#if HAVE_EXT2_IOCTLS
+#if !APPLE_DARWIN
int fd, r, ver, save_errno = 0;
fd = open (name, OPEN_FLAGS);
@@ -50,6 +51,10 @@ int fsetversion (const char * name, unsigned long version)
if (save_errno)
errno = save_errno;
return r;
+#else
+ int ver = (int)version;
+ return syscall(SYS_fsctl, name, EXT2_IOC_SETVERSION, &ver, 0);
+#endif
#else /* ! HAVE_EXT2_IOCTLS */
extern int errno;
errno = EOPNOTSUPP;