[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC v5 003/126] error: rename errp to errp_in where it is IN-argument
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[RFC v5 003/126] error: rename errp to errp_in where it is IN-argument |
Date: |
Fri, 11 Oct 2019 19:03:49 +0300 |
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 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 <address@hidden>
---
include/qapi/error.h | 8 ++++----
util/error.c | 30 +++++++++++++++---------------
2 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/include/qapi/error.h b/include/qapi/error.h
index 3f95141a01..12532bdf69 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 **errp_in, 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 **errp_in, 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 **errp_in, const char *fmt, ...)
GCC_FMT_ATTR(2, 3);
/*
@@ -283,7 +283,7 @@ void error_free(Error *err);
/*
* Convenience function to assert that *@errp is set, then silently free it.
*/
-void error_free_or_abort(Error **errp);
+void error_free_or_abort(Error **errp_in);
/*
* Convenience function to warn_report() and free @err.
diff --git a/util/error.c b/util/error.c
index d4532ce318..275586faa8 100644
--- a/util/error.c
+++ b/util/error.c
@@ -121,41 +121,41 @@ 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 **errp_in, const char *fmt, va_list ap)
{
GString *newmsg;
- if (!errp) {
+ if (!errp_in) {
return;
}
newmsg = g_string_new(NULL);
g_string_vprintf(newmsg, fmt, ap);
- g_string_append(newmsg, (*errp)->msg);
- g_free((*errp)->msg);
- (*errp)->msg = g_string_free(newmsg, 0);
+ g_string_append(newmsg, (*errp_in)->msg);
+ g_free((*errp_in)->msg);
+ (*errp_in)->msg = g_string_free(newmsg, 0);
}
-void error_prepend(Error **errp, const char *fmt, ...)
+void error_prepend(Error **errp_in, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
- error_vprepend(errp, fmt, ap);
+ error_vprepend(errp_in, fmt, ap);
va_end(ap);
}
-void error_append_hint(Error **errp, const char *fmt, ...)
+void error_append_hint(Error **errp_in, const char *fmt, ...)
{
va_list ap;
int saved_errno = errno;
Error *err;
- if (!errp) {
+ if (!errp_in) {
return;
}
- err = *errp;
- assert(err && errp != &error_abort && errp != &error_fatal);
+ err = *errp_in;
+ assert(err && errp_in != &error_abort && errp_in != &error_fatal);
if (!err->hint) {
err->hint = g_string_new(NULL);
@@ -271,11 +271,11 @@ void error_free(Error *err)
}
}
-void error_free_or_abort(Error **errp)
+void error_free_or_abort(Error **errp_in)
{
- assert(errp && *errp);
- error_free(*errp);
- *errp = NULL;
+ assert(errp_in && *errp_in);
+ error_free(*errp_in);
+ *errp_in = NULL;
}
void error_propagate(Error **dst_errp, Error *local_err)
--
2.21.0
- [RFC v5 000/126] error: auto propagated local_err, Vladimir Sementsov-Ogievskiy, 2019/10/11
- [RFC v5 002/126] net/net: Clean up variable shadowing in net_client_init(), Vladimir Sementsov-Ogievskiy, 2019/10/11
- [RFC v5 001/126] hw/core/loader-fit: fix freeing errp in fit_load_fdt, Vladimir Sementsov-Ogievskiy, 2019/10/11
- [RFC v5 003/126] error: rename errp to errp_in where it is IN-argument,
Vladimir Sementsov-Ogievskiy <=
- [RFC v5 007/126] nbd: well form nbd_iter_channel_error errp handler, Vladimir Sementsov-Ogievskiy, 2019/10/11
- [RFC v5 005/126] vnc: drop Error pointer indirection in vnc_client_io_error, Vladimir Sementsov-Ogievskiy, 2019/10/11
- [RFC v5 006/126] qdev-monitor: well form error hint helpers, Vladimir Sementsov-Ogievskiy, 2019/10/11
- [RFC v5 011/126] block/snapshot: rename Error ** parameter to more common errp, Vladimir Sementsov-Ogievskiy, 2019/10/11
- [RFC v5 004/126] hmp: drop Error pointer indirection in hmp_handle_error, Vladimir Sementsov-Ogievskiy, 2019/10/11