mirror of
https://github.com/python/cpython.git
synced 2025-08-30 13:38:43 +00:00
add a replacement API for PyCObject, PyCapsule #5630
All stdlib modules with C-APIs now use this. Patch by Larry Hastings
This commit is contained in:
parent
c679fd8efc
commit
b173f7853e
37 changed files with 943 additions and 149 deletions
|
@ -104,6 +104,7 @@ char *PyCursesVersion = "2.2";
|
|||
|
||||
#include "Python.h"
|
||||
|
||||
|
||||
#ifdef __osf__
|
||||
#define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
|
||||
#endif
|
||||
|
@ -174,7 +175,7 @@ static int initialisedcolors = FALSE;
|
|||
/*
|
||||
* Check the return code from a curses function and return None
|
||||
* or raise an exception as appropriate. These are exported using the
|
||||
* CObject API.
|
||||
* capsule API.
|
||||
*/
|
||||
|
||||
static PyObject *
|
||||
|
@ -2827,8 +2828,8 @@ PyInit__curses(void)
|
|||
return NULL;
|
||||
ModDict = d; /* For PyCurses_InitScr to use later */
|
||||
|
||||
/* Add a CObject for the C API */
|
||||
c_api_object = PyCObject_FromVoidPtr((void *)PyCurses_API, NULL);
|
||||
/* Add a capsule for the C API */
|
||||
c_api_object = PyCapsule_New(PyCurses_API, PyCurses_CAPSULE_NAME, NULL);
|
||||
PyDict_SetItemString(d, "_C_API", c_api_object);
|
||||
Py_DECREF(c_api_object);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue