diff options
Diffstat (limited to 'emulator/opengl/host/libs/libOpenglRender/ReadBuffer.cpp')
-rw-r--r-- | emulator/opengl/host/libs/libOpenglRender/ReadBuffer.cpp | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/emulator/opengl/host/libs/libOpenglRender/ReadBuffer.cpp b/emulator/opengl/host/libs/libOpenglRender/ReadBuffer.cpp deleted file mode 100644 index 837b094..0000000 --- a/emulator/opengl/host/libs/libOpenglRender/ReadBuffer.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* -* Copyright (C) 2011 The Android Open Source Project -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -#include "ReadBuffer.h" -#include <string.h> -#include <assert.h> -#include <limits.h> -#include "ErrorLog.h" - -ReadBuffer::ReadBuffer(IOStream *stream, size_t bufsize) -{ - m_size = bufsize; - m_stream = stream; - m_buf = (unsigned char*)malloc(m_size*sizeof(unsigned char)); - m_validData = 0; - m_readPtr = m_buf; -} - -ReadBuffer::~ReadBuffer() -{ - free(m_buf); -} - -int ReadBuffer::getData() -{ - if ((m_validData > 0) && (m_readPtr > m_buf)) { - memmove(m_buf, m_readPtr, m_validData); - } - // get fresh data into the buffer; - size_t len = m_size - m_validData; - if (len==0) { - //we need to inc our buffer - size_t new_size = m_size*2; - unsigned char* new_buf; - if (new_size < m_size) { // overflow check - new_size = INT_MAX; - } - - new_buf = (unsigned char*)realloc(m_buf, new_size); - if (!new_buf) { - ERR("Failed to alloc %zu bytes for ReadBuffer\n", new_size); - return -1; - } - m_size = new_size; - m_buf = new_buf; - len = m_size - m_validData; - } - m_readPtr = m_buf; - if (NULL != m_stream->read(m_buf + m_validData, &len)) { - m_validData += len; - return len; - } - return -1; -} - -void ReadBuffer::consume(size_t amount) -{ - assert(amount <= m_validData); - m_validData -= amount; - m_readPtr += amount; -} |