diff options
| author | Edward Thomson <ethomson@edwardthomson.com> | 2015-11-21 12:37:01 -0500 |
|---|---|---|
| committer | Edward Thomson <ethomson@github.com> | 2016-05-26 13:01:07 -0500 |
| commit | 00e63b36202be18b1dd1690049f8cbb755132f1b (patch) | |
| tree | 62ad438ce5b33fb6c91201564c3ce5e56ba3bc60 | |
| parent | a03952f09547cc72c8edda503aac8ab9652f3c98 (diff) | |
| download | libgit2-00e63b36202be18b1dd1690049f8cbb755132f1b.tar.gz | |
patch: provide static string `advance_expected`
| -rw-r--r-- | src/patch_parse.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/patch_parse.c b/src/patch_parse.c index 4e4e0a68a..46ecae73f 100644 --- a/src/patch_parse.c +++ b/src/patch_parse.c @@ -72,6 +72,9 @@ static int parse_advance_expected( return 0; } +#define parse_advance_expected_s(ctx, str) \ + parse_advance_expected(ctx, str, sizeof(str) - 1) + static int parse_advance_ws(patch_parse_ctx *ctx) { int ret = -1; @@ -215,7 +218,7 @@ static int parse_header_git_index( { if (parse_header_oid(&patch->base.delta->old_file.id, &patch->base.delta->old_file.id_abbrev, ctx) < 0 || - parse_advance_expected(ctx, "..", 2) < 0 || + parse_advance_expected_s(ctx, "..") < 0 || parse_header_oid(&patch->base.delta->new_file.id, &patch->base.delta->new_file.id_abbrev, ctx) < 0) return -1; @@ -317,7 +320,7 @@ static int parse_header_percent(uint16_t *out, patch_parse_ctx *ctx) parse_advance_chars(ctx, (end - ctx->line)); - if (parse_advance_expected(ctx, "%", 1) < 0) + if (parse_advance_expected_s(ctx, "%") < 0) return -1; if (val > 100) @@ -382,7 +385,7 @@ static int parse_header_git( int error = 0; /* Parse the diff --git line */ - if (parse_advance_expected(ctx, "diff --git ", 11) < 0) + if (parse_advance_expected_s(ctx, "diff --git ") < 0) return parse_err("corrupt git diff header at line %d", ctx->line_num); if (parse_header_path(&patch->header_old_path, ctx) < 0) @@ -416,7 +419,7 @@ static int parse_header_git( goto done; parse_advance_ws(ctx); - parse_advance_expected(ctx, "\n", 1); + parse_advance_expected_s(ctx, "\n"); if (ctx->line_len > 0) { error = parse_err("trailing data at line %d", ctx->line_num); @@ -471,27 +474,27 @@ static int parse_hunk_header( hunk->hunk.old_lines = 1; hunk->hunk.new_lines = 1; - if (parse_advance_expected(ctx, "@@ -", 4) < 0 || + if (parse_advance_expected_s(ctx, "@@ -") < 0 || parse_int(&hunk->hunk.old_start, ctx) < 0) goto fail; if (ctx->line_len > 0 && ctx->line[0] == ',') { - if (parse_advance_expected(ctx, ",", 1) < 0 || + if (parse_advance_expected_s(ctx, ",") < 0 || parse_int(&hunk->hunk.old_lines, ctx) < 0) goto fail; } - if (parse_advance_expected(ctx, " +", 2) < 0 || + if (parse_advance_expected_s(ctx, " +") < 0 || parse_int(&hunk->hunk.new_start, ctx) < 0) goto fail; if (ctx->line_len > 0 && ctx->line[0] == ',') { - if (parse_advance_expected(ctx, ",", 1) < 0 || + if (parse_advance_expected_s(ctx, ",") < 0 || parse_int(&hunk->hunk.new_lines, ctx) < 0) goto fail; } - if (parse_advance_expected(ctx, " @@", 3) < 0) + if (parse_advance_expected_s(ctx, " @@") < 0) goto fail; parse_advance_line(ctx); @@ -745,7 +748,7 @@ static int parsed_patch_binary( { int error; - if (parse_advance_expected(ctx, "GIT binary patch", 16) < 0 || + if (parse_advance_expected_s(ctx, "GIT binary patch") < 0 || parse_advance_nl(ctx) < 0) return parse_err("corrupt git binary header at line %d", ctx->line_num); |
