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

``