[libvirt PATCH] util: Reorder virStringParseVersion() arguments

Andrea Bolognani abologna at redhat.com
Thu Feb 3 14:22:31 UTC 2022


On Thu, Feb 03, 2022 at 02:59:33PM +0100, Ján Tomko wrote:
> On a Thursday in 2022, Andrea Bolognani wrote:
> > In order to match the existing virStringParse*() and virStrTo*()
> > functions, input arguments should come before output arguments.
>
> Or, even better, the virStr* functions should be inverted to match
> the approach we do elsewhere (VIR_STRDUP, virCommand come to mind)
> where the output arguments come first. (Just like they do when
> you do an assignment.)

Which virCommand APIs do you have in mind specifically? I see

  char *virCommandToString(virCommand *cmd,
                           bool linebreaks);
  char *virCommandToStringFull(virCommand *cmd,
                               bool linebreaks,
                               bool stripCommandPath);
  int virCommandToStringBuf(virCommand *cmd,
                            virBuffer *buf,
                            bool linebreaks,
                            bool stripCommandPath);
  int virCommandGetArgList(virCommand *cmd,
                           char ***args);

and, in all cases where the output is not returned directly, the
output argument comes after at least *some* of the input arguments,
never first.

VIR_STRDUP() was dropped more than two years ago.

Note that I'm not against leaving the arguments as they are if that
results in a more consistent API, I just have the impression that the
overwhelming majority of our APIs don't put the output argument
first. I could definitely be convinced of the opposite :)

-- 
Andrea Bolognani / Red Hat / Virtualization





More information about the libvir-list mailing list