Re: [PATCH v2] pkt-line: use string versions of functions
- From
Đoàn Trần Công Danh <congdanhqx@gmail.com>
- Date
- Jun 15, 2020, 12:32 UTC
- Message-ID
- <20200615123257.GA20389@danh.dev>
- In-Reply-To
- <da9ba5fb2d0fb9481f81ce525cbabaedd722858d.1592125442.git.liu.denton@gmail.com>
On 2020-06-14 05:07:54-0400, Denton Liu <liu.denton@gmail.com> wrote:
> Hi Đoàn,
Sorry for this late reply, I have another stuff to work on.
> Perhaps something like this?
This looks better, but ...
Show 20 quoted lines
>
> pkt-line.c | 48 ++++++++++++++++++++++++++++++------------------
> 1 file changed, 30 insertions(+), 18 deletions(-)
>
> diff --git a/pkt-line.c b/pkt-line.c
> index 8f9bc68ee2..022376f00f 100644
> --- a/pkt-line.c
> +++ b/pkt-line.c
> @@ -81,49 +81,61 @@ static void packet_trace(const char *buf, unsigned int len, int write)
> strbuf_release(&out);
> }
>
> +static inline void packet_trace_str(const char *buf, int write)
> +{
> + packet_trace(buf, strlen(buf), write);
> +}
> +
> +#define control_packet_write(fd, s, errstr) \
> + do { \
> + (void)s"is a string constant"; \If we are going to not wrap s inside () here,
> + packet_trace_str((s), 1); \
I see no point in wrapping it here. And wrapping around "string" is not standard C, some (or most) compilers support it as an extension.
See USE_PARENS_AROUND_GETTEXT_N
Can we just put it straight?
packet_trace(s, strlen(s), 1);
> + if (write_str_in_full((fd), (s)) < 0) \ > + die_errno((errstr)); \ > + } while (0) > +
-- Danh