aboutsummaryrefslogtreecommitdiffstats
path: root/www/firefox/files/patch-bug817267
blob: 84c77f9e8ac50d7cf08f7c0c920d333da5e11cef (plain) (blame)
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)) },