All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: "Marek Behún" <kabel@kernel.org>
Cc: "Pali Rohár" <pali@kernel.org>,
	u-boot@lists.denx.de, "Marek Behún" <marek.behun@nic.cz>
Subject: Re: [PATCH v2 04/12] sysinfo: Make sysinfo_get_str() behave like snprintf()
Date: Fri, 5 Nov 2021 10:12:17 -0600	[thread overview]
Message-ID: <CAPnjgZ1at4Sco5seVqp14MRw4hvOJ=Nf4dsKpud4xXzoSkTnOA@mail.gmail.com> (raw)
In-Reply-To: <20211105121916.74f24466@thinkpad>

Hi Marek,

On Fri, 5 Nov 2021 at 05:19, Marek Behún <kabel@kernel.org> wrote:
>
> On Thu, 4 Nov 2021 20:02:25 -0600
> Simon Glass <sjg@chromium.org> wrote:
>
> > Hi Marek,
> >
> > On Wed, 3 Nov 2021 at 17:23, Marek Behún <kabel@kernel.org> wrote:
> > >
> > > From: Marek Behún <marek.behun@nic.cz>
> > >
> > > Currently sysinfo_get_str() returns 0 if a string is filled in the
> > > given buffer, and otherwise gives no simple mechanism to determine
> > > actual string length.
> > >
> > > One implementation returns -ENOSPC if buffer is not large enough.
> > >
> > > Change the behaviour of the function to that of snprintf(): i.e. the
> > > buffer is always filled in as much as possible if the string exists, and
> > > the function returns the actual length of the string (excluding the
> > > terminating NULL-byte).
> > >
> > > Signed-off-by: Marek Behún <marek.behun@nic.cz>
> > > ---
> > >  board/google/chromebook_coral/coral.c | 13 ++++---------
> > >  common/board_info.c                   |  2 +-
> > >  drivers/sysinfo/gpio.c                |  2 +-
> > >  drivers/sysinfo/rcar3.c               |  2 +-
> > >  drivers/sysinfo/sandbox.c             |  5 +++--
> > >  include/sysinfo.h                     | 16 ++++++++++++----
> > >  lib/smbios.c                          |  2 +-
> > >  test/dm/sysinfo-gpio.c                | 12 ++++++------
> > >  test/dm/sysinfo.c                     | 12 ++++++------
> > >  9 files changed, 35 insertions(+), 31 deletions(-)
> >
> > So how do we know if the size is too small? The string is silently truncated?
>
> The same way as in snprintf.
> If the return value is >= size, then size is too small.
> (The return value is the length of the whole string (excluding \0 at
> end), not just the part that was copied to buffer.)

OK, as on the other patch for where I missed this. It is in the commit
message which I did not read carefully enough, but we need it in the
header file / sphinx docs too.

Regards,
Simon

>
> Marek

  reply	other threads:[~2021-11-05 16:13 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-03 23:23 [PATCH v2 00/12] Board specific runtime determined default env Marek Behún
2021-11-03 23:23 ` [PATCH v2 01/12] env: Don't set ready flag if import failed in env_set_default() Marek Behún
2021-11-03 23:23 ` [PATCH v2 02/12] env: Fix env_get() when returning empty string using env_get_f() Marek Behún
2021-11-03 23:23 ` [PATCH v2 03/12] env: Simplify env_get_default() Marek Behún
2021-11-03 23:23 ` [PATCH v2 04/12] sysinfo: Make sysinfo_get_str() behave like snprintf() Marek Behún
2021-11-05  2:02   ` Simon Glass
2021-11-05 11:19     ` Marek Behún
2021-11-05 16:12       ` Simon Glass [this message]
2021-11-03 23:23 ` [PATCH v2 05/12] test: Use ut_asserteq_str() instead of ut_assertok(strcmp()) Marek Behún
2021-11-05  2:02   ` Simon Glass
2021-11-03 23:23 ` [PATCH v2 06/12] sysinfo: Add get_str_list() method Marek Behún
2021-11-05  2:02   ` Simon Glass
2021-11-05 11:20     ` Marek Behún
2021-11-05 16:12       ` Simon Glass
2021-11-03 23:23 ` [PATCH v2 07/12] sysinfo: Make .detect() non-mandatory Marek Behún
2021-11-05  2:02   ` Simon Glass
2021-11-03 23:23 ` [PATCH v2 08/12] sysinfo: Add support for iterating string list Marek Behún
2021-11-05  2:02   ` Simon Glass
2021-11-05 11:24     ` Marek Behún
2021-11-05 16:12       ` Simon Glass
2021-11-03 23:23 ` [PATCH v2 09/12] env: Change return behaviour of env_set_default_vars() Marek Behún
2021-11-05  2:02   ` Simon Glass
2021-11-03 23:23 ` [PATCH v2 10/12] env: Add support for overwriting default environment via sysinfo Marek Behún
2021-11-05  2:02   ` Simon Glass
2021-11-03 23:23 ` [PATCH v2 11/12] arm: mvebu: Espressobin: Use new API for setting default env at runtime Marek Behún
2021-11-05  2:02   ` Simon Glass
2021-11-05  8:50     ` Pali Rohár
2021-11-09 15:37       ` Pali Rohár
2021-11-03 23:23 ` [PATCH v2 12/12] env: Remove support for read-write default_environment[] Marek Behún
2021-11-05  2:02   ` Simon Glass
2021-11-14  0:34 ` [PATCH v2 03/12] env: Simplify env_get_default() Simon Glass
2021-11-14  0:34 ` [PATCH v2 02/12] env: Fix env_get() when returning empty string using env_get_f() Simon Glass
2021-11-14  0:34 ` [PATCH v2 01/12] env: Don't set ready flag if import failed in env_set_default() Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPnjgZ1at4Sco5seVqp14MRw4hvOJ=Nf4dsKpud4xXzoSkTnOA@mail.gmail.com' \
    --to=sjg@chromium.org \
    --cc=kabel@kernel.org \
    --cc=marek.behun@nic.cz \
    --cc=pali@kernel.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.