diff options
author | Andrew Gregory <andrew.gregory.8@gmail.com> | 2015-11-28 19:20:35 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2015-11-28 23:12:44 +0100 |
commit | dfa4dcb16d42a84a76ed22792f681190aaa60b31 (patch) | |
tree | 8422a75246d0047fb7cb4eb705cbf49ec705bb61 | |
parent | 34bbe4cf7b8c70fda3475ee2e936db93c4fe427a (diff) | |
download | pacman-dfa4dcb16d42a84a76ed22792f681190aaa60b31.tar.gz pacman-dfa4dcb16d42a84a76ed22792f681190aaa60b31.tar.xz |
run_chroot: always clear script output buffer
If the script output does not end in a newline there could still be data
in the buffer after the poll loop.
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | lib/libalpm/util.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index 5696a45a..7e8f85ed 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -681,6 +681,12 @@ int _alpm_run_chroot(alpm_handle_t *handle, const char *cmd, char *const argv[], STOP_POLLING(parent2child); } } + /* process anything left in the input buffer */ + if(ilen) { + /* buffer would have already been flushed if it had a newline */ + strcpy(ibuf + ilen, "\n"); + _alpm_chroot_process_output(handle, ibuf); + } #undef STOP_POLLING |