summaryrefslogtreecommitdiff
path: root/src/openscad.cc
diff options
context:
space:
mode:
authorDon Bright <hugh.m.bright@gmail.com>2013-09-21 15:25:36 (GMT)
committerDon Bright <hugh.m.bright@gmail.com>2013-09-21 15:25:36 (GMT)
commit8c11a091d57b684bdb1a4f652c9534dd2b6104ba (patch)
treed22980346cd88a4c5c478c401f4c3f5a213e07c0 /src/openscad.cc
parentefc6731774ca6e0da4453921ab0daeadc44ee8bc (diff)
use debug symbols for test binaries. also remove echostream pointer
Diffstat (limited to 'src/openscad.cc')
-rw-r--r--src/openscad.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/openscad.cc b/src/openscad.cc
index 82afc16..49ec31c 100644
--- a/src/openscad.cc
+++ b/src/openscad.cc
@@ -86,14 +86,16 @@ using boost::is_any_of;
class Echostream : public std::ofstream
{
public:
- Echostream( const char * filename ) : std::ofstream( filename )
- {
+ Echostream( const char * filename ) : std::ofstream( filename ) {
set_output_handler( &Echostream::output, this );
}
static void output( const std::string &msg, void *userdata ) {
Echostream *thisp = static_cast<Echostream*>(userdata);
*thisp << msg << "\n";
}
+ ~Echostream() {
+ this->close();
+ }
};
static void help(const char *progname)
@@ -189,7 +191,7 @@ Camera get_camera( po::variables_map vm )
return camera;
}
-int cmdline( const char* deps_output_file, const char* filename, Camera &camera, const char *output_file, fs::path original_path, Render::type renderer, char ** argv, bool echo )
+int cmdline( const char* deps_output_file, const char* filename, Camera &camera, const char *output_file, fs::path original_path, Render::type renderer, char ** argv )
{
parser_init(boosty::stringy(boost::filesystem::path( argv[0] ).parent_path()));
Tree tree;
@@ -228,9 +230,9 @@ int cmdline( const char* deps_output_file, const char* filename, Camera &camera,
#if 0 && DEBUG
top_ctx.dump(NULL, NULL);
#endif
-
- Echostream *echostream;
- if (echo_output_file) echostream = new Echostream( echo_output_file );
+ shared_ptr<Echostream> echostream;
+ if (echo_output_file)
+ echostream.reset( new Echostream( echo_output_file ) );
FileModule *root_module;
ModuleInstantiation root_inst("group");
@@ -270,8 +272,6 @@ int cmdline( const char* deps_output_file, const char* filename, Camera &camera,
tree.setRoot(root_node);
- if (echostream) echostream->close();
-
if (csg_output_file) {
fs::current_path(original_path);
std::ofstream fstream(csg_output_file);
contact: Jan Huwald // Impressum