diff options
author | Wayne Davison <wayne@opencoder.net> | 2022-08-08 21:18:10 -0700 |
---|---|---|
committer | Wayne Davison <wayne@opencoder.net> | 2022-08-08 21:18:10 -0700 |
commit | 685bf5804691d4af779a4deac28c7fbcf52b5009 (patch) | |
tree | 70b2363eb1fccb39a8adda386cc74ae0c61b5bee /io.c | |
parent | 9e2921fce8c518e370c324407d35bc83ba12f2d5 (diff) | |
download | rsync-685bf5804691d4af779a4deac28c7fbcf52b5009.tar.gz |
Handle files-from args that span 2 buffers.
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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 |