diff options
| author | наб <nabijaczleweli@nabijaczleweli.xyz> | 2024-11-11 16:21:04 +0100 |
|---|---|---|
| committer | наб <nabijaczleweli@nabijaczleweli.xyz> | 2024-11-12 13:46:18 +0100 |
| commit | 83e4e77dc2ac0c2a03769f5ccc6649bd6594c480 (patch) | |
| tree | f22a18bbbea39ae2a020463173f1d7ec2b531f1d /apt-pkg | |
| parent | 9f81a8dd0ee585a360ae0ae7786959630a8d0be0 (diff) | |
pkgDPkgPMPrivate::dpkgbuf: char[1024] -> array<char, APT_BUFFER_SIZE>
Diffstat (limited to 'apt-pkg')
| -rw-r--r-- | apt-pkg/deb/dpkgpm.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 31f81af7c..461a901d3 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -117,7 +117,7 @@ public: bool stdin_is_dev_null; bool status_fd_reached_end_of_file; // the buffer we use for the dpkg status-fd reading - char dpkgbuf[1024]; + std::array<char, APT_BUFFER_SIZE> dpkgbuf; size_t dpkgbuf_pos; FILE *term_out; FILE *history_out; @@ -947,7 +947,7 @@ void pkgDPkgPM::handleCrossUpgradeAction(string const &pkgname) /*{{{*/ // DPkgPM::DoDpkgStatusFd /*{{{*/ void pkgDPkgPM::DoDpkgStatusFd(int statusfd) { - auto const remainingBuffer = (sizeof(d->dpkgbuf) / sizeof(d->dpkgbuf[0])) - d->dpkgbuf_pos; + auto const remainingBuffer = d->dpkgbuf.size() - d->dpkgbuf_pos; if (likely(remainingBuffer > 0) && d->status_fd_reached_end_of_file == false) { auto const len = read(statusfd, &d->dpkgbuf[d->dpkgbuf_pos], remainingBuffer); @@ -958,12 +958,12 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd) d->status_fd_reached_end_of_file = true; return; } - d->dpkgbuf_pos += (len / sizeof(d->dpkgbuf[0])); + d->dpkgbuf_pos += len; } // process line by line from the buffer - char *p = d->dpkgbuf, *q = nullptr; - while((q=(char*)memchr(p, '\n', (d->dpkgbuf + d->dpkgbuf_pos) - p)) != nullptr) + char *p = d->dpkgbuf.data(), *q = nullptr; + while((q=(char*)memchr(p, '\n', &d->dpkgbuf[d->dpkgbuf_pos] - p)) != nullptr) { *q = '\0'; ProcessDpkgStatusLine(p); @@ -971,15 +971,15 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd) } // check if we stripped the buffer clean - if (p > (d->dpkgbuf + d->dpkgbuf_pos)) + if (p > (d->dpkgbuf.data() + d->dpkgbuf_pos)) { d->dpkgbuf_pos = 0; return; } // otherwise move the unprocessed tail to the start and update pos - memmove(d->dpkgbuf, p, (p - d->dpkgbuf)); - d->dpkgbuf_pos = (d->dpkgbuf + d->dpkgbuf_pos) - p; + memmove(d->dpkgbuf.data(), p, (p - d->dpkgbuf.data())); + d->dpkgbuf_pos = &d->dpkgbuf[d->dpkgbuf_pos] - p; } /*}}}*/ // DPkgPM::WriteHistoryTag /*{{{*/ |
