ports/devel/electron35/files/patch-base_files_dir__reader__linux.h
Hiroki Tagato 3fe2f64857 devel/electron35: add port: Build cross-platform desktop apps with JavaScript, HTML, and CSS
Build cross platform desktop apps with JavaScript, HTML, and CSS.

It's easier than you think.

If you can build a website, you can build a desktop app. Electron is a
framework for creating native applications with web technologies like
JavaScript, HTML, and CSS. It takes care of the hard parts so you can
focus on the core of your application.

WWW: https://electronjs.org/
2025-04-08 21:01:02 +09:00

39 lines
884 B
C++

--- base/files/dir_reader_linux.h.orig 2025-03-24 20:50:14 UTC
+++ base/files/dir_reader_linux.h
@@ -21,10 +21,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;
@@ -32,6 +38,7 @@ struct linux_dirent {
unsigned char d_type;
char d_name[0];
};
+#endif
class DirReaderLinux {
public:
@@ -66,7 +73,11 @@ class DirReaderLinux {
return true;
}
+#if BUILDFLAG(IS_BSD)
+ const int r = getdents(fd_, reinterpret_cast<char *>(buf_), sizeof(buf_));
+#else
const long r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_));
+#endif
if (r == 0) {
return false;
}