1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
commit faafeb1
Author: Jan Beich <jbeich@tormail.org>
Date: Sat Dec 1 21:25:24 2012 -0500
Bug 817267 - dirfd() is a macro on some BSDs, fix build there. r=yoric
---
dom/system/OSFileConstants.cpp | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git dom/system/OSFileConstants.cpp dom/system/OSFileConstants.cpp
index 75a41dc..63fc6b1 100644
--- dom/system/OSFileConstants.cpp
+++ dom/system/OSFileConstants.cpp
@@ -41,6 +41,11 @@
#include "OSFileConstants.h"
#include "nsIOSFileConstantsService.h"
+#if defined(__DragonFly__) || defined(__FreeBSD__) \
+ || defined(__NetBSD__) || defined(__OpenBSD__)
+#define __dd_fd dd_fd
+#endif
+
/**
* This module defines the basic libc constants (error numbers, open modes,
* etc.) used by OS.File and possibly other OS-bound JavaScript libraries.
@@ -383,8 +388,8 @@ static dom::ConstantSpec gLibcProperties[] =
{ "OSFILE_OFFSETOF_DIRENT_D_TYPE", INT_TO_JSVAL(offsetof (struct dirent, d_type)) },
#endif // defined(DT_UNKNOWN)
- // Under MacOS X, |dirfd| is a macro rather than a function, so we
- // need a little help to get it to work
+ // Under MacOS X and BSDs, |dirfd| is a macro rather than a
+ // function, so we need a little help to get it to work
#if defined(dirfd)
{ "OSFILE_SIZEOF_DIR", INT_TO_JSVAL(sizeof (DIR)) },
|