On Thu, 5 Dec 2019 18:20:01 +0300 Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> wrote:
> Error **errp is almost always OUT-argument: it's assumed to be NULL, or > pointer to NULL-initialized pointer, or pointer to error_abort or > error_fatal, for callee to report error. > > But very few functions instead get Error **errp as IN-argument: > it's assumed to be set (or, maybe, NULL), and callee should clean it, > or add some information. > > In such cases, rename errp to errp_in. > This is no longer what the patch does. The subject needs to be amended too. > This patch updates only error API functions. There still a few > functions with errp-in semantics, they will be updated in further > commits. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> > --- > include/qapi/error.h | 6 +++--- > util/error.c | 6 +++--- > 2 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/include/qapi/error.h b/include/qapi/error.h > index 3f95141a01..ad5b6e896d 100644 > --- a/include/qapi/error.h > +++ b/include/qapi/error.h > @@ -233,13 +233,13 @@ void error_propagate_prepend(Error **dst_errp, Error > *local_err, > * Prepend some text to @errp's human-readable error message. > * The text is made by formatting @fmt, @ap like vprintf(). > */ > -void error_vprepend(Error **errp, const char *fmt, va_list ap); > +void error_vprepend(Error *const *errp, const char *fmt, va_list ap); > > /* > * Prepend some text to @errp's human-readable error message. > * The text is made by formatting @fmt, ... like printf(). > */ > -void error_prepend(Error **errp, const char *fmt, ...) > +void error_prepend(Error *const *errp, const char *fmt, ...) > GCC_FMT_ATTR(2, 3); > > /* > @@ -256,7 +256,7 @@ void error_prepend(Error **errp, const char *fmt, ...) > * May be called multiple times. The resulting hint should end with a > * newline. > */ > -void error_append_hint(Error **errp, const char *fmt, ...) > +void error_append_hint(Error *const *errp, const char *fmt, ...) > GCC_FMT_ATTR(2, 3); > > /* > diff --git a/util/error.c b/util/error.c > index d4532ce318..b6c89d1412 100644 > --- a/util/error.c > +++ b/util/error.c > @@ -121,7 +121,7 @@ void error_setg_file_open_internal(Error **errp, > "Could not open '%s'", filename); > } > > -void error_vprepend(Error **errp, const char *fmt, va_list ap) > +void error_vprepend(Error *const *errp, const char *fmt, va_list ap) > { > GString *newmsg; > > @@ -136,7 +136,7 @@ void error_vprepend(Error **errp, const char *fmt, > va_list ap) > (*errp)->msg = g_string_free(newmsg, 0); > } > > -void error_prepend(Error **errp, const char *fmt, ...) > +void error_prepend(Error *const *errp, const char *fmt, ...) > { > va_list ap; > > @@ -145,7 +145,7 @@ void error_prepend(Error **errp, const char *fmt, ...) > va_end(ap); > } > > -void error_append_hint(Error **errp, const char *fmt, ...) > +void error_append_hint(Error *const *errp, const char *fmt, ...) > { > va_list ap; > int saved_errno = errno;