head	1.1;
access;
symbols;
locks; strict;
comment	@# @;


1.1
date	2013.02.20.00.52.22;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.1
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/312608
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@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)) },
 
@
