diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2024-11-08 12:23:50 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-08 12:23:50 (GMT) |
commit | 061e50f196373d920c3eaa3718b9d0553914e006 (patch) | |
tree | 8121c12d8d17ccdd0b3a33dd7f3c93fb725f04df /Include/internal | |
parent | ee0746af7d7cfc6cc25441726034e4fea4bcf7e5 (diff) | |
download | cpython-061e50f196373d920c3eaa3718b9d0553914e006.zip cpython-061e50f196373d920c3eaa3718b9d0553914e006.tar.gz cpython-061e50f196373d920c3eaa3718b9d0553914e006.tar.bz2 |
gh-122943: Add the varpos parameter in _PyArg_UnpackKeywords (GH-126564)
Remove _PyArg_UnpackKeywordsWithVararg.
Add comments for integer arguments of _PyArg_UnpackKeywords.
Diffstat (limited to 'Include/internal')
-rw-r--r-- | Include/internal/pycore_modsupport.h | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/Include/internal/pycore_modsupport.h b/Include/internal/pycore_modsupport.h index 250106a..c661f1d 100644 --- a/Include/internal/pycore_modsupport.h +++ b/Include/internal/pycore_modsupport.h @@ -76,7 +76,7 @@ PyAPI_FUNC(int) _PyArg_ParseStackAndKeywords( ...); // Export for 'math' shared extension -PyAPI_FUNC(PyObject * const *) _PyArg_UnpackKeywordsEx( +PyAPI_FUNC(PyObject * const *) _PyArg_UnpackKeywords( PyObject *const *args, Py_ssize_t nargs, PyObject *kwargs, @@ -87,17 +87,12 @@ PyAPI_FUNC(PyObject * const *) _PyArg_UnpackKeywordsEx( int minkw, int varpos, PyObject **buf); -#define _PyArg_UnpackKeywords(args, nargs, kwargs, kwnames, parser, minpos, maxpos, minkw, buf) \ +#define _PyArg_UnpackKeywords(args, nargs, kwargs, kwnames, parser, minpos, maxpos, minkw, varpos, buf) \ (((minkw) == 0 && (kwargs) == NULL && (kwnames) == NULL && \ - (minpos) <= (nargs) && (nargs) <= (maxpos) && (args) != NULL) ? \ + (minpos) <= (nargs) && ((varpos) || (nargs) <= (maxpos)) && (args) != NULL) ? \ (args) : \ - _PyArg_UnpackKeywordsEx((args), (nargs), (kwargs), (kwnames), (parser), \ - (minpos), (maxpos), (minkw), 0, (buf))) -#define _PyArg_UnpackKeywordsWithVararg(args, nargs, kwargs, kwnames, parser, minpos, maxpos, minkw, buf) \ - (((minkw) == 0 && (kwargs) == NULL && (kwnames) == NULL && \ - (minpos) <= (nargs) && (args) != NULL) ? (args) : \ - _PyArg_UnpackKeywordsEx((args), (nargs), (kwargs), (kwnames), (parser), \ - (minpos), (maxpos), (minkw), 1, (buf))) + _PyArg_UnpackKeywords((args), (nargs), (kwargs), (kwnames), (parser), \ + (minpos), (maxpos), (minkw), (varpos), (buf))) #ifdef __cplusplus } |