From: Tobias Markus Date: Sun, 1 Mar 2015 19:33:11 +0000 (+0100) Subject: Revert "Possible fix for coverity #29375" X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=c01aff7fe4229fe6677993dca8a3b075e7752382;p=supertux.git Revert "Possible fix for coverity #29375" This reverts commit 27b03ae38a4bdc995d41500ce8d3f4bb1b23a76b. It's quite hard to get this working! --- diff --git a/src/lisp/writer.cpp b/src/lisp/writer.cpp index 66728fb1b..63c5aa781 100644 --- a/src/lisp/writer.cpp +++ b/src/lisp/writer.cpp @@ -16,7 +16,7 @@ #include "lisp/writer.hpp" -#include "physfs/buffered_ofile_stream.hpp" +#include "physfs/ofile_stream.hpp" #include "util/log.hpp" namespace lisp { @@ -27,8 +27,7 @@ Writer::Writer(const std::string& filename) : indent_depth(), lists() { - BufferedOFileStream* filestream = new BufferedOFileStream(filename); - out = filestream->get_stream(); + out = new OFileStream(filename); out_owned = true; indent_depth = 0; out->precision(10); diff --git a/src/physfs/buffered_ofile_stream.cpp b/src/physfs/buffered_ofile_stream.cpp deleted file mode 100644 index 489ee21b6..000000000 --- a/src/physfs/buffered_ofile_stream.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// SuperTux -// Copyright (C) 2015 Tobias Markus -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program 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 General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -#ifndef HEADER_SUPERTUX_PHYSFS_BUFFERED_OFILE_STREAM_CPP -#define HEADER_SUPERTUX_PHYSFS_BUFFERED_OFILE_STREAM_CPP - -#include "physfs/buffered_ofile_stream.hpp" - -BufferedOFileStream::BufferedOFileStream(const std::string& filename) -{ - buffer = new OFileStreambuf(filename); - stream = new OFileStream(buffer); -} - -BufferedOFileStream::~BufferedOFileStream() -{ - delete buffer; - delete stream; - buffer = NULL; - stream = NULL; -} - -OFileStream* BufferedOFileStream::get_stream() -{ - return stream; -} - -#endif - -/* EOF */ diff --git a/src/physfs/buffered_ofile_stream.hpp b/src/physfs/buffered_ofile_stream.hpp deleted file mode 100644 index 9b4fea5f8..000000000 --- a/src/physfs/buffered_ofile_stream.hpp +++ /dev/null @@ -1,39 +0,0 @@ -// SuperTux -// Copyright (C) 2015 Tobias Markus -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program 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 General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -#ifndef HEADER_SUPERTUX_PHYSFS_BUFFERED_OFILE_STREAM_HPP -#define HEADER_SUPERTUX_PHYSFS_BUFFERED_OFILE_STREAM_HPP - -#include -#include -#include "physfs/ofile_stream.hpp" -#include "physfs/ofile_streambuf.hpp" - -class BufferedOFileStream { - -private: - OFileStream* stream; - OFileStreambuf* buffer; - -public: - BufferedOFileStream(const std::string& filename); - ~BufferedOFileStream(); - - OFileStream* get_stream(); -}; -#endif - -/* EOF */ diff --git a/src/physfs/ofile_stream.cpp b/src/physfs/ofile_stream.cpp index 1e7987f43..432bc94fa 100644 --- a/src/physfs/ofile_stream.cpp +++ b/src/physfs/ofile_stream.cpp @@ -19,8 +19,10 @@ #include "physfs/ofile_stream.hpp" -OFileStream::OFileStream(OFileStreambuf* buf) : - std::ostream(buf) +#include "physfs/ofile_streambuf.hpp" + +OFileStream::OFileStream(const std::string& filename) : + std::ostream(new OFileStreambuf(filename)) { } diff --git a/src/physfs/ofile_stream.hpp b/src/physfs/ofile_stream.hpp index 3de65893b..a5e8c88e1 100644 --- a/src/physfs/ofile_stream.hpp +++ b/src/physfs/ofile_stream.hpp @@ -19,14 +19,14 @@ #include #include -#include "physfs/ofile_streambuf.hpp" class OFileStream : public std::ostream { public: - OFileStream(OFileStreambuf* buf); + OFileStream(const std::string& filename); ~OFileStream(); }; + #endif /* EOF */