From 5c8b4287a45c0f0215d188769ab46458399351f5 Mon Sep 17 00:00:00 2001 From: "ewan@localhost.localdomain" Date: Mon, 16 Apr 2007 19:19:07 -0400 Subject: Added xen_session_clear_error. Signed-off-by: Ewan Mellor --- tools/libxen/include/xen_common.h | 7 +++++++ tools/libxen/src/xen_common.c | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) (limited to 'tools/libxen') diff --git a/tools/libxen/include/xen_common.h b/tools/libxen/include/xen_common.h index 688df1c686..fc8d092e74 100644 --- a/tools/libxen/include/xen_common.h +++ b/tools/libxen/include/xen_common.h @@ -159,6 +159,13 @@ extern void xen_session_logout(xen_session *session); +/** + * Clear any error condition recorded on this session. + */ +void +xen_session_clear_error(xen_session *session); + + /** * Get the UUID of the second given session. Set *result to point at a * string, yours to free. diff --git a/tools/libxen/src/xen_common.c b/tools/libxen/src/xen_common.c index b22ab2fcee..f0fc4cce33 100644 --- a/tools/libxen/src/xen_common.c +++ b/tools/libxen/src/xen_common.c @@ -207,6 +207,23 @@ xen_session_logout(xen_session *session) } +void +xen_session_clear_error(xen_session *session) +{ + if (session->error_description != NULL) + { + for (int i = 0; i < session->error_description_count; i++) + { + free(session->error_description[i]); + } + free(session->error_description); + } + session->error_description = NULL; + session->error_description_count = 0; + session->ok = true; +} + + bool xen_session_get_uuid(xen_session *session, char **result, xen_session *self_session) -- cgit v1.2.3