Mercurial > hg > octave-lyh
diff src/file-io.cc @ 11004:594adb99a25e
cache file id in octave_tstdiostream class
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 20 Sep 2010 20:39:56 -0400 |
parents | 89f4d7e294cc |
children | f9284142a060 |
line wrap: on
line diff
--- a/src/file-io.cc +++ b/src/file-io.cc @@ -492,10 +492,15 @@ { tmode.erase (pos, 1); - gzFile fptr = ::gzopen (fname.c_str (), tmode.c_str ()); + FILE *fptr = ::fopen (fname.c_str (), tmode.c_str ()); + + int fd = ::fileno (fptr); + + gzFile gzf = ::gzdopen (fd, tmode.c_str ()); if (fptr) - retval = octave_zstdiostream::create (fname, fptr, md, flt_fmt); + retval = octave_zstdiostream::create (fname, gzf, fd, + md, flt_fmt); else retval.error (gnulib::strerror (errno)); }