[libvirt] [PATCH v2 04/23] util: use glib string allocation/formatting functions

Daniel P. Berrangé berrange at redhat.com
Tue Oct 8 13:50:03 UTC 2019


On Tue, Oct 08, 2019 at 03:49:50PM +0200, Ján Tomko wrote:
> On Mon, Oct 07, 2019 at 06:14:06PM +0100, Daniel P. Berrangé wrote:
> > Convert the string duplication APIs to use the g_strdup family of APIs.
> > 
> > We previously used the 'strdup-posix' gnulib module because mingw does
> > not set errno to ENOMEM on failure
> > 
> > We previously used the 'strndup' gnulib module because this function
> > does not exist on mingw.
> > 
> > We previously used the 'vasprintf' gnulib module because of many GNU
> > supported format specifiers not working on non-Linux platforms. glib's
> > own equivalent standardizes on GNU format specifiers too.
> > 
> > Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> > ---
> > bootstrap.conf       |  3 ---
> > docs/hacking.html.in |  8 ++++++++
> > src/util/virstring.c | 28 ++++++++++++++++++++++------
> > src/util/virstring.h |  8 ++++++++
> > 4 files changed, 38 insertions(+), 9 deletions(-)
> > 
> > diff --git a/bootstrap.conf b/bootstrap.conf
> > index b98fdedeb1..7105ae2eeb 100644
> > --- a/bootstrap.conf
> > +++ b/bootstrap.conf
> > @@ -82,8 +82,6 @@ snprintf
> > socket
> > stat-time
> > strchrnul
> > -strdup-posix
> > -strndup
> > strerror
> > strerror_r-posix
> > strptime
> > @@ -99,7 +97,6 @@ uname
> > unsetenv
> > useless-if-before-free
> > usleep
> > -vasprintf
> > verify
> > vc-list-files
> > vsnprintf
> > diff --git a/docs/hacking.html.in b/docs/hacking.html.in
> > index 8072796312..5839464e99 100644
> > --- a/docs/hacking.html.in
> > +++ b/docs/hacking.html.in
> > @@ -1020,6 +1020,14 @@ BAD:
> >         classic libvirt memory allocation APIs and GLib APIs within
> >         a single method. Keep the style consistent, converting existing
> >         code to GLib style in a separate, prior commit.</dd>
> > +
> > +      <dt>VIR_STRDUP, VIR_STRNDUP</dt>
> > +      <dd>Prefer the GLib APIs g_strdup and g_strndup.</dd>
> > +
> > +      <dt>virAsprintf, virVasprintf</dt>
> > +      <dd>The GLib APIs g_strdup_printf / g_strdup_vprint can be used,
> > +        but beware that they don't abort on OOM, so the libvirt wrappers
> > +        may still be desirable to use. Don't use g_vasprintf or g_asprintf.</dd>
> 
> What do you mean by g_asprintf? I cannot find that function.

yeah, my bad. I blindly assumed there was a non-valist variant.

> 
> >     </dl>
> > 
> >     <h2><a id="file_handling">File handling</a></h2>
> 
> Reviewed-by: Ján Tomko <jtomko at redhat.com>
> 
> Jano



Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list