diff options
author | Don Bright <hugh.m.bright@gmail.com> | 2013-09-21 15:25:36 (GMT) |
---|---|---|
committer | Don Bright <hugh.m.bright@gmail.com> | 2013-09-21 15:25:36 (GMT) |
commit | 8c11a091d57b684bdb1a4f652c9534dd2b6104ba (patch) | |
tree | d22980346cd88a4c5c478c401f4c3f5a213e07c0 /src/openscad.cc | |
parent | efc6731774ca6e0da4453921ab0daeadc44ee8bc (diff) |
use debug symbols for test binaries. also remove echostream pointer
Diffstat (limited to 'src/openscad.cc')
-rw-r--r-- | src/openscad.cc | 16 |
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); |