summaryrefslogtreecommitdiff
path: root/methods/rred.cc
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2016-09-02 22:38:34 +0200
committerJulian Andres Klode <jak@debian.org>2016-09-02 22:38:34 +0200
commit969d33307ae0cc1b433a0462ef1561580ea6ddbc (patch)
tree0322cf6e3a82a1536c4516e8729993ce68af57af /methods/rred.cc
parentf6c10fb46d1193b8181b5846538e2cf7c15ff216 (diff)
parent54dd6baaf16e92c83f63bdb3633df6e603ac19f3 (diff)
Merge tag '1.3_rc4' into ubuntu/master
apt Debian release 1.3~rc4
Diffstat (limited to 'methods/rred.cc')
-rw-r--r--methods/rred.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/methods/rred.cc b/methods/rred.cc
index 0c641ad82..958933a07 100644
--- a/methods/rred.cc
+++ b/methods/rred.cc
@@ -335,7 +335,7 @@ class Patch {
FileChanges filechanges;
MemBlock add_text;
- static bool retry_fwrite(char *b, size_t l, FileFd &f, Hashes * const start_hash, Hashes * const end_hash = nullptr)
+ static bool retry_fwrite(char *b, size_t l, FileFd &f, Hashes * const start_hash, Hashes * const end_hash = nullptr) APT_NONNULL(1)
{
if (f.Write(b, l) == false)
return false;
@@ -385,8 +385,8 @@ class Patch {
}
}
- static void dump_mem(FileFd &o, char *p, size_t s, Hashes *hash) {
- retry_fwrite(p, s, o, hash);
+ static void dump_mem(FileFd &o, char *p, size_t s, Hashes *hash) APT_NONNULL(2) {
+ retry_fwrite(p, s, o, nullptr, hash);
}
public:
@@ -538,7 +538,8 @@ class Patch {
for (ch = filechanges.begin(); ch != filechanges.end(); ++ch) {
dump_lines(out, in, ch->offset, start_hash, end_hash);
skip_lines(in, ch->del_cnt, start_hash);
- dump_mem(out, ch->add, ch->add_len, end_hash);
+ if (ch->add_len != 0)
+ dump_mem(out, ch->add, ch->add_len, end_hash);
}
dump_rest(out, in, start_hash, end_hash);
out.Flush();