On 04/25/2014 09:05 AM, Markus Armbruster wrote: > Using error_is_set(errp) to check whether a function call failed is > fragile: it breaks when errp is null. I'm not aware of actual > breakage, but checking return values instead when convenient is more > robust and more obviously correct. > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > qga/commands-posix.c | 6 +++--- > qga/main.c | 1 + > 2 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/qga/commands-posix.c b/qga/commands-posix.c > index f6af7d1..6af974f 100644 > --- a/qga/commands-posix.c > +++ b/qga/commands-posix.c > @@ -223,8 +223,8 @@ static int64_t guest_file_handle_add(FILE *fh, Error > **errp) > int64_t handle; > > handle = ga_get_fd_handle(ga_state, errp); > - if (error_is_set(errp)) { > - return 0; > + if (handle < 0) { > + return -1;
Is this a bug fix that should be pushed separately, or at least called out in the commit message as intentional? > +++ b/qga/main.c > @@ -910,6 +910,7 @@ int64_t ga_get_fd_handle(GAState *s, Error **errp) > > if (!write_persistent_state(&s->pstate, s->pstate_filepath)) { > error_setg(errp, "failed to commit persistent state to disk"); > + return -1; > } Same here. > > return handle; > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature