summaryrefslogtreecommitdiff
path: root/src/array_data.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-01-23 09:48:00 +0100
committerCarl Hetherington <cth@carlh.net>2021-01-23 09:48:00 +0100
commita65c9be7a5c455111b44b24690fe162413268b9f (patch)
treee6ffc7792fe6040f3691695688ee5ce24b330458 /src/array_data.cc
parent302a059052e2e55345e91b5300e2389b87bd7f0a (diff)
Small bits of pre-release tidying.
Diffstat (limited to 'src/array_data.cc')
-rw-r--r--src/array_data.cc19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/array_data.cc b/src/array_data.cc
index a6f73868..61e79395 100644
--- a/src/array_data.cc
+++ b/src/array_data.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2015-2020 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2015-2021 Carl Hetherington <cth@carlh.net>
This file is part of libdcp.
@@ -31,21 +31,25 @@
files in the program, then also delete it here.
*/
+
#include "array_data.h"
#include "util.h"
#include "exceptions.h"
#include <cstdio>
#include <cerrno>
+
using boost::shared_array;
using namespace dcp;
+
ArrayData::ArrayData ()
: _size (0)
{
}
+
ArrayData::ArrayData (int size)
: _data (new uint8_t[size])
, _size (size)
@@ -53,6 +57,7 @@ ArrayData::ArrayData (int size)
}
+
ArrayData::ArrayData (uint8_t const * data, int size)
: _data (new uint8_t[size])
, _size (size)
@@ -60,6 +65,7 @@ ArrayData::ArrayData (uint8_t const * data, int size)
memcpy (_data.get(), data, size);
}
+
ArrayData::ArrayData (shared_array<uint8_t> data, int size)
: _data (data)
, _size (size)
@@ -67,21 +73,20 @@ ArrayData::ArrayData (shared_array<uint8_t> data, int size)
}
+
ArrayData::ArrayData (boost::filesystem::path file)
{
_size = boost::filesystem::file_size (file);
_data.reset (new uint8_t[_size]);
- FILE* f = fopen_boost (file, "rb");
+ auto f = fopen_boost (file, "rb");
if (!f) {
throw FileError ("could not open file for reading", file, errno);
}
- size_t const r = fread (_data.get(), 1, _size, f);
- if (r != size_t (_size)) {
- fclose (f);
+ auto const r = fread (_data.get(), 1, _size, f);
+ fclose (f);
+ if (r != static_cast<size_t>(_size)) {
throw FileError ("could not read from file", file, errno);
}
-
- fclose (f);
}