about summary refs log tree commit diff
path: root/src/libexpr
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2010-10-04T17·55+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2010-10-04T17·55+0000
commit705868a8a96a10f70e629433cfffc2d5cd2703eb (patch)
treef5d17323d9719ea3d0e4b00533a7c23df508f216 /src/libexpr
parent95f4f2cf6102f95abf6948d74907c44c3540eddd (diff)
* Make sure that config.h is included before the system headers,
  because it defines _FILE_OFFSET_BITS.  Without this, on 
  OpenSolaris the system headers define it to be 32, and then 
  the 32-bit stat() ends up being called with a 64-bit "struct 
  stat", or vice versa.

  This also ensures that we get 64-bit file sizes everywhere.

* Remove the redundant call to stat() in parseExprFromFile().
  The file cannot be a symlink because that's the exit condition
  of the loop before.

Diffstat (limited to 'src/libexpr')
-rw-r--r--src/libexpr/attr-path.hh4
-rw-r--r--src/libexpr/eval.hh4
-rw-r--r--src/libexpr/get-drvs.hh4
-rw-r--r--src/libexpr/nixexpr.hh4
-rw-r--r--src/libexpr/parser.y10
-rw-r--r--src/libexpr/primops.cc2
-rw-r--r--src/libexpr/value-to-xml.hh6
7 files changed, 16 insertions, 18 deletions
diff --git a/src/libexpr/attr-path.hh b/src/libexpr/attr-path.hh
index 33587e5ede..b4f5c29d2e 100644
--- a/src/libexpr/attr-path.hh
+++ b/src/libexpr/attr-path.hh
@@ -1,11 +1,11 @@
 #ifndef __ATTR_PATH_H
 #define __ATTR_PATH_H
 
+#include "eval.hh"
+
 #include <string>
 #include <map>
 
-#include "eval.hh"
-
 
 namespace nix {
 
diff --git a/src/libexpr/eval.hh b/src/libexpr/eval.hh
index 8eec94fcbc..501ac93d01 100644
--- a/src/libexpr/eval.hh
+++ b/src/libexpr/eval.hh
@@ -1,12 +1,12 @@
 #ifndef __EVAL_H
 #define __EVAL_H
 
-#include <map>
-
 #include "nixexpr.hh"
 #include "symbol-table.hh"
 #include "hash.hh"
 
+#include <map>
+
 
 namespace nix {
 
diff --git a/src/libexpr/get-drvs.hh b/src/libexpr/get-drvs.hh
index ca7d980027..7b96decf4a 100644
--- a/src/libexpr/get-drvs.hh
+++ b/src/libexpr/get-drvs.hh
@@ -1,13 +1,13 @@
 #ifndef __GET_DRVS_H
 #define __GET_DRVS_H
 
+#include "eval.hh"
+
 #include <string>
 #include <map>
 
 #include <boost/shared_ptr.hpp>
 
-#include "eval.hh"
-
 
 namespace nix {
 
diff --git a/src/libexpr/nixexpr.hh b/src/libexpr/nixexpr.hh
index b1043a3268..1d03220f64 100644
--- a/src/libexpr/nixexpr.hh
+++ b/src/libexpr/nixexpr.hh
@@ -1,10 +1,10 @@
 #ifndef __NIXEXPR_H
 #define __NIXEXPR_H
 
-#include <map>
-
 #include "symbol-table.hh"
 
+#include <map>
+
 
 namespace nix {
 
diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y
index 7236bab19c..b0c54339b0 100644
--- a/src/libexpr/parser.y
+++ b/src/libexpr/parser.y
@@ -15,10 +15,6 @@
    stuff.  So allow it to be excluded. */
 #ifndef BISON_HEADER_HACK
 #define BISON_HEADER_HACK
-    
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
 
 #include "util.hh"
     
@@ -28,6 +24,10 @@
 #include "lexer-tab.hh"
 #define YYSTYPE YYSTYPE // workaround a bug in Bison 2.4
 
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
 
 using namespace nix;
 
@@ -480,8 +480,6 @@ Expr * parseExprFromFile(EvalState & state, Path path)
     }
 
     /* If `path' refers to a directory, append `/default.nix'. */
-    if (stat(path.c_str(), &st))
-        throw SysError(format("getting status of `%1%'") % path);
     if (S_ISDIR(st.st_mode))
         path = canonPath(path + "/default.nix");
 
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
index 68f66acc74..973670e683 100644
--- a/src/libexpr/primops.cc
+++ b/src/libexpr/primops.cc
@@ -1,5 +1,5 @@
-#include "misc.hh"
 #include "eval.hh"
+#include "misc.hh"
 #include "globals.hh"
 #include "store-api.hh"
 #include "util.hh"
diff --git a/src/libexpr/value-to-xml.hh b/src/libexpr/value-to-xml.hh
index 0c6de3a8b2..3ebc989ffa 100644
--- a/src/libexpr/value-to-xml.hh
+++ b/src/libexpr/value-to-xml.hh
@@ -1,12 +1,12 @@
 #ifndef __VALUE_TO_XML_H
 #define __VALUE_TO_XML_H
 
-#include <string>
-#include <map>
-
 #include "nixexpr.hh"
 #include "eval.hh"
 
+#include <string>
+#include <map>
+
 namespace nix {
 
 void printValueAsXML(EvalState & state, bool strict, bool location,