On Thu, 14.04.11 17:34, fykc...@gmail.com (fykc...@gmail.com) wrote: > diff --git a/src/missing.h b/src/missing.h > index 35e209f..b367831 100644 > --- a/src/missing.h > +++ b/src/missing.h > @@ -125,7 +125,12 @@ static inline int fanotify_init(unsigned int flags, > unsigned int event_f_flags) > > static inline int fanotify_mark(int fanotify_fd, unsigned int flags, > uint64_t mask, > int dfd, const char *pathname) { > - return syscall(__NR_fanotify_mark, fanotify_fd, flags, mask, dfd, > pathname); > + if (sizeof(void *) == 4) > + return syscall(__NR_fanotify_mark, fanotify_fd, flags, > + *((uint32_t *) &mask), *((uint32_t *) &mask + > 1), > + dfd, pathname); > + else /* 64bit */ > + return syscall(__NR_fanotify_mark, fanotify_fd, flags, mask, > dfd, pathname); > } > > #ifndef BTRFS_IOCTL_MAGIC
Hmm, wouldn't this break x86-32? Also, I'd very much prefer if this could be done with compile time checks instead of "if". i.e. #ifdef __mips__ ... #else ... #endif Finally, we try to avoid casts like this in order to avoid C99 aliasing issues. Please use a union for this instead! Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel