[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] vl.c: move "if (fd < 0)" into "if (fd <= STDERR
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH] vl.c: move "if (fd < 0)" into "if (fd <= STDERR_FILENO)" |
Date: |
Sat, 28 Dec 2013 23:43:03 +0000 |
On 28 December 2013 08:52, Chen Gang <address@hidden> wrote:
> For valid 'fd' (in most cases), it is enough to only check whether it
> is larger than STDERR_FILENO, so recommend to move "if (fd < 0)" into
> failure processing block.
> @@ -1064,15 +1064,10 @@ static int parse_add_fd(QemuOpts *opts, void *opaque)
> fdset_id = qemu_opt_get_number(opts, "set", -1);
> fd_opaque = qemu_opt_get(opts, "opaque");
>
> - if (fd < 0) {
> - qerror_report(ERROR_CLASS_GENERIC_ERROR,
> - "fd option is required and must be non-negative");
> - return -1;
> - }
> -
> if (fd <= STDERR_FILENO) {
> qerror_report(ERROR_CLASS_GENERIC_ERROR,
> - "fd cannot be a standard I/O stream");
> + fd < 0 ? "fd option is required and must be
> non-negative"
> + : "fd cannot be a standard I/O stream");
> return -1;
> }
This patch doesn't change the behaviour, but I think it
makes the code less clear to read (because we've
folded two different error cases into one and then split
them out again with a ternary operator on the string).
This isn't performance critical code (it's run only a few
times and only at startup), so I think we should favour
clarity and ease-of-reading, and I think the existing code
is better here.
thanks
-- PMM