diff --git a/plugins/input/shape/dbffile.cpp b/plugins/input/shape/dbffile.cpp index 16c2cca15..cb6f40760 100644 --- a/plugins/input/shape/dbffile.cpp +++ b/plugins/input/shape/dbffile.cpp @@ -42,7 +42,11 @@ dbf_file::dbf_file(std::string const& file_name) :num_records_(0), num_fields_(0), record_length_(0), +#ifdef SHAPE_MEMORY_MAPPED_FILE + file_(file_name), +#else file_(file_name,std::ios::in | std::ios::binary), +#endif record_(0) { if (file_.is_open()) diff --git a/plugins/input/shape/shapefile.hpp b/plugins/input/shape/shapefile.hpp index 8a6e0c566..3c123d4ee 100644 --- a/plugins/input/shape/shapefile.hpp +++ b/plugins/input/shape/shapefile.hpp @@ -147,8 +147,14 @@ public: shape_file() {} shape_file(std::string const& file_name) - : file_(file_name,std::ios::in | std::ios::binary) {} - + : +#ifdef SHAPE_MEMORY_MAPPED_FILE + file_(file_name) +#else + file_(file_name,std::ios::in | std::ios::binary) +#endif + {} + ~shape_file() {} inline bool is_open()