diff options
author | Patrick Steinhardt <ps@pks.im> | 2019-08-01 11:57:03 +0200 |
---|---|---|
committer | Patrick Steinhardt <ps@pks.im> | 2019-08-01 11:57:03 +0200 |
commit | 27b8b31e2955ec264a9b748c8e5328e2c8e04419 (patch) | |
tree | 6c89bb67b190ceaf93cb82024cd8c817b96846db /src/patch_parse.c | |
parent | c8e63812c5f2402bab4f74f68d46843d7d94123c (diff) | |
download | libgit2-27b8b31e2955ec264a9b748c8e5328e2c8e04419.tar.gz |
parse: remove use of variadic macros which are not C89 compliant
The macro `git_parse_error` is implemented in a variadic way so
that it's possible to pass printf-style parameters.
Unfortunately, variadic macros are not defined by C89 and thus we
cannot use that functionality. But as we have implemented
`git_error_vset` in the previous commit, we can now just use that
instead.
Convert `git_parse_error` to a variadic function and use
`git_error_vset` to fix the compliance violation. While at it,
move the function to "patch_parse.c".
Diffstat (limited to 'src/patch_parse.c')
-rw-r--r-- | src/patch_parse.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/patch_parse.c b/src/patch_parse.c index 29dc8b818..84953ee14 100644 --- a/src/patch_parse.c +++ b/src/patch_parse.c @@ -33,6 +33,18 @@ typedef struct { char *old_prefix, *new_prefix; } git_patch_parsed; +static int git_parse_err(const char *fmt, ...) GIT_FORMAT_PRINTF(1, 2); +static int git_parse_err(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + git_error_vset(GIT_ERROR_PATCH, fmt, ap); + va_end(ap); + + return -1; +} + static size_t header_path_len(git_patch_parse_ctx *ctx) { bool inquote = 0; |