On Thu, Jul 12, 2018 at 11:35:23 -0500, Chris Venteicher wrote:
Quoting Jiri Denemark (2018-07-12 08:13:07)
> On Mon, Jul 09, 2018 at 22:56:48 -0500, Chris Venteicher wrote:
> > These forms modify contents of a qemuMonitorCPUModelInfo structure but
> > do not allocate or free the actual structure.
> >
> > Init - Initialize model name and empty properties within existing structure
> > FreeContents - Free model name and properties within existing structure
>
> We call such function with "Clear" suffix, i.e.,
> qemuMonitorCPUModelInfoClear.
>
> But it is usually used when we have a structure stored somewhere
> directly rather than having a pointer to it. And this was not the case
> so far and I don't think there's any reason to introduce a code which
> would need any of these functions.
>
> NACK to this patch.
>
Hi Jirka. I see what you mean about combining dependent patches... It would be
helpful if this patch was coupled with the qemuMonitorGetCPUModelExpansion
patch.
Could I get you're thoughts on the qemuMonitorGetCPUModelExpansion patch to know
what to do with this one?
Specifically, I seem to need to send a full CPUModelInfo to QEMU (w/ model name
+ properties) and get a full CPUModelInfo back from QEMU (again w/ model name +
expanded properties).
I implemented this by rewriting the contents (property list) of the CPUModelInfo
structure that is passed in to qemuMonitorGetCPUModelExpansion.
I do a similar thing in qemuMonitorCPUModelInfoRemovePropByBoolValue... I
rewrite the property list rather than allocating and returning a completely new
CPUModelInfo for output.
Is this consistent with other functions or would I be better off allocating and
returning a completely new CPUModelInfo for the output?
Yeah, that's the solution I was thinking about. With it you don't need
these fragile FreeContents/Init functions and the function won't touch
the input data unless it's finished at which point it will just free the
input and replace it with the new structure.
Jirka