diff --git a/src/kits/package/RepositoryInfo.cpp b/src/kits/package/RepositoryInfo.cpp index c675632fcc..5878dfcccd 100644 --- a/src/kits/package/RepositoryInfo.cpp +++ b/src/kits/package/RepositoryInfo.cpp @@ -15,6 +15,7 @@ #include #include +#include #include diff --git a/src/kits/package/hpkg/DataReader.cpp b/src/kits/package/hpkg/DataReader.cpp index d5a2819ec2..2d2999c54d 100644 --- a/src/kits/package/hpkg/DataReader.cpp +++ b/src/kits/package/hpkg/DataReader.cpp @@ -90,7 +90,7 @@ BBufferDataReader::ReadData(off_t offset, void* buffer, size_t size) if (offset < 0) return B_BAD_VALUE; - if (size > fSize || offset > fSize - size) + if (size > fSize || offset > (off_t)fSize - (off_t)size) return B_ERROR; memcpy(buffer, (const uint8*)fData + offset, size); diff --git a/src/kits/package/hpkg/PackageWriterImpl.cpp b/src/kits/package/hpkg/PackageWriterImpl.cpp index f2f277648d..3761d9e043 100644 --- a/src/kits/package/hpkg/PackageWriterImpl.cpp +++ b/src/kits/package/hpkg/PackageWriterImpl.cpp @@ -671,7 +671,11 @@ PackageWriterImpl::_AddEntry(int dirFD, Entry* entry, const char* fileName, } _AddAttribute(B_HPKG_ATTRIBUTE_ID_FILE_ATIME, uint32(st.st_atime)); _AddAttribute(B_HPKG_ATTRIBUTE_ID_FILE_MTIME, uint32(st.st_mtime)); +#ifdef __HAIKU__ _AddAttribute(B_HPKG_ATTRIBUTE_ID_FILE_CRTIME, uint32(st.st_crtime)); +#else + _AddAttribute(B_HPKG_ATTRIBUTE_ID_FILE_CRTIME, uint32(st.st_mtime)); +#endif // TODO: File user/group! // add file data/symlink path diff --git a/src/kits/package/hpkg/ReaderImplBase.cpp b/src/kits/package/hpkg/ReaderImplBase.cpp index 9affaecd80..d7cb3e95af 100644 --- a/src/kits/package/hpkg/ReaderImplBase.cpp +++ b/src/kits/package/hpkg/ReaderImplBase.cpp @@ -964,7 +964,8 @@ ReaderImplBase::ReadCompressedBuffer(const SectionInfo& section) while (compressedSize > 0) { // read compressed buffer - size_t toRead = std::min(compressedSize, fScratchBufferSize); + size_t toRead = std::min((size_t)compressedSize, + fScratchBufferSize); error = ReadBuffer(offset, fScratchBuffer, toRead); if (error != B_OK) return error;