On 12/17/2015 05:19 AM, Markus Armbruster wrote:
> Since commit 50b7b00, we have error_append_hint() to conveniently
> accumulate Error member @hint.  error_report_err() prints it with a
> newline appended.  Consequently, users of error_append_hint() need to
> know whether theirs is the final line of the hint to decide whether it
> needs a newline.  Not a nice interface.
> 
> Change error_report_err() to print just the hint, and the (still few)
> users of error_append_hint() to add the required newline.
> 
> Cc: Eric Blake <ebl...@redhat.com>
> Signed-off-by: Markus Armbruster <arm...@redhat.com>
> ---
>  qdev-monitor.c     | 2 ++
>  util/error.c       | 2 +-
>  util/qemu-option.c | 4 ++--
>  3 files changed, 5 insertions(+), 3 deletions(-)

Would also be worth squashing this in:

diff --git i/include/qapi/error.h w/include/qapi/error.h
index 1480f59..007dc94 100644
--- i/include/qapi/error.h
+++ w/include/qapi/error.h
@@ -142,6 +142,8 @@ ErrorClass error_get_class(const Error *err);
  * If @errp is anything else, *@errp must be NULL.
  * The new error's class is ERROR_CLASS_GENERIC_ERROR, and its
  * human-readable error message is made from printf-style @fmt, ...
+ * @fmt should be limited to one line, and should not include trailing
+ * punctuation or newline (to provide more text, see error_append_hint()).
  */
 #define error_setg(errp, fmt, ...)                              \
     error_setg_internal((errp), __FILE__, __LINE__, __func__,   \
@@ -198,7 +200,8 @@ void error_propagate(Error **dst_errp, Error
*local_err);

 /**
  * Append a printf-style human-readable explanation to an existing error.
- * May be called multiple times, and safe if @errp is NULL.
+ * May be called multiple times, and safe if @errp is NULL.  Caller is
+ * responsible for providing a trailing newline when the hint is complete.
  */
 void error_append_hint(Error **errp, const char *fmt, ...)
     GCC_FMT_ATTR(2, 3);


Reviewed-by: Eric Blake <ebl...@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to