GCC Code Coverage Report
Directory: src/ Exec Total Coverage
File: src/fs/virtfs/file.cpp Lines: 13 13 100.0 %
Date: 2021-03-17 Branches: 4 4 100.0 %

Line Branch Exec Source
1
/*
2
 *  The ManaPlus Client
3
 *  Copyright (C) 2017-2019  The ManaPlus Developers
4
 *  Copyright (C) 2019-2021  Andrei Karas
5
 *
6
 *  This file is part of The ManaPlus Client.
7
 *
8
 *  This program is free software; you can redistribute it and/or modify
9
 *  it under the terms of the GNU General Public License as published by
10
 *  the Free Software Foundation; either version 2 of the License, or
11
 *  any later version.
12
 *
13
 *  This program is distributed in the hope that it will be useful,
14
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 *  GNU General Public License for more details.
17
 *
18
 *  You should have received a copy of the GNU General Public License
19
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
 */
21
22
#include "fs/virtfs/file.h"
23
24
#include "debug.h"
25
26
namespace VirtFs
27
{
28
29
44
File::File(const FsFuncs *restrict const funcs0,
30
           const uint8_t *restrict const buf,
31
44
           const size_t sz) :
32
    funcs(funcs0),
33
    mBuf(buf),
34
    mPos(0U),
35
    mSize(sz),
36
44
    mFd(FILEHDEFAULT)
37
{
38
44
}
39
40
1639
File::File(const FsFuncs *restrict const funcs0,
41
1639
           FILEHTYPE fd) :
42
    funcs(funcs0),
43
    mBuf(nullptr),
44
    mPos(0U),
45
    mSize(0U),
46
1639
    mFd(fd)
47
{
48
1639
}
49
50
3366
File::~File()
51
{
52
1683
    if (mFd != FILEHDEFAULT)
53
1639
        FILECLOSE(mFd);
54
1683
    delete [] mBuf;
55
1683
}
56
57
}  // namespace VirtFs