From 5293461a6538cf1737bb0208b65463d0878463a8 Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 22 Feb 2023 16:01:30 +0100 Subject: [PATCH] remove unused GZstream library interface files --- src/Base/CMakeLists.txt | 3 - src/Base/gzstream.cpp | 172 ---------------------------------------- src/Base/gzstream.h | 145 --------------------------------- 3 files changed, 320 deletions(-) delete mode 100644 src/Base/gzstream.cpp delete mode 100644 src/Base/gzstream.h diff --git a/src/Base/CMakeLists.txt b/src/Base/CMakeLists.txt index ba6db931e6..0a988c5206 100644 --- a/src/Base/CMakeLists.txt +++ b/src/Base/CMakeLists.txt @@ -222,8 +222,6 @@ SET(FreeCADBase_CPP_SRCS FileInfo.cpp FileTemplate.cpp FutureWatcherProgress.cpp - gzstream.cpp - gzstream.h GeometryPyCXX.cpp Handle.cpp InputSource.cpp @@ -294,7 +292,6 @@ SET(FreeCADBase_HPP_SRCS FileTemplate.h FutureWatcherProgress.h fdstream.hpp - gzstream.h GeometryPyCXX.h Handle.h InputSource.h diff --git a/src/Base/gzstream.cpp b/src/Base/gzstream.cpp deleted file mode 100644 index 85f7e3fdd2..0000000000 --- a/src/Base/gzstream.cpp +++ /dev/null @@ -1,172 +0,0 @@ -// ============================================================================ -// gzstream, C++ iostream classes wrapping the zlib compression library. -// Copyright (C) 2001 Deepak Bandyopadhyay, Lutz Kettner -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// ============================================================================ -// -// File : gzstream.C -// Revision : $Revision: 2.6 $ -// Revision_date : $Date: 2006/04/20 09:14:54 $ -// Author(s) : Deepak Bandyopadhyay, Lutz Kettner -// -// Standard streambuf implementation following Nicolai Josuttis, "The -// Standard C++ Library". -// ============================================================================ - -#include "PreCompiled.h" - -#include "gzstream.h" -#include -#include // for memcpy - - -namespace Base { - - -// ---------------------------------------------------------------------------- -// Internal classes to implement gzstream. See header file for user classes. -// ---------------------------------------------------------------------------- - -const int gzstreambuf::bufferSize = BUFFERSIZE; - -// -------------------------------------- -// class gzstreambuf: -// -------------------------------------- - -gzstreambuf* gzstreambuf::open( const char* name, int open_mode, int comp) -{ - if ( is_open()) - return (gzstreambuf*)nullptr; - mode = open_mode; - // no append nor read/write mode - if ((mode & std::ios::ate) || (mode & std::ios::app) - || ((mode & std::ios::in) && (mode & std::ios::out))) - return (gzstreambuf*)nullptr; - char fmode[10]; - char* fmodeptr = fmode; - if ( mode & std::ios::in) - *fmodeptr++ = 'r'; - else if ( mode & std::ios::out) { - assert( comp >= 1 && comp <= 9); - *fmodeptr++ = 'w'; - *fmodeptr++ = '1' + comp - 1 ; - } - *fmodeptr++ = 'b'; - *fmodeptr = '\0'; - file = gzopen( name, fmode); - if (!file) - return (gzstreambuf*)nullptr; - opened = 1; - return this; -} - -gzstreambuf * gzstreambuf::close() { - if ( is_open()) { - sync(); - opened = 0; - if ( gzclose( file) == Z_OK) - return this; - } - return (gzstreambuf*)nullptr; -} - -int gzstreambuf::underflow() { // used for input buffer only - if ( gptr() && ( gptr() < egptr())) - return * reinterpret_cast( gptr()); - - if ( ! (mode & std::ios::in) || ! opened) - return EOF; - // Josuttis' implementation of inbuf - int n_putback = gptr() - eback(); - if ( n_putback > 4) - n_putback = 4; - memcpy( buffer + (4 - n_putback), gptr() - n_putback, n_putback); - - int num = gzread( file, buffer+4, bufferSize-4); - if (num <= 0) // ERROR or EOF - return EOF; - - // reset buffer pointers - setg( buffer + (4 - n_putback), // beginning of putback area - buffer + 4, // read position - buffer + 4 + num); // end of buffer - - // return next character - return * reinterpret_cast( gptr()); -} - -int gzstreambuf::flush_buffer() { - // Separate the writing of the buffer from overflow() and - // sync() operation. - int w = pptr() - pbase(); - if ( gzwrite( file, pbase(), w) != w) - return EOF; - pbump( -w); - return w; -} - -int gzstreambuf::overflow( int c) { // used for output buffer only - if ( ! ( mode & std::ios::out) || ! opened) - return EOF; - if (c != EOF) { - *pptr() = c; - pbump(1); - } - if ( flush_buffer() == EOF) - return EOF; - return c; -} - -int gzstreambuf::sync() { - // Changed to use flush_buffer() instead of overflow( EOF) - // which caused improper behavior with std::endl and flush(), - // bug reported by Vincent Ricard. - if ( pptr() && pptr() > pbase()) { - if ( flush_buffer() == EOF) - return -1; - } - return 0; -} - -// -------------------------------------- -// class gzstreambase: -// -------------------------------------- - -gzstreambase::gzstreambase( const char* name, int mode,int comp) { - init( &buf); - open( name, mode, comp); -} - -gzstreambase::~gzstreambase() { - buf.close(); -} - -void gzstreambase::open( const char* name, int open_mode, int comp) { - if ( ! buf.open( name, open_mode, comp)) - clear( rdstate() | std::ios::badbit); -} - -void gzstreambase::close() { - if ( buf.is_open()) - if ( ! buf.close()) - clear( rdstate() | std::ios::badbit); -} - - -} // namespace Base - -// ============================================================================ -// EOF // diff --git a/src/Base/gzstream.h b/src/Base/gzstream.h deleted file mode 100644 index 4f6222a54a..0000000000 --- a/src/Base/gzstream.h +++ /dev/null @@ -1,145 +0,0 @@ -// ============================================================================ -// gzstream, C++ iostream classes wrapping the zlib compression library. -// Copyright (C) 2001 Deepak Bandyopadhyay, Lutz Kettner -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// ============================================================================ -// -// File : gzstream.h -// Revision : Revision: 1.5 -// Revision_date : Date: 2002/04/26 23:30:15 -// Author(s) : Deepak Bandyopadhyay, Lutz Kettner -// -// Standard streambuf implementation following Nicolai Josuttis, "The -// Standard C++ Library". -// ============================================================================ - -#ifndef GZSTREAM_H -#define GZSTREAM_H 1 - -#include -#include -#include - -#ifdef _MSC_VER -using std::ostream; -using std::istream; -#endif - - -namespace Base { - - -#define BUFFERSIZE 47+256 -//const int bufferSize = 47+256; // size of data buff - - -// ---------------------------------------------------------------------------- -// Internal classes to implement gzstream. See below for user classes. -// ---------------------------------------------------------------------------- - -class BaseExport gzstreambuf : public std::streambuf { -private: - static const int bufferSize; // size of data buff - // totals 512 bytes under g++ for igzstream at the end. - - gzFile file; // file handle for compressed file - char buffer[BUFFERSIZE]; // data buffer - char opened; // open/close state of stream - int mode; // I/O mode - - int flush_buffer(); -public: - gzstreambuf() : file(nullptr), opened(0), mode(0) { - setp( buffer, buffer + (bufferSize-1)); - setg( buffer + 4, // beginning of putback area - buffer + 4, // read position - buffer + 4); // end position - // ASSERT: both input & output capabilities will not be used together - } - int is_open() { return opened; } - gzstreambuf* open( const char* name, int open_mode, int comp); - gzstreambuf* close(); - ~gzstreambuf() override { close(); } - - int overflow( int c = EOF) override; - int underflow() override; - int sync() override; -}; - -class BaseExport gzstreambase : virtual public std::ios { -protected: - gzstreambuf buf; -public: - gzstreambase() { init(&buf); } - gzstreambase( const char* name, int open_mode, int comp); - ~gzstreambase() override; - void open( const char* name, int open_mode, int comp); - void close(); - gzstreambuf* rdbuf() { return &buf; } -}; - -// ---------------------------------------------------------------------------- -// User classes. Use igzstream and ogzstream analogously to ifstream and -// ofstream respectively. They read and write files based on the gz* -// function interface of the zlib. Files are compatible with gzip compression. -// ---------------------------------------------------------------------------- - -class BaseExport igzstream : public gzstreambase, public std::istream { -public: - igzstream() -#ifdef _MSC_VER - : istream( &buf) {} -#else - : std::istream( &buf) {} -#endif - igzstream( const char* name, int open_mode = std::ios_base::in, int comp = 1) -#ifdef _MSC_VER - : gzstreambase( name, open_mode, comp ), istream( &buf) {} -#else - : gzstreambase( name, open_mode, comp), std::istream( &buf) {} -#endif - gzstreambuf* rdbuf() { return gzstreambase::rdbuf(); } - void open( const char* name, int open_mode = std::ios_base::in, int comp = 1) { - gzstreambase::open( name, open_mode, comp); - } -}; - -class BaseExport ogzstream : public gzstreambase, public std::ostream { -public: - ogzstream() -#ifdef _MSC_VER - : ostream( &buf) {} -#else - : std::ostream( &buf) {} -#endif - ogzstream( const char* name, int mode = std::ios_base::out, int comp = 1) -#ifdef _MSC_VER - : gzstreambase( name, mode, comp), ostream( &buf) {} -#else - : gzstreambase( name, mode, comp), std::ostream( &buf) {} -#endif - gzstreambuf* rdbuf() { return gzstreambase::rdbuf(); } - void open( const char* name, int open_mode = std::ios_base::out, int comp = 1) { - gzstreambase::open( name, open_mode, comp); - } -}; - -} // namespace BAse - -#endif // GZSTREAM_H -// ============================================================================ -// EOF // -