diff --git a/src/_types.hpp b/src/_types.hpp index 6ffda99fb..58f0b2742 100644 --- a/src/_types.hpp +++ b/src/_types.hpp @@ -25,10 +25,12 @@ typedef unsigned long long uint64_t; typedef uint32_t Error; -#ifdef _LP64 +#if defined(_LP64) || defined(__ppc64__) typedef uint64_t size_t; -#elif _LP32 +#elif defined(_LP32) || defined(__ppc__) typedef uint32_t size_t; +#else +#error size_t undefined #endif } diff --git a/src/filestore.hpp b/src/filestore.hpp index 196050820..fe3be67fc 100644 --- a/src/filestore.hpp +++ b/src/filestore.hpp @@ -187,7 +187,7 @@ FileStore::FileStore(uint8_t *begin, uint8_t *end, Error *error): m_ve auto header = (FsHeader*) m_begin; m_root = ptr(header->rootInode); if (error) { - *error = header->size != m_end - m_begin; + *error = header->size != (unsigned ) (m_end - m_begin); } } }