bpo-20486: Implement Database.Close() method in msilib (GH-4141) · python/cpython@a935654 (original) (raw)
`@@ -286,14 +286,6 @@ msiobj_dealloc(msiobj* msidb)
`
286
286
`PyObject_Del(msidb);
`
287
287
`}
`
288
288
``
289
``
`-
static PyObject*
`
290
``
`-
msiobj_close(msiobj* msidb, PyObject *args)
`
291
``
`-
{
`
292
``
`-
MsiCloseHandle(msidb->h);
`
293
``
`-
msidb->h = 0;
`
294
``
`-
Py_RETURN_NONE;
`
295
``
`-
}
`
296
``
-
297
289
`static PyObject*
`
298
290
`msierror(int status)
`
299
291
`{
`
`@@ -342,6 +334,17 @@ msierror(int status)
`
342
334
`return NULL;
`
343
335
`}
`
344
336
``
``
337
`+
static PyObject*
`
``
338
`+
msidb_close(msiobj* msidb, PyObject *args)
`
``
339
`+
{
`
``
340
`+
int status;
`
``
341
`+
if ((status = MsiCloseHandle(msidb->h)) != ERROR_SUCCESS) {
`
``
342
`+
return msierror(status);
`
``
343
`+
}
`
``
344
`+
msidb->h = 0;
`
``
345
`+
Py_RETURN_NONE;
`
``
346
`+
}
`
``
347
+
345
348
`/*************************** Record objects **********************/
`
346
349
``
347
350
`static PyObject*
`
`@@ -901,6 +904,8 @@ static PyMethodDef db_methods[] = {
`
901
904
`PyDoc_STR("Commit() -> None\nWraps MsiDatabaseCommit")},
`
902
905
` { "GetSummaryInformation", (PyCFunction)msidb_getsummaryinformation, METH_VARARGS,
`
903
906
`PyDoc_STR("GetSummaryInformation(updateCount) -> viewobj\nWraps MsiGetSummaryInformation")},
`
``
907
`+
{ "Close", (PyCFunction)msidb_close, METH_NOARGS,
`
``
908
`+
PyDoc_STR("Close() -> None\nWraps MsiCloseHandle")},
`
904
909
` { NULL, NULL }
`
905
910
`};
`
906
911
``