From 440715431fb1abae0a089eaeae76df0686558097 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Wed, 26 May 2010 19:28:08 -0300 Subject: Fixed declaration of class SimpleFile. Move FILE member to internal structor to avoid errors on compilation of debian PPC. Reviewer: Luciano Wolf --- tests/libsample/simplefile.cpp | 57 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 8 deletions(-) (limited to 'tests/libsample/simplefile.cpp') diff --git a/tests/libsample/simplefile.cpp b/tests/libsample/simplefile.cpp index c79152bac..1dc378acd 100644 --- a/tests/libsample/simplefile.cpp +++ b/tests/libsample/simplefile.cpp @@ -32,18 +32,59 @@ * 02110-1301 USA */ +#include +#include #include #include "simplefile.h" +class SimpleFile_p +{ +public: + SimpleFile_p(const char* filename) : m_descriptor(0), m_size(0) + { + m_filename = strdup(filename); + } + + ~SimpleFile_p() + { + free(m_filename); + } + + char* m_filename; + FILE* m_descriptor; + long m_size; +}; + +SimpleFile::SimpleFile(const char* filename) +{ + p = new SimpleFile_p(filename); +} + +SimpleFile::~SimpleFile() +{ + close(); + delete p; +} + +const char* SimpleFile::filename() +{ + return p->m_filename; +} + +long SimpleFile::size() +{ + return p->m_size; +} + bool SimpleFile::open() { - if ((m_descriptor = fopen(m_filename, "rb")) == 0) + if ((p->m_descriptor = fopen(p->m_filename, "rb")) == 0) return false; - fseek(m_descriptor, 0, SEEK_END); - m_size = ftell(m_descriptor); - rewind(m_descriptor); + fseek(p->m_descriptor, 0, SEEK_END); + p->m_size = ftell(p->m_descriptor); + rewind(p->m_descriptor); return true; } @@ -51,16 +92,16 @@ SimpleFile::open() void SimpleFile::close() { - if (m_descriptor) { - fclose(m_descriptor); - m_descriptor = 0; + if (p->m_descriptor) { + fclose(p->m_descriptor); + p->m_descriptor = 0; } } bool SimpleFile::exists() const { - std::ifstream ifile(m_filename); + std::ifstream ifile(p->m_filename); return ifile; } -- cgit v1.2.3