David Barr wrote:
> vcs-svn/svndiff.c:278:3: warning: expression result unused [-Wunused-value]
> error("invalid delta: incorrect postimage length");
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from vcs-svn/svndiff.c:6:
> vcs-svn/compat-util.h:18:61: note: instantiated from:
> #define error(...) (fprintf(stderr, "error: " __VA_ARGS__), -1)
> ^~
Yuck. Would you be ok with an inline variadic function?
static inline int error(const char *fmt, ...)
{
va_list ap;
fprintf(stderr, "error: ");
va_start(ap, fmt);
vfprintf(stderr, fmt, ap)
va_end(ap);
fprintf(stderr, "\n");
return -1;
}
The error() macro above also seems to leave out a newline.
> --- a/vcs-svn/svndiff.c
> +++ b/vcs-svn/svndiff.c
> @@ -258,6 +258,7 @@ static int apply_window_in_core(struct window *ctx)
[...]
> @@ -275,16 +276,15 @@ static int apply_one_window(struct line_buffer *delta, off_t *delta_len,
> if (apply_window_in_core(&ctx))
> goto error_out;
> if (ctx.out.len != out_len) {
> - error("invalid delta: incorrect postimage length");
> + rv = error("invalid delta: incorrect postimage length");
> goto error_out;
> }
> if (write_strbuf(&ctx.out, out))
> goto error_out;
> - window_release(&ctx);
> - return 0;
> + rv = 0;
> error_out:
> window_release(&ctx);
> - return -1;
> + return rv;
That said, if this change is justified by saying that it avoids having
to repeat the cleanup code, it already looks like a good change. The
commit message could mention that the original motivation and a
side-benefit is to help the standalone version that has a slightly
crazier definition of error().
Jonathan
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Newbies FAQ] [Linux Kernel Development] [Free Online Dating] [Gcc Help] [IETF Annouce] [DCCP] [Netdev] [Networking] [Security] [V4L] [Bugtraq] [Free Online Dating] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Linux SCSI] [Fedora Users] [Linux Resources]