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