[libvirt] [PATCH 2/7] Add accessors for logging filters and outputs
Daniel P. Berrange
berrange at redhat.com
Tue Oct 6 09:00:55 UTC 2009
On Mon, Oct 05, 2009 at 05:29:34PM -0400, Amy Griffis wrote:
> Daniel P. Berrange wrote: [Mon Oct 05 2009, 08:51:00AM EDT]
> > On Sun, Oct 04, 2009 at 03:28:46PM -0400, Amy Griffis wrote:
> > > When configuring logging settings, keep more information about the
> > > output destination. Add accessors to retrieve the filter and output
> > > settings in the original string form; this to be used to set up
> > > environment for a child process that also logs. Open output files
> > > O_APPEND so child can also write -- was there a reason to truncate
> > > them?
> >
> > I don't think it really matters - APPEND is fine
> >
> > > Note this patch changes the API for virLogDefineOutput(), which is
> > > part of the internal libvirt API, but is currently only used within
> > > logging.c.
> >
> > > @@ -107,12 +114,15 @@ typedef void (*virLogCloseFunc) (void *data);
> > >
> > > extern int virLogGetNbFilters(void);
> > > extern int virLogGetNbOutputs(void);
> > > +extern int virLogGetFilters(virBufferPtr);
> > > +extern int virLogGetOutputs(virBufferPtr);
> >
> > Having looked at the wway the next patch uses these, I think it'd be
> > nicer to change the contract to just be
> >
> > extern char *virLogGetFilters(void);
> > extern char *virLogGetOutputs(void);
>
> Heh, that's how I wrote it the first time. Then I changed it to
> make use of the virBuffer API, and tried to follow precedent with
> the rest of libvirt. The code is not really doing much with the
> string, maybe virBuffer is overkill?
The general rule to try & follow is that if you just have a single
printf style call to make, then use virAsprintf. If you have several
printf/strcat calls to make, then use virBuffer.
In this particular case, its fine to use virBuffer for your internal
impl - I just thing its better to not include it in the public API,
convert the virBuffer into a char * for the return value
Regards,
Daniel
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
More information about the libvir-list
mailing list