#define _BABELTRACE_COMPAT_FCNTL_H
/*
- * babeltrace/compat/fcntl.h
- *
* Copyright 2015 (c) - Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
* fcntl compatibility layer.
#elif defined(__MINGW32__) /* #ifdef BABELTRACE_HAVE_POSIX_FALLOCATE */
-#include <assert.h>
+#include <stdlib.h>
#include <windows.h>
#include <fcntl.h>
/* Restore the original file pointer position */
if (!SetFilePointerEx(handle, file_pos, NULL, FILE_BEGIN)) {
/* We moved the file pointer but failed to restore it. */
- assert(0);
+ abort();
}
end:
}
#endif /* #else #ifdef BABELTRACE_HAVE_POSIX_FALLOCATE */
-
-#ifdef BABELTRACE_HAVE_FACCESSAT
-
-#include <fcntl.h>
-#include <unistd.h>
-
-static inline
-int bt_faccessat(int dirfd, const char *dirname,
- const char *pathname, int mode, int flags)
-{
- return faccessat(dirfd, pathname, mode, flags);
-}
-
-#else /* #ifdef BABELTRACE_HAVE_FACCESSAT */
-
-#include <string.h>
-#include <unistd.h>
-
-static inline
-int bt_faccessat(int dirfd, const char *dirname,
- const char *pathname, int mode, int flags)
-{
- char cpath[PATH_MAX];
-
- if (flags != 0) {
- errno = EINVAL;
- return -1;
- }
- /* Includes middle / and final \0. */
- if (strlen(dirname) + strlen(pathname) + 2 > PATH_MAX) {
- return -1;
- }
- strcpy(cpath, dirname);
- strcat(cpath, "/");
- strcat(cpath, pathname);
- return access(cpath, mode);
-}
-
-#endif /* #else #ifdef BABELTRACE_HAVE_FACCESSAT */
-
#endif /* _BABELTRACE_COMPAT_FCNTL_H */