virterror: Add virSetError

Can be used to re-set an old error, which may have been squashed by
other functions (like cleanup routines). Will be used in subsequent patches
This commit is contained in:
Cole Robinson 2010-01-08 20:38:55 -05:00
parent 3a80f2f7ce
commit fd5eb45b95
3 changed files with 24 additions and 0 deletions

View File

@ -593,6 +593,7 @@ virRaiseErrorFull;
virReportSystemErrorFull;
virReportOOMErrorFull;
virStrerror;
virSetError;
# xml.h

View File

@ -289,6 +289,28 @@ virGetLastError(void)
return err;
}
/**
* virSetError:
*
* Set the current error from a previously saved error object
*
* Can be used to re-set an old error, which may have been squashed by
* other functions (like cleanup routines).
*
* Returns 0 on success, 1 on failure
*/
int
virSetError(virErrorPtr newerr)
{
virErrorPtr err;
err = virGetLastError();
if (!err)
return -1;
virResetError(err);
return virCopyError(newerr, err);
}
/**
* virCopyLastError:
* @to: target to receive the copy

View File

@ -90,6 +90,7 @@ void virReportOOMErrorFull(virConnectPtr conn,
__FILE__, __FUNCTION__, __LINE__)
int virSetError(virErrorPtr newerr);
void virDispatchError(virConnectPtr conn);
const char *virStrerror(int theerrno, char *errBuf, size_t errBufLen);