diff options
author | Robert Nagy <robert@openbsd.org> | 2022-06-18 05:51:42 +0000 |
---|---|---|
committer | Rene Ladan <rene@FreeBSD.org> | 2022-06-22 08:02:35 +0000 |
commit | 80ffbf089df7cc8d4b4879e23f6816fc7e338f7f (patch) | |
tree | 23b8c15850649e788bdcc2a8b3ed62ff0d793988 /www/chromium/files/patch-base_files_dir__reader__linux.h | |
parent | e408d5e4ec74b0d09aa3306a49065cac0c429427 (diff) |
Diffstat (limited to 'www/chromium/files/patch-base_files_dir__reader__linux.h')
-rw-r--r-- | www/chromium/files/patch-base_files_dir__reader__linux.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/www/chromium/files/patch-base_files_dir__reader__linux.h b/www/chromium/files/patch-base_files_dir__reader__linux.h new file mode 100644 index 000000000000..82ff9a17eb2e --- /dev/null +++ b/www/chromium/files/patch-base_files_dir__reader__linux.h @@ -0,0 +1,39 @@ +--- base/files/dir_reader_linux.h.orig 2022-06-18 05:49:12 UTC ++++ base/files/dir_reader_linux.h +@@ -16,10 +16,16 @@ + #include "base/logging.h" + #include "base/posix/eintr_wrapper.h" + ++#include "build/build_config.h" ++ + // See the comments in dir_reader_posix.h about this. + + namespace base { + ++#if BUILDFLAG(IS_BSD) ++#include <dirent.h> ++typedef struct dirent linux_dirent; ++#else + struct linux_dirent { + uint64_t d_ino; + int64_t d_off; +@@ -27,6 +33,7 @@ struct linux_dirent { + unsigned char d_type; + char d_name[0]; + }; ++#endif + + class DirReaderLinux { + public: +@@ -61,7 +68,11 @@ class DirReaderLinux { + if (offset_ != size_) + return true; + ++#if BUILDFLAG(IS_BSD) ++ const int r = getdents(fd_, reinterpret_cast<char *>(buf_), sizeof(buf_)); ++#else + const int r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_)); ++#endif + if (r == 0) + return false; + if (r == -1) { |