Eric Blake <ebl...@redhat.com> writes: > On 05/02/2014 06:44 AM, Markus Armbruster wrote: >> We commonly use the error API like this: >> > >> However, mixing the two techniques is confusing. You can't use the >> "accumulate" technique with functions designed for the "check >> separately" technique. You can use the "check separately" technique >> with functions designed for the "accumulate" technique, but then >> error_set() can't catch you setting an error more than once. > > Nice comparison of the two techniques. > >> >> Standardize on the "check separately" technique for now, because it's >> overwhelmingly prevalent. >> >> Signed-off-by: Markus Armbruster <arm...@redhat.com> >> --- > >> +++ b/hw/virtio/virtio-balloon.c >> @@ -121,23 +121,27 @@ static void balloon_stats_get_all(Object *obj, struct >> Visitor *v, > >> visit_start_struct(v, NULL, NULL, "stats", 0, &err); >> if (err) { >> goto out_end; >> } >> - >> - for (i = 0; i < VIRTIO_BALLOON_S_NR; i++) { >> + for (i = 0; err && i < VIRTIO_BALLOON_S_NR; i++) { > > Oops; logic error makes this loop dead code. > > s/err/!err/
Oww! Respin coming... with all your nits fixed (you earned that). >> @@ -502,7 +503,7 @@ fdecl.write(mcgen(''' >> /* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT MODIFY */ >> >> /* >> - * schema-defined QAPI visitor function >> + * schema-defined QAPI visitor functions > > Unrelated typo fix; could go in separately via -trivial if you were so > inclined, but I don't mind it going in here. > > If the logic error is the only fix, > Reviewed-by: Eric Blake <ebl...@redhat.com> Thanks!