error: Fix examples in error.h's big comment
Mark a bad example more clearly. Fix the error_propagate_prepend() example. Add a missing declaration and a second error pileup example. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Greg Kurz <groug@kaod.org> Message-Id: <20200707160613.848843-2-armbru@redhat.com>
This commit is contained in:
parent
b6d7e9b66f
commit
47ff5ac81e
@ -24,7 +24,7 @@
|
||||
* "charm, top, bottom.\n");
|
||||
*
|
||||
* Do *not* contract this to
|
||||
* error_setg(&err, "invalid quark\n"
|
||||
* error_setg(&err, "invalid quark\n" // WRONG!
|
||||
* "Valid quarks are up, down, strange, charm, top, bottom.");
|
||||
*
|
||||
* Report an error to the current monitor if we have one, else stderr:
|
||||
@ -52,7 +52,8 @@
|
||||
* where Error **errp is a parameter, by convention the last one.
|
||||
*
|
||||
* Pass an existing error to the caller with the message modified:
|
||||
* error_propagate_prepend(errp, err);
|
||||
* error_propagate_prepend(errp, err,
|
||||
* "Could not frobnicate '%s': ", name);
|
||||
*
|
||||
* Avoid
|
||||
* error_propagate(errp, err);
|
||||
@ -108,12 +109,23 @@
|
||||
* }
|
||||
*
|
||||
* Do *not* "optimize" this to
|
||||
* Error *err = NULL;
|
||||
* foo(arg, &err);
|
||||
* bar(arg, &err); // WRONG!
|
||||
* if (err) {
|
||||
* handle the error...
|
||||
* }
|
||||
* because this may pass a non-null err to bar().
|
||||
*
|
||||
* Likewise, do *not*
|
||||
* Error *err = NULL;
|
||||
* if (cond1) {
|
||||
* error_setg(&err, ...);
|
||||
* }
|
||||
* if (cond2) {
|
||||
* error_setg(&err, ...); // WRONG!
|
||||
* }
|
||||
* because this may pass a non-null err to error_setg().
|
||||
*/
|
||||
|
||||
#ifndef ERROR_H
|
||||
|
Loading…
Reference in New Issue
Block a user