Esempio n. 1
0
bool BufferedFile::open(
    const char*         path,
    const FileType      type,
    const FileMode      mode,
    const size_t        buffer_size)
{
    assert(m_file == 0);
    assert(path);
    assert(buffer_size > 0);

    const string mode_string = build_mode_string(type, mode);

    m_file = fopen(path, mode_string.c_str());

    if (m_file == 0)
        return false;

    m_file_mode = mode;
    m_file_index = 0;
    m_buffer = new uint8[buffer_size];
    m_buffer_size = buffer_size;
    m_buffer_end = mode == ReadMode ? 0 : m_buffer_size;
    m_buffer_index = 0;

    return true;
}
Esempio n. 2
0
filetype* file_reopen(const char *filename, int mode, filetype *stream)
{
	return freopen(filename, build_mode_string(mode), stream);
}
Esempio n. 3
0
filetype* file_open(const char *filename, int mode)
{
	return fopen(filename, build_mode_string(mode));
}