diff --git a/CMakeLists.txt b/CMakeLists.txt index 9743772..992e2ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -317,13 +317,13 @@ set(INNOEXTRACT_SOURCES src/util/load.cpp src/util/log.hpp src/util/log.cpp + src/util/math.hpp src/util/output.hpp src/util/storedenum.hpp src/util/time.hpp src/util/time.cpp src/util/types.hpp src/util/unique_ptr.hpp - src/util/util.hpp src/util/windows.hpp src/util/windows.cpp if WIN32 diff --git a/src/crypto/iteratedhash.hpp b/src/crypto/iteratedhash.hpp index 46d9e7a..8101a0a 100644 --- a/src/crypto/iteratedhash.hpp +++ b/src/crypto/iteratedhash.hpp @@ -30,8 +30,8 @@ #include "crypto/checksum.hpp" #include "util/endian.hpp" +#include "util/math.hpp" #include "util/types.hpp" -#include "util/util.hpp" namespace crypto { diff --git a/src/crypto/md5.cpp b/src/crypto/md5.cpp index b42f1c2..b355b19 100644 --- a/src/crypto/md5.cpp +++ b/src/crypto/md5.cpp @@ -24,7 +24,7 @@ #include "crypto/md5.hpp" -#include "util/util.hpp" +#include "util/math.hpp" namespace crypto { diff --git a/src/crypto/sha1.cpp b/src/crypto/sha1.cpp index 7d19eff..aece111 100644 --- a/src/crypto/sha1.cpp +++ b/src/crypto/sha1.cpp @@ -23,7 +23,7 @@ #include "crypto/sha1.hpp" -#include "util/util.hpp" +#include "util/math.hpp" namespace crypto { diff --git a/src/loader/offsets.cpp b/src/loader/offsets.cpp index 4e227df..6647129 100644 --- a/src/loader/offsets.cpp +++ b/src/loader/offsets.cpp @@ -102,16 +102,15 @@ bool offsets::load_offsets_at(std::istream & is, boost::uint32_t pos) { } char magic[12]; - if(is.read(magic, std::streamsize(boost::size(magic))).fail()) { + if(is.read(magic, std::streamsize(sizeof(magic))).fail()) { is.clear(); return false; } setup::version_constant version = 0; for(size_t i = 0; i < boost::size(known_setup_loader_versions); i++) { - BOOST_STATIC_ASSERT(ARRAY_SIZE(known_setup_loader_versions[i].magic) - == ARRAY_SIZE(magic)); - if(!memcmp(magic, known_setup_loader_versions[i].magic, boost::size(magic))) { + BOOST_STATIC_ASSERT(sizeof(known_setup_loader_versions[i].magic) == sizeof(magic)); + if(!memcmp(magic, known_setup_loader_versions[i].magic, sizeof(magic))) { version = known_setup_loader_versions[i].version; break; } @@ -122,7 +121,7 @@ bool offsets::load_offsets_at(std::istream & is, boost::uint32_t pos) { crypto::crc32 checksum; checksum.init(); - checksum.update(magic, boost::size(magic)); + checksum.update(magic, sizeof(magic)); if(version >= INNO_VERSION(5, 1, 5)) { boost::uint32_t revision = checksum.load(is); diff --git a/src/stream/block.cpp b/src/stream/block.cpp index 4113e8c..41b6b83 100644 --- a/src/stream/block.cpp +++ b/src/stream/block.cpp @@ -42,7 +42,7 @@ #include "util/enum.hpp" #include "util/load.hpp" #include "util/log.hpp" -#include "util/util.hpp" +#include "util/math.hpp" namespace io = boost::iostreams; diff --git a/src/stream/chunk.cpp b/src/stream/chunk.cpp index 3d64329..eadafc1 100644 --- a/src/stream/chunk.cpp +++ b/src/stream/chunk.cpp @@ -30,7 +30,6 @@ #include "stream/restrict.hpp" #include "stream/slice.hpp" #include "util/log.hpp" -#include "util/util.hpp" namespace io = boost::iostreams; @@ -69,7 +68,7 @@ chunk_reader::pointer chunk_reader::get(slice_reader & base, const chunk & chunk throw chunk_error("could not seek to chunk start"); } - char magic[ARRAY_SIZE(chunk_id)]; + char magic[sizeof(chunk_id)]; if(base.read(magic, 4) != 4 || memcmp(magic, chunk_id, boost::size(chunk_id))) { throw chunk_error("bad chunk magic"); } diff --git a/src/util/util.hpp b/src/util/math.hpp similarity index 92% rename from src/util/util.hpp rename to src/util/math.hpp index 8171f64..43aa858 100644 --- a/src/util/util.hpp +++ b/src/util/math.hpp @@ -19,10 +19,10 @@ */ /*! - * Miscellaneous utility functions. + * Math helper functions. */ -#ifndef INNOEXTRACT_UTIL_UTIL_HPP -#define INNOEXTRACT_UTIL_UTIL_HPP +#ifndef INNOEXTRACT_UTIL_MATH_HPP +#define INNOEXTRACT_UTIL_MATH_HPP #ifdef _MSC_VER #include @@ -30,9 +30,6 @@ namespace util { -//! Get the number of elements in a statically-sized array. -#define ARRAY_SIZE(array) (sizeof(array)/sizeof(*(array))) - //! Divide by a number and round up the result. template T ceildiv(T num, T denom) { @@ -132,4 +129,4 @@ inline boost::uint64_t rotl_fixed(boost::uint64_t x, unsigned i } // namespace util -#endif // INNOEXTRACT_UTIL_UTIL_HPP +#endif // INNOEXTRACT_UTIL_MATH_HPP diff --git a/src/util/storedenum.hpp b/src/util/storedenum.hpp index 0cddd0c..729265d 100644 --- a/src/util/storedenum.hpp +++ b/src/util/storedenum.hpp @@ -44,7 +44,7 @@ struct MapName { \ static const size_t count; \ }; \ const MapName::enum_type MapName::values[] = { __VA_ARGS__ }; \ -const size_t MapName::count = ARRAY_SIZE(MapName::values) +const size_t MapName::count = (sizeof(MapName::values)/sizeof(*(MapName::values))) //! Declare a mapping from integers to enum elements to be used for \ref stored_enum #define STORED_ENUM_MAP(MapName, Default, /* elements */ ...) \ diff --git a/src/util/types.hpp b/src/util/types.hpp index f3e2407..14dd228 100644 --- a/src/util/types.hpp +++ b/src/util/types.hpp @@ -30,7 +30,7 @@ #include #include -#include "util/util.hpp" +#include "util/math.hpp" #include "configure.hpp"