summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordonb <donb@gcc20.fsffrance.org>2012-01-14 04:02:15 (GMT)
committerdonb <donb@gcc20.fsffrance.org>2012-01-14 04:02:15 (GMT)
commit65a1c9cf6c8f1c69a6f9fbdc09faeb15b3dc6e4a (patch)
treee2542e3fa46d6e9faeacda39c03a84ac83272222 /src
parent10701f71581bd4053ab328254d6abacd6956b498 (diff)
add boosty.h for compatability with boost <1.44
Diffstat (limited to 'src')
-rw-r--r--src/context.cc3
-rw-r--r--src/handle_dep.cc3
-rw-r--r--src/import.cc4
-rw-r--r--src/lexer.l11
-rw-r--r--src/openscad.cc13
-rw-r--r--src/parser.y4
-rw-r--r--src/parsersettings.cc11
7 files changed, 31 insertions, 18 deletions
diff --git a/src/context.cc b/src/context.cc
index 354195f..8d7b903 100644
--- a/src/context.cc
+++ b/src/context.cc
@@ -33,6 +33,7 @@
#include <boost/foreach.hpp>
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
+#include "boosty.h"
std::vector<const Context*> Context::ctx_stack;
@@ -176,7 +177,7 @@ AbstractNode *Context::evaluate_module(const ModuleInstantiation &inst) const
std::string Context::getAbsolutePath(const std::string &filename) const
{
if (!filename.empty()) {
- return absolute(path(this->document_path) / filename).string();
+ return boosty::absolute(path(this->document_path) / filename).string();
}
else {
return filename;
diff --git a/src/handle_dep.cc b/src/handle_dep.cc
index d642555..cbf7157 100644
--- a/src/handle_dep.cc
+++ b/src/handle_dep.cc
@@ -7,6 +7,7 @@
#include <boost/regex.hpp>
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
+#include "boosty.h"
boost::unordered_set<std::string> dependencies;
const char *make_command = NULL;
@@ -14,7 +15,7 @@ const char *make_command = NULL;
void handle_dep(const std::string &filename)
{
path filepath(filename);
- if (filepath.is_absolute()) {
+ if ( boosty::is_absolute( filepath )) {
dependencies.insert(filename);
}
else {
diff --git a/src/import.cc b/src/import.cc
index 435d06d..e90965e 100644
--- a/src/import.cc
+++ b/src/import.cc
@@ -50,6 +50,7 @@
using namespace boost::filesystem;
#include <boost/assign/std/vector.hpp>
using namespace boost::assign; // bring 'operator+=()' into scope
+#include "boosty.h"
class ImportModule : public AbstractModule
{
@@ -81,7 +82,8 @@ AbstractNode *ImportModule::evaluate(const Context *ctx, const ModuleInstantiati
std::string filename = c.getAbsolutePath(v.text);
import_type_e actualtype = this->type;
if (actualtype == TYPE_UNKNOWN) {
- std::string ext = boost::algorithm::to_lower_copy(path(filename).extension().string());
+ std::string extraw = boosty::extension_str( path(filename) );
+ std::string ext = boost::algorithm::to_lower_copy( extraw );
if (ext == ".stl") actualtype = TYPE_STL;
else if (ext == ".off") actualtype = TYPE_OFF;
else if (ext == ".dxf") actualtype = TYPE_DXF;
diff --git a/src/lexer.l b/src/lexer.l
index 718874f..77308a0 100644
--- a/src/lexer.l
+++ b/src/lexer.l
@@ -35,6 +35,7 @@
#include <boost/lexical_cast.hpp>
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;
+#include "boosty.h"
//isatty for visual c++ and mingw-cross-env
#if defined __WIN32__ && ! defined _MSC_VER
@@ -109,13 +110,13 @@ use[ \t\r\n>]*"<" { BEGIN(cond_use); }
">" {
BEGIN(INITIAL);
fs::path usepath;
- if (fs::path(filename).is_absolute()) {
+ if ( boosty::is_absolute( fs::path(filename) ) ) {
usepath = filename;
}
else {
usepath = fs::path(parser_source_path) / filename;
if (!fs::exists(usepath)) {
- usepath = fs::absolute(fs::path(librarydir) / filename);
+ usepath = boosty::absolute(fs::path(librarydir) / filename);
}
}
handle_dep(usepath.string());
@@ -198,7 +199,7 @@ void includefile()
fs::path dirinfo = sourcepath();
if (!filepath.empty()) {
- if (fs::path(filepath).is_absolute()) {
+ if (boosty::is_absolute( fs::path(filepath) ) ) {
dirinfo = filepath;
}
else {
@@ -214,8 +215,8 @@ void includefile()
filepath.clear();
path_stack.push_back(dirinfo);
- handle_dep(fs::absolute(finfo).string());
- yyin = fopen(fs::absolute(finfo).string().c_str(), "r");
+ handle_dep(boosty::absolute(finfo).string());
+ yyin = fopen(boosty::absolute(finfo).string().c_str(), "r");
if (!yyin) {
PRINTF("WARNING: Can't open input file `%s'.", filename.c_str());
path_stack.pop_back();
diff --git a/src/openscad.cc b/src/openscad.cc
index b29eafd..b4d1c0f 100644
--- a/src/openscad.cc
+++ b/src/openscad.cc
@@ -58,6 +58,7 @@
#include <boost/program_options.hpp>
#include <boost/filesystem.hpp>
+#include "boosty.h"
#ifdef _MSC_VER
#define snprintf _snprintf
@@ -199,7 +200,7 @@ int main(int argc, char **argv)
}
#endif
- currentdir = fs::current_path().generic_string();
+ currentdir = boosty::stringy( fs::current_path() );
QDir exdir(QApplication::instance()->applicationDirPath());
#ifdef Q_WS_MAC
@@ -273,11 +274,13 @@ int main(int argc, char **argv)
}
fclose(fp);
text << commandline_commands;
- root_module = parse(text.str().c_str(), fs::absolute(filename).generic_string().c_str(), false);
+ fs::path abspath = boosty::absolute( filename );
+ std::string fname = boosty::stringy( abspath );
+ root_module = parse(text.str().c_str(), fname.c_str(), false);
if (!root_module) exit(1);
}
- fs::path fpath = fs::absolute(fs::path(filename));
+ fs::path fpath = boosty::absolute( fs::path(filename) );
fs::path fparent = fpath.parent_path();
fs::current_path( fparent );
@@ -374,7 +377,9 @@ int main(int argc, char **argv)
#endif
QString qfilename;
- if (filename) qfilename = QString::fromStdString(fs::absolute(filename).string());
+ fs::path abspath = boosty::absolute( filename );
+ std::string absname = boosty::stringy( abspath );
+ if (filename) qfilename = QString::fromStdString( absname );
#if 0 /*** disabled by clifford wolf: adds rendering artefacts with OpenCSG ***/
// turn on anti-aliasing
diff --git a/src/parser.y b/src/parser.y
index 1c4a784..7e27bfe 100644
--- a/src/parser.y
+++ b/src/parser.y
@@ -44,6 +44,7 @@
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
+#include "boosty.h"
int parser_error_pos = -1;
@@ -641,7 +642,8 @@ Module *Module::compile_library(const std::string &filename)
libs_cache[filename] = e;
Module *backup_mod = module;
- Module *lib_mod = dynamic_cast<Module*>(parse(text.str().c_str(), path(filename).parent_path().generic_string().c_str(), 0));
+ std::string pathname = boosty::stringy( fs::path(filename).parent_path() );
+ Module *lib_mod = dynamic_cast<Module*>(parse(text.str().c_str(), pathname.c_str(), 0));
module = backup_mod;
if (lib_mod) {
diff --git a/src/parsersettings.cc b/src/parsersettings.cc
index 2d0b1b3..330e2e2 100644
--- a/src/parsersettings.cc
+++ b/src/parsersettings.cc
@@ -2,6 +2,7 @@
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
+#include "boosty.h"
std::string librarydir;
@@ -14,14 +15,14 @@ void parser_init(const std::string &applicationpath)
if (!is_directory(libdir / "libraries")) libdir /= "../../..";
#elif defined(Q_OS_UNIX)
if (is_directory(tmpdir = libdir / "../share/openscad/libraries")) {
- librarydir = tmpdir.generic_string();
+ librarydir = boosty::stringy( tmpdir );
} else if (is_directory(tmpdir = libdir / "../../share/openscad/libraries")) {
- librarydir = tmpdir.generic_string();
+ librarydir = boosty::stringy( tmpdir );
} else if (is_directory(tmpdir = libdir / "../../libraries")) {
- librarydir = tmpdir.generic_string();
+ librarydir = boosty::stringy( tmpdir );
} else
#endif
- if (is_directory(tmpdir = libdir / "libraries")) {
- librarydir = tmpdir.generic_string();
+ if (is_directory(tmpdir = libdir / "libraries")) {
+ librarydir = boosty::stringy( tmpdir );
}
}
contact: Jan Huwald // Impressum