Remove warnings
[anna.git] / source / io / BinaryReader.cpp
1 // ANNA - Anna is Not Nothingness Anymore                                                         //
2 //                                                                                                //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
4 //                                                                                                //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite                           //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7
8
9 #include <stdio.h>
10
11 #include <anna/config/defines.hpp>
12
13 #include <anna/io/BinaryReader.hpp>
14 #include <anna/io/internal/sccs.hpp>
15
16 using namespace std;
17 using namespace anna;
18
19 io::BinaryReader::BinaryReader(const int blockSize) :
20   AbstractReader(),
21   DataBlock(true),
22   a_blockSize(blockSize) {
23   sccs::activate();
24 }
25
26 io::BinaryReader::BinaryReader(const char* filename, const int blockSize) :
27   AbstractReader(filename),
28   DataBlock(true),
29   a_blockSize(blockSize) {
30   sccs::activate();
31 }
32
33 io::BinaryReader::BinaryReader(const std::string& filename, const int blockSize) :
34   AbstractReader(filename),
35   DataBlock(true),
36   a_blockSize(blockSize) {
37   sccs::activate();
38 }
39
40 /* virtual */
41 io::BinaryReader::~BinaryReader() {
42 }
43
44 const DataBlock* io::BinaryReader::fetch()
45 throw(RuntimeException) {
46   verify();
47   allocate(a_blockSize);
48   size_t blockSize = fread((char *) getData(), 1, a_blockSize, a_file);
49
50   if(blockSize == 0)
51     return NULL;
52
53   setSize(blockSize);
54   return this;
55 }