summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authorWayne Davison <wayne@opencoder.net>2022-08-08 21:18:10 -0700
committerWayne Davison <wayne@opencoder.net>2022-08-08 21:18:10 -0700
commit685bf5804691d4af779a4deac28c7fbcf52b5009 (patch)
tree70b2363eb1fccb39a8adda386cc74ae0c61b5bee /io.c
parent9e2921fce8c518e370c324407d35bc83ba12f2d5 (diff)
downloadrsync-685bf5804691d4af779a4deac28c7fbcf52b5009.tar.gz
Handle files-from args that span 2 buffers.
Diffstat (limited to 'io.c')
-rw-r--r--io.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/io.c b/io.c
index a6e3ed30..7111878a 100644
--- a/io.c
+++ b/io.c
@@ -376,6 +376,7 @@ static void forward_filesfrom_data(void)
free_xbuf(&ff_xb);
if (ff_reenable_multiplex >= 0)
io_start_multiplex_out(ff_reenable_multiplex);
+ free_implied_include_partial_string();
}
return;
}
@@ -435,6 +436,7 @@ static void forward_filesfrom_data(void)
ff_lastchar = '\0';
else {
/* Handle a partial string specially, saving any incomplete chars. */
+ implied_include_partial_string(sob, s);
flags &= ~ICB_INCLUDE_INCOMPLETE;
if (iconvbufs(ic_send, &ff_xb, &iobuf.out, flags) < 0) {
if (errno == E2BIG)
@@ -461,6 +463,7 @@ static void forward_filesfrom_data(void)
f++;
}
}
+ implied_include_partial_string(cur, t);
ff_lastchar = f[-1];
if ((len = t - ff_xb.buf) != 0) {
/* This will not circle back to perform_io() because we only get