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");
|
* "charm, top, bottom.\n");
|
||||||
*
|
*
|
||||||
* Do *not* contract this to
|
* 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.");
|
* "Valid quarks are up, down, strange, charm, top, bottom.");
|
||||||
*
|
*
|
||||||
* Report an error to the current monitor if we have one, else stderr:
|
* 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.
|
* where Error **errp is a parameter, by convention the last one.
|
||||||
*
|
*
|
||||||
* Pass an existing error to the caller with the message modified:
|
* 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
|
* Avoid
|
||||||
* error_propagate(errp, err);
|
* error_propagate(errp, err);
|
||||||
@ -108,12 +109,23 @@
|
|||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* Do *not* "optimize" this to
|
* Do *not* "optimize" this to
|
||||||
|
* Error *err = NULL;
|
||||||
* foo(arg, &err);
|
* foo(arg, &err);
|
||||||
* bar(arg, &err); // WRONG!
|
* bar(arg, &err); // WRONG!
|
||||||
* if (err) {
|
* if (err) {
|
||||||
* handle the error...
|
* handle the error...
|
||||||
* }
|
* }
|
||||||
* because this may pass a non-null err to bar().
|
* 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
|
#ifndef ERROR_H
|
||||||
|
Loading…
Reference in New Issue
Block a user