# HG changeset patch # User Lachlan Andrew # Date 1455405150 -39600 # Node ID 7ebd8ac261780be961214bddd5f93717856b7da6 # Parent 17845d0e359f783d3cbcdd98839dd3f23ede5e0e Enable seekg and tellg on octave_stream (bug #47517) * c-file-ptr-stream.cc (c_file_ptr_buf::seekoff, c_file_ptr_buf::seekpos): remove "#if 0" and replace fseek by fseeko and ftell by ftello. diff -r 17845d0e359f -r 7ebd8ac26178 libinterp/corefcn/c-file-ptr-stream.cc --- a/libinterp/corefcn/c-file-ptr-stream.cc Mon Mar 28 08:58:10 2016 -0700 +++ b/libinterp/corefcn/c-file-ptr-stream.cc Sun Feb 14 10:12:30 2016 +1100 @@ -107,39 +107,31 @@ } std::streampos -c_file_ptr_buf::seekoff (std::streamoff /* offset */, - std::ios::seekdir /* dir */, +c_file_ptr_buf::seekoff (std::streamoff offset, + std::ios::seekdir dir, std::ios::openmode) { - // FIXME -#if 0 if (f) { - fseek (f, offset, seekdir_to_whence (dir)); + gnulib::fseeko (f, offset, seekdir_to_whence (dir)); - return ftell (f); + return gnulib::ftello (f); } else return 0; -#endif - return -1; } std::streampos -c_file_ptr_buf::seekpos (std::streampos /* offset */, std::ios::openmode) +c_file_ptr_buf::seekpos (std::streampos offset, std::ios::openmode) { - // FIXME -#if 0 if (f) { - fseek (f, offset, SEEK_SET); + gnulib::fseeko (f, offset, SEEK_SET); - return ftell (f); + return gnulib::ftello (f); } else return 0; -#endif - return -1; } int