diff options
| author | наб <nabijaczleweli@nabijaczleweli.xyz> | 2024-11-11 15:23:46 +0100 |
|---|---|---|
| committer | наб <nabijaczleweli@nabijaczleweli.xyz> | 2024-11-11 15:52:43 +0100 |
| commit | e59793e29ecb47c63b72de4f9d1e6d044a0ff6f2 (patch) | |
| tree | 5973246672cedba43849a5291db0f9e749b14713 /apt-pkg/contrib | |
| parent | df72264891212bc9846649f3f769a1c44fe787bf (diff) | |
Turn char[APT_BUFFER_SIZE] buffers into std::array<char, APT_BUFFER_SIZE>
Diffstat (limited to 'apt-pkg/contrib')
| -rw-r--r-- | apt-pkg/contrib/fileutl.cc | 35 | ||||
| -rw-r--r-- | apt-pkg/contrib/hashes.cc | 17 |
2 files changed, 26 insertions, 26 deletions
diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 4ad7b4cd5..db97738e3 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -59,6 +59,7 @@ #include <unistd.h> #include <algorithm> +#include <array> #include <memory> #include <set> @@ -1246,12 +1247,11 @@ public: } virtual bool InternalSkip(unsigned long long Over) { - unsigned long long constexpr buffersize = APT_BUFFER_SIZE; - char buffer[buffersize]; + std::array<char, APT_BUFFER_SIZE> buffer; while (Over != 0) { - unsigned long long toread = std::min(buffersize, Over); - if (filefd->Read(buffer, toread) == false) + auto toread = std::min<unsigned long long>(buffer.size(), Over); + if (filefd->Read(buffer.data(), toread) == false) return filefd->FileFdError("Unable to seek ahead %llu",Over); Over -= toread; } @@ -1273,10 +1273,10 @@ public: { unsigned long long size = 0; unsigned long long const oldSeek = filefd->Tell(); - char ignore[APT_BUFFER_SIZE]; + std::array<char, APT_BUFFER_SIZE> ignore; unsigned long long read = 0; do { - if (filefd->Read(ignore, sizeof(ignore), &read) == false) + if (filefd->Read(ignore.data(), ignore.size(), &read) == false) { filefd->Seek(oldSeek); return 0; @@ -1994,7 +1994,7 @@ class APT_HIDDEN LzmaFileFdPrivate: public FileFdPrivate { /*{{{*/ struct LZMAFILE { FILE* file; FileFd * const filefd; - uint8_t buffer[APT_BUFFER_SIZE]; + std::array<unsigned char, APT_BUFFER_SIZE> buffer; lzma_stream stream; lzma_ret err; bool eof; @@ -2005,19 +2005,18 @@ class APT_HIDDEN LzmaFileFdPrivate: public FileFdPrivate { /*{{{*/ { if (compressing == true && filefd->Failed() == false) { - size_t constexpr buffersize = sizeof(buffer)/sizeof(buffer[0]); while(true) { - stream.avail_out = buffersize; - stream.next_out = buffer; + stream.avail_out = buffer.size(); + stream.next_out = buffer.data(); err = lzma_code(&stream, LZMA_FINISH); if (err != LZMA_OK && err != LZMA_STREAM_END) { _error->Error("~LZMAFILE: Compress finalisation failed"); break; } - size_t const n = buffersize - stream.avail_out; - if (n && fwrite(buffer, 1, n, file) != n) + size_t const n = buffer.size() - stream.avail_out; + if (n && fwrite(buffer.data(), 1, n, file) != n) { _error->Errno("~LZMAFILE",_("Write error")); break; @@ -2112,8 +2111,8 @@ public: lzma->stream.avail_out = Size; if (lzma->stream.avail_in == 0) { - lzma->stream.next_in = lzma->buffer; - lzma->stream.avail_in = fread(lzma->buffer, 1, sizeof(lzma->buffer)/sizeof(lzma->buffer[0]), lzma->file); + lzma->stream.next_in = lzma->buffer.data(); + lzma->stream.avail_in = fread(lzma->buffer.data(), 1, lzma->buffer.size(), lzma->file); } lzma->err = lzma_code(&lzma->stream, LZMA_RUN); if (lzma->err == LZMA_STREAM_END) @@ -2147,13 +2146,13 @@ public: ssize_t Res; lzma->stream.next_in = (uint8_t *)From; lzma->stream.avail_in = Size; - lzma->stream.next_out = lzma->buffer; - lzma->stream.avail_out = sizeof(lzma->buffer)/sizeof(lzma->buffer[0]); + lzma->stream.next_out = lzma->buffer.data(); + lzma->stream.avail_out = lzma->buffer.size(); lzma->err = lzma_code(&lzma->stream, LZMA_RUN); if (lzma->err != LZMA_OK) return -1; - size_t const n = sizeof(lzma->buffer)/sizeof(lzma->buffer[0]) - lzma->stream.avail_out; - size_t const m = (n == 0) ? 0 : fwrite(lzma->buffer, 1, n, lzma->file); + size_t const n = lzma->buffer.size() - lzma->stream.avail_out; + size_t const m = (n == 0) ? 0 : fwrite(lzma->buffer.data(), 1, n, lzma->file); if (m != n) { Res = -1; diff --git a/apt-pkg/contrib/hashes.cc b/apt-pkg/contrib/hashes.cc index 7ff5f9e9f..0ad51fff0 100644 --- a/apt-pkg/contrib/hashes.cc +++ b/apt-pkg/contrib/hashes.cc @@ -21,6 +21,7 @@ #include <apt-pkg/tagfile.h> #include <algorithm> +#include <array> #include <cassert> #include <cstddef> #include <cstdlib> @@ -372,33 +373,33 @@ bool Hashes::Add(const unsigned char * const Data, unsigned long long const Size } bool Hashes::AddFD(int const Fd,unsigned long long Size) { - unsigned char Buf[APT_BUFFER_SIZE]; + std::array<unsigned char, APT_BUFFER_SIZE> Buf; bool const ToEOF = (Size == UntilEOF); while (Size != 0 || ToEOF) { - decltype(Size) n = sizeof(Buf); + decltype(Size) n = Buf.size(); if (!ToEOF) n = std::min(Size, n); - ssize_t const Res = read(Fd,Buf,n); + ssize_t const Res = read(Fd,Buf.data(),n); if (Res < 0 || (!ToEOF && Res != (ssize_t) n)) // error, or short read return false; if (ToEOF && Res == 0) // EOF break; Size -= Res; - if (Add(Buf, Res) == false) + if (Add(Buf.data(), Res) == false) return false; } return true; } bool Hashes::AddFD(FileFd &Fd,unsigned long long Size) { - unsigned char Buf[APT_BUFFER_SIZE]; + std::array<unsigned char, APT_BUFFER_SIZE> Buf; bool const ToEOF = (Size == 0); while (Size != 0 || ToEOF) { - decltype(Size) n = sizeof(Buf); + decltype(Size) n = Buf.size(); if (!ToEOF) n = std::min(Size, n); decltype(Size) a = 0; - if (Fd.Read(Buf, n, &a) == false) // error + if (Fd.Read(Buf.data(), n, &a) == false) // error return false; if (ToEOF == false) { @@ -408,7 +409,7 @@ bool Hashes::AddFD(FileFd &Fd,unsigned long long Size) else if (a == 0) // EOF break; Size -= a; - if (Add(Buf, a) == false) + if (Add(Buf.data(), a) == false) return false; } return true; |
