#endif
return 0;
-#else
+#else /* !HAVE_STAT_FLAGS || (APPLE_DARWIN && HAVE_EXT2_IOCTLS) */
#if HAVE_EXT2_IOCTLS
int fd, r, f, save_errno = 0;
if (save_errno)
errno = save_errno;
return r;
-#else
+#else /* APPLE_DARWIN */
f = -1;
save_errno = syscall(SYS_fsctl, name, EXT2_IOC_GETFLAGS, &f, 0);
*flags = f;
return (save_errno);
-#endif
+#endif /* !APPLE_DARWIN */
+notsupp:
#endif /* HAVE_EXT2_IOCTLS */
#endif
-notsupp:
errno = EOPNOTSUPP;
return -1;
}
int fsetflags (const char * name, unsigned long flags)
{
- struct stat buf;
#if HAVE_CHFLAGS && !(APPLE_DARWIN && HAVE_EXT2_IOCTLS)
unsigned long bsd_flags = 0;
#endif
return chflags (name, bsd_flags);
-#else
+#else /* !HAVE_CHFLAGS || (APPLE_DARWIN && HAVE_EXT2_IOCTLS) */
#if HAVE_EXT2_IOCTLS
int fd, r, f, save_errno = 0;
+ struct stat buf;
if (!lstat(name, &buf) &&
!S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) {
close (fd);
if (save_errno)
errno = save_errno;
-#else
- f = (int) flags;
- return syscall(SYS_fsctl, name, EXT2_IOC_SETFLAGS, &f, 0);
-#endif
+#else /* APPLE_DARWIN */
+ f = (int) flags;
+ return syscall(SYS_fsctl, name, EXT2_IOC_SETFLAGS, &f, 0);
+#endif /* !APPLE_DARWIN */
return r;
+
+notsupp:
#endif /* HAVE_EXT2_IOCTLS */
#endif
-notsupp:
errno = EOPNOTSUPP;
return -1;
}
if (!fstat(fd, &buf) &&
!S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode))
goto notsupp;
- r = ioctl (fd, EXT2_IOC_GETFLAGS, &f);
+ r = ioctl(fd, EXT2_IOC_GETFLAGS, &f);
*flags = f;
+
return r;
+notsupp:
#endif /* HAVE_EXT2_IOCTLS */
#endif
-notsupp:
errno = EOPNOTSUPP;
return -1;
}
int setflags (int fd, unsigned long flags)
{
- struct stat buf;
#if HAVE_CHFLAGS
unsigned long bsd_flags = 0;
return fchflags (fd, bsd_flags);
#else
#if HAVE_EXT2_IOCTLS
+ struct stat buf;
int f;
if (!fstat(fd, &buf) &&
return -1;
}
f = (int) flags;
- return ioctl (fd, EXT2_IOC_SETFLAGS, &f);
+
+ return ioctl(fd, EXT2_IOC_SETFLAGS, &f);
#endif /* HAVE_EXT2_IOCTLS */
#endif
errno = EOPNOTSUPP;
#ifdef BLKFLSBUF
if (ioctl (fd, BLKFLSBUF, 0) == 0)
return 0;
-#else
-#ifdef __GNUC__
- #warning BLKFLSBUF not defined
-#endif /* __GNUC__ */
+#elif defined(__linux__)
+#warning BLKFLSBUF not defined
#endif
#ifdef FDFLUSH
ioctl (fd, FDFLUSH, 0); /* In case this is a floppy */
-#else
-#ifdef __GNUC__
- #warning FDFLUSH not defined
-#endif /* __GNUC__ */
+#elif defined(__linux__)
+#warning FDFLUSH not defined
#endif
}
return 0;
#endif /* HAVE_SYS_DISKLABEL_H */
{
-#ifdef HAVE_FSTAT64
+#if defined(HAVE_FSTAT64) && !defined(__OSX__)
struct stat64 st;
if (fstat64(fd, &st) == 0)
#else