aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxen
diff options
context:
space:
mode:
authorewan@localhost.localdomain <ewan@localhost.localdomain>2007-04-16 19:19:07 -0400
committerewan@localhost.localdomain <ewan@localhost.localdomain>2007-04-16 19:19:07 -0400
commit5c8b4287a45c0f0215d188769ab46458399351f5 (patch)
treed8d23fd534b757945f444ab57c758de504eb6512 /tools/libxen
parent83d7cbcd071f694f0f0c8fcd7101cf6f022945b2 (diff)
downloadxen-5c8b4287a45c0f0215d188769ab46458399351f5.tar.gz
xen-5c8b4287a45c0f0215d188769ab46458399351f5.tar.bz2
xen-5c8b4287a45c0f0215d188769ab46458399351f5.zip
Added xen_session_clear_error.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Diffstat (limited to 'tools/libxen')
-rw-r--r--tools/libxen/include/xen_common.h7
-rw-r--r--tools/libxen/src/xen_common.c17
2 files changed, 24 insertions, 0 deletions
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
@@ -160,6 +160,13 @@ 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)