commit 8cba9b5e693b0da4da8e2f83b51ab6ad42430851 from: Stefan Sperling date: Tue Sep 22 22:00:10 2020 UTC check return value of diff_output_lines commit - 2c20a3ed9d3c979c38e927387d4ea488e4dd631b commit + 8cba9b5e693b0da4da8e2f83b51ab6ad42430851 blob - 823cce7950430e64d7aba91ed37f484972e5f568 blob + ef073fa60e05e919ff3a03ae8837019c276589fe --- lib/diff_output.c +++ lib/diff_output.c @@ -123,7 +123,7 @@ diff_output_chunk_left_version(struct diff_output_info const struct diff_result *result, const struct diff_chunk_context *cc) { - int c_idx; + int rc, c_idx; struct diff_output_info *outinfo = NULL; if (diff_range_empty(&cc->left)) @@ -141,8 +141,10 @@ diff_output_chunk_left_version(struct diff_output_info const struct diff_chunk *c = &result->chunks.head[c_idx]; if (c->left_count) - diff_output_lines(outinfo, dest, "", c->left_start, - c->left_count); + rc = diff_output_lines(outinfo, dest, "", + c->left_start, c->left_count); + if (rc) + return rc; } return DIFF_RC_OK; @@ -155,7 +157,7 @@ diff_output_chunk_right_version(struct diff_output_inf const struct diff_result *result, const struct diff_chunk_context *cc) { - int c_idx; + int rc, c_idx; struct diff_output_info *outinfo = NULL; if (diff_range_empty(&cc->right)) @@ -172,9 +174,12 @@ diff_output_chunk_right_version(struct diff_output_inf for (c_idx = cc->chunk.start; c_idx < cc->chunk.end; c_idx++) { const struct diff_chunk *c = &result->chunks.head[c_idx]; - if (c->right_count) - diff_output_lines(outinfo, dest, "", c->right_start, + if (c->right_count) { + rc = diff_output_lines(outinfo, dest, "", c->right_start, c->right_count); + if (rc) + return rc; + } } return DIFF_RC_OK; blob - 86535a9ca5c0f5f6702c617b1158a45dae70cf89 blob + 76f3831e2f6844dc51a9dc5e98f69b52ac40b18e --- lib/diff_output_plain.c +++ lib/diff_output_plain.c @@ -33,7 +33,7 @@ diff_output_plain(struct diff_output_info **output_inf const struct diff_result *result) { struct diff_output_info *outinfo = NULL; - int i; + int i, rc; if (!result) return EINVAL; @@ -50,17 +50,19 @@ diff_output_plain(struct diff_output_info **output_inf for (i = 0; i < result->chunks.len; i++) { struct diff_chunk *c = &result->chunks.head[i]; if (c->left_count && c->right_count) - diff_output_lines(outinfo, dest, + rc = diff_output_lines(outinfo, dest, c->solved ? " " : "?", c->left_start, c->left_count); else if (c->left_count && !c->right_count) - diff_output_lines(outinfo, dest, + rc = diff_output_lines(outinfo, dest, c->solved ? "-" : "?", c->left_start, c->left_count); else if (c->right_count && !c->left_count) - diff_output_lines(outinfo, dest, + rc = diff_output_lines(outinfo, dest, c->solved ? "+" : "?", c->right_start, c->right_count); + if (rc) + return rc; } return DIFF_RC_OK; }