diff options
author | Emil Velikov <emil.l.velikov@gmail.com> | 2020-04-25 13:56:12 +0100 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2020-04-25 20:11:59 +0100 |
commit | 4626d75d3790f107c3ae5f7aaafd0147fda5c87f (patch) | |
tree | 47f7a7e5032c0553150beb0e80e7fe4c53e71514 /libarchive/archive_write_add_filter_program.c | |
parent | df072ed4ce4256a60f4951eaaf6b89733e394eed (diff) | |
download | libarchive-4626d75d3790f107c3ae5f7aaafd0147fda5c87f.tar.gz |
Change __archive_create_child() signature
Change the function to return an int - ARCHIVE_OK or ARCHIVE_FAILED,
taking the child as an output argument.
This will allow us to simplify the existing code and have move platform
specifics in the platform files - posix and windows
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Diffstat (limited to 'libarchive/archive_write_add_filter_program.c')
-rw-r--r-- | libarchive/archive_write_add_filter_program.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libarchive/archive_write_add_filter_program.c b/libarchive/archive_write_add_filter_program.c index a4bc1d90..f64ae4a2 100644 --- a/libarchive/archive_write_add_filter_program.c +++ b/libarchive/archive_write_add_filter_program.c @@ -212,6 +212,7 @@ __archive_write_program_open(struct archive_write_filter *f, struct archive_write_program_data *data, const char *cmd) { pid_t child; + int ret; if (data->child_buf == NULL) { data->child_buf_len = 65536; @@ -225,9 +226,9 @@ __archive_write_program_open(struct archive_write_filter *f, } } - child = __archive_create_child(cmd, &data->child_stdin, - &data->child_stdout); - if (child == -1) { + ret = __archive_create_child(cmd, &data->child_stdin, + &data->child_stdout, &child); + if (ret != ARCHIVE_OK) { archive_set_error(f->archive, EINVAL, "Can't launch external program: %s", cmd); return (ARCHIVE_FATAL); |