aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/irrlicht-1.8/tools/GUIEditor/CMemoryReadWriteFile.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/irrlicht-1.8/tools/GUIEditor/CMemoryReadWriteFile.cpp190
1 files changed, 95 insertions, 95 deletions
diff --git a/libraries/irrlicht-1.8/tools/GUIEditor/CMemoryReadWriteFile.cpp b/libraries/irrlicht-1.8/tools/GUIEditor/CMemoryReadWriteFile.cpp
index 0a69587..af46b15 100644
--- a/libraries/irrlicht-1.8/tools/GUIEditor/CMemoryReadWriteFile.cpp
+++ b/libraries/irrlicht-1.8/tools/GUIEditor/CMemoryReadWriteFile.cpp
@@ -1,95 +1,95 @@
1// Copyright (C) 2002-2012 Nikolaus Gebhardt 1// Copyright (C) 2002-2012 Nikolaus Gebhardt
2// This file is part of the "Irrlicht Engine". 2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in irrlicht.h 3// For conditions of distribution and use, see copyright notice in irrlicht.h
4 4
5#include "CMemoryReadWriteFile.h" 5#include "CMemoryReadWriteFile.h"
6 6
7using namespace irr; 7using namespace irr;
8using namespace io; 8using namespace io;
9 9
10CMemoryReadWriteFile::CMemoryReadWriteFile(const c8* filename) 10CMemoryReadWriteFile::CMemoryReadWriteFile(const c8* filename)
11: Data(), FileName(filename), Pos(0) 11: Data(), FileName(filename), Pos(0)
12{ 12{
13} 13}
14 14
15 15
16s32 CMemoryReadWriteFile::write(const void* buffer, u32 sizeToWrite) 16s32 CMemoryReadWriteFile::write(const void* buffer, u32 sizeToWrite)
17{ 17{
18 // no point in writing 0 bytes 18 // no point in writing 0 bytes
19 if (sizeToWrite < 1) 19 if (sizeToWrite < 1)
20 return 0; 20 return 0;
21 21
22 // expand size 22 // expand size
23 if (Pos + sizeToWrite > Data.size()) 23 if (Pos + sizeToWrite > Data.size())
24 Data.set_used(Pos+sizeToWrite); 24 Data.set_used(Pos+sizeToWrite);
25 25
26 // copy data 26 // copy data
27 memcpy( (void*) &Data[Pos], buffer, (size_t) sizeToWrite); 27 memcpy( (void*) &Data[Pos], buffer, (size_t) sizeToWrite);
28 28
29 Pos += sizeToWrite; 29 Pos += sizeToWrite;
30 30
31 return sizeToWrite; 31 return sizeToWrite;
32 32
33} 33}
34 34
35bool CMemoryReadWriteFile::seek(long finalPos, bool relativeMovement) 35bool CMemoryReadWriteFile::seek(long finalPos, bool relativeMovement)
36{ 36{
37 if (relativeMovement) 37 if (relativeMovement)
38 { 38 {
39 if (finalPos + Pos < 0) 39 if (finalPos + Pos < 0)
40 return 0; 40 return 0;
41 else 41 else
42 Pos += finalPos; 42 Pos += finalPos;
43 } 43 }
44 else 44 else
45 { 45 {
46 Pos = finalPos; 46 Pos = finalPos;
47 } 47 }
48 48
49 if (Pos > (s32)Data.size()) 49 if (Pos > (s32)Data.size())
50 Data.set_used(Pos+1); 50 Data.set_used(Pos+1);
51 51
52 return true; 52 return true;
53 53
54} 54}
55 55
56const io::path& CMemoryReadWriteFile::getFileName() const 56const io::path& CMemoryReadWriteFile::getFileName() const
57{ 57{
58 return FileName; 58 return FileName;
59} 59}
60 60
61long CMemoryReadWriteFile::getPos() const 61long CMemoryReadWriteFile::getPos() const
62{ 62{
63 return Pos; 63 return Pos;
64} 64}
65 65
66core::array<c8>& CMemoryReadWriteFile::getData() 66core::array<c8>& CMemoryReadWriteFile::getData()
67{ 67{
68 return Data; 68 return Data;
69} 69}
70 70
71 71
72long CMemoryReadWriteFile::getSize() const 72long CMemoryReadWriteFile::getSize() const
73{ 73{
74 return Data.size(); 74 return Data.size();
75} 75}
76 76
77 77
78s32 CMemoryReadWriteFile::read(void* buffer, u32 sizeToRead) 78s32 CMemoryReadWriteFile::read(void* buffer, u32 sizeToRead)
79{ 79{
80 // cant read past the end 80 // cant read past the end
81 if (Pos + sizeToRead >= Data.size()) 81 if (Pos + sizeToRead >= Data.size())
82 sizeToRead = Data.size() - Pos; 82 sizeToRead = Data.size() - Pos;
83 83
84 // cant read 0 bytes 84 // cant read 0 bytes
85 if (!sizeToRead) 85 if (!sizeToRead)
86 return 0; 86 return 0;
87 87
88 // copy data 88 // copy data
89 memcpy( buffer, (void*) &Data[Pos], (size_t) sizeToRead); 89 memcpy( buffer, (void*) &Data[Pos], (size_t) sizeToRead);
90 90
91 Pos += sizeToRead; 91 Pos += sizeToRead;
92 92
93 return sizeToRead; 93 return sizeToRead;
94} 94}
95 95