diff --git a/src/DLD-FUNCTIONS/__init_fltk__.cc b/src/DLD-FUNCTIONS/__init_fltk__.cc --- a/src/DLD-FUNCTIONS/__init_fltk__.cc +++ b/src/DLD-FUNCTIONS/__init_fltk__.cc @@ -159,7 +159,7 @@ if (print_mode) { FILE *fp = octave_popen (print_cmd.c_str (), "w"); - glps_renderer rend (fileno (fp), print_term); + glps_renderer rend (fp, print_term); rend.draw (gh_manager::get_object (number)); diff --git a/src/gl2ps-renderer.cc b/src/gl2ps-renderer.cc --- a/src/gl2ps-renderer.cc +++ b/src/gl2ps-renderer.cc @@ -43,14 +43,6 @@ { in_draw = true; - FILE *fp = fdopen (fid, "wb"); - - if (! fp) - { - error ("gl2ps-renderer: fdopen failed"); - return; - } - GLint buffsize = 0, state = GL2PS_OVERFLOW; GLint viewport[4]; @@ -87,8 +79,6 @@ state = gl2psEndPage (); } - gnulib::fclose (fp); - in_draw = 0; } else diff --git a/src/gl2ps-renderer.h b/src/gl2ps-renderer.h --- a/src/gl2ps-renderer.h +++ b/src/gl2ps-renderer.h @@ -31,8 +31,8 @@ glps_renderer : public opengl_renderer { public: - glps_renderer (const int _fid, const std::string& _term) - : opengl_renderer () , fid (_fid), term (_term), + glps_renderer (FILE *_fp, const std::string& _term) + : opengl_renderer () , fp (_fp), term (_term), fontsize (), fontname () { } ~glps_renderer (void) { } @@ -77,7 +77,7 @@ private: int alignment_to_mode (int ha, int va) const; - int fid; + FILE *fp; caseless_str term; double fontsize; std::string fontname;