diff options
Diffstat (limited to 'PC/_msi.c')
-rw-r--r-- | PC/_msi.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/PC/_msi.c b/PC/_msi.c index a15f68450b3..df6c881b4ec 100644 --- a/PC/_msi.c +++ b/PC/_msi.c @@ -287,14 +287,6 @@ msiobj_dealloc(msiobj* msidb) } static PyObject* -msiobj_close(msiobj* msidb, PyObject *args) -{ - MsiCloseHandle(msidb->h); - msidb->h = 0; - Py_RETURN_NONE; -} - -static PyObject* msierror(int status) { int code; @@ -342,6 +334,17 @@ msierror(int status) return NULL; } +static PyObject* +msidb_close(msiobj* msidb, PyObject *args) +{ + int status; + if ((status = MsiCloseHandle(msidb->h)) != ERROR_SUCCESS) { + return msierror(status); + } + msidb->h = 0; + Py_RETURN_NONE; +} + /*************************** Record objects **********************/ static PyObject* @@ -901,6 +904,8 @@ static PyMethodDef db_methods[] = { PyDoc_STR("Commit() -> None\nWraps MsiDatabaseCommit")}, { "GetSummaryInformation", (PyCFunction)msidb_getsummaryinformation, METH_VARARGS, PyDoc_STR("GetSummaryInformation(updateCount) -> viewobj\nWraps MsiGetSummaryInformation")}, + { "Close", (PyCFunction)msidb_close, METH_NOARGS, + PyDoc_STR("Close() -> None\nWraps MsiCloseHandle")}, { NULL, NULL } }; |