convert: make apply_filter() adhere to standard Git error handling
apply_filter() returns a boolean that tells the caller if it "did convert or did not convert". The variable `ret` was used throughout the function to track errors whereas `1` denoted success and `0` failure. This is unusual for the Git source where `0` denotes success. Rename the variable and flip its value to make the function easier readable for Git developers. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
bb643d8bf8
commit
b84be55354
15
convert.c
15
convert.c
@ -451,7 +451,7 @@ static int apply_filter(const char *path, const char *src, size_t len, int fd,
|
||||
*
|
||||
* (child --> cmd) --> us
|
||||
*/
|
||||
int ret = 1;
|
||||
int err = 0;
|
||||
struct strbuf nbuf = STRBUF_INIT;
|
||||
struct async async;
|
||||
struct filter_params params;
|
||||
@ -477,23 +477,20 @@ static int apply_filter(const char *path, const char *src, size_t len, int fd,
|
||||
return 0; /* error was already reported */
|
||||
|
||||
if (strbuf_read(&nbuf, async.out, len) < 0) {
|
||||
error("read from external filter '%s' failed", cmd);
|
||||
ret = 0;
|
||||
err = error("read from external filter '%s' failed", cmd);
|
||||
}
|
||||
if (close(async.out)) {
|
||||
error("read from external filter '%s' failed", cmd);
|
||||
ret = 0;
|
||||
err = error("read from external filter '%s' failed", cmd);
|
||||
}
|
||||
if (finish_async(&async)) {
|
||||
error("external filter '%s' failed", cmd);
|
||||
ret = 0;
|
||||
err = error("external filter '%s' failed", cmd);
|
||||
}
|
||||
|
||||
if (ret) {
|
||||
if (!err) {
|
||||
strbuf_swap(dst, &nbuf);
|
||||
}
|
||||
strbuf_release(&nbuf);
|
||||
return ret;
|
||||
return !err;
|
||||
}
|
||||
|
||||
static struct convert_driver {
|
||||
|
Loading…
Reference in New Issue
Block a user