This is an automated email from the git hooks/post-receive script. smcv pushed a commit to branch debian/master in repository openjk.
commit 0b8140cc1b0a40fea9edd012cbc5523a366431cc Author: bibendovsky <[email protected]> Date: Sat Jul 16 20:10:34 2016 +0300 Add method to advance the buffer offset --- shared/qcommon/ojk_i_saved_game_fwd.h | 5 ++++ shared/qcommon/ojk_saved_game.cpp | 43 +++++++++++++++++++++++++++++++++++ shared/qcommon/ojk_saved_game.h | 3 +++ 3 files changed, 51 insertions(+) diff --git a/shared/qcommon/ojk_i_saved_game_fwd.h b/shared/qcommon/ojk_i_saved_game_fwd.h index 141d8bb..1a989c1 100644 --- a/shared/qcommon/ojk_i_saved_game_fwd.h +++ b/shared/qcommon/ojk_i_saved_game_fwd.h @@ -116,6 +116,11 @@ public: int src_count); + // Increments buffer's offset by the specified non-negative count. + virtual void advance_buffer( + int count) = 0; + + // Returns an I/O buffer. virtual const Buffer& get_buffer() const = 0; diff --git a/shared/qcommon/ojk_saved_game.cpp b/shared/qcommon/ojk_saved_game.cpp index 3ab447d..5ceeab7 100644 --- a/shared/qcommon/ojk_saved_game.cpp +++ b/shared/qcommon/ojk_saved_game.cpp @@ -510,6 +510,49 @@ void SavedGame::set_preview_mode( is_preview_mode_ = value; } +void SavedGame::advance_buffer( + int count) +{ + if (!is_readable_ && !is_writable_) + { + throw_error( + "Not open or created."); + } + + if (count < 0) + { + throw_error( + "Negative count."); + } + + if (count == 0) + { + return; + } + + auto new_offset = io_buffer_offset_ + count; + auto buffer_size = io_buffer_.size(); + + if (new_offset > buffer_size) + { + if (is_readable_) + { + throw_error( + "Not enough data."); + } + else if (is_writable_) + { + io_buffer_offset_ = new_offset; + + if (new_offset > buffer_size) + { + io_buffer_.resize( + new_offset); + } + } + } +} + const SavedGame::Buffer& SavedGame::get_buffer() const { return io_buffer_; diff --git a/shared/qcommon/ojk_saved_game.h b/shared/qcommon/ojk_saved_game.h index 7511a2b..d0ece43 100644 --- a/shared/qcommon/ojk_saved_game.h +++ b/shared/qcommon/ojk_saved_game.h @@ -91,6 +91,9 @@ public: void set_preview_mode( bool value); + // Increments buffer's offset by the specified non-negative count. + void advance_buffer( + int count) override; // Returns an I/O buffer. const Buffer& get_buffer() const override; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/openjk.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

