diff options
| author | Raymond Hettinger <rhettinger@users.noreply.github.com> | 2019-06-05 16:05:25 -0700 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-05 16:05:25 -0700 | 
| commit | e985804207473796a1326585b3e1b9e18c764345 (patch) | |
| tree | 2e01c8e7035bb5ae144f8051e916e8a579438346 /Modules/_collectionsmodule.c | |
| parent | c4c15ed7a2c7c2a1983e88b89c244d121eb3e512 (diff) | |
| download | cpython-git-e985804207473796a1326585b3e1b9e18c764345.tar.gz | |
bpo-37165: Convert _count_elements to the argument clinic (GH-13848)
Diffstat (limited to 'Modules/_collectionsmodule.c')
| -rw-r--r-- | Modules/_collectionsmodule.c | 27 | 
1 files changed, 16 insertions, 11 deletions
diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index dacea3a024..45169ecd11 100644 --- a/Modules/_collectionsmodule.c +++ b/Modules/_collectionsmodule.c @@ -8,9 +8,10 @@  #endif  /*[clinic input] +module _collections  class _tuplegetter "_tuplegetterobject *" "&tuplegetter_type"  [clinic start generated code]*/ -/*[clinic end generated code: output=da39a3ee5e6b4b0d input=ee5ed5baabe35068]*/ +/*[clinic end generated code: output=da39a3ee5e6b4b0d input=a8ece4ccad7e30ac]*/  static PyTypeObject tuplegetter_type;  #include "clinic/_collectionsmodule.c.h" @@ -2228,17 +2229,24 @@ static PyTypeObject defdict_type = {  /* helper function for Counter  *********************************************/ -PyDoc_STRVAR(_count_elements_doc, -"_count_elements(mapping, iterable) -> None\n\ -\n\ -Count elements in the iterable, updating the mapping"); +/*[clinic input] +_collections._count_elements + +    mapping: object +    iterable: object +    / + +Count elements in the iterable, updating the mapping +[clinic start generated code]*/  static PyObject * -_count_elements(PyObject *self, PyObject *args) +_collections__count_elements_impl(PyObject *module, PyObject *mapping, +                                  PyObject *iterable) +/*[clinic end generated code: output=7e0c1789636b3d8f input=e79fad04534a0b45]*/  {      _Py_IDENTIFIER(get);      _Py_IDENTIFIER(__setitem__); -    PyObject *it, *iterable, *mapping, *oldval; +    PyObject *it, *oldval;      PyObject *newval = NULL;      PyObject *key = NULL;      PyObject *bound_get = NULL; @@ -2247,9 +2255,6 @@ _count_elements(PyObject *self, PyObject *args)      PyObject *mapping_setitem;      PyObject *dict_setitem; -    if (!PyArg_UnpackTuple(args, "_count_elements", 2, 2, &mapping, &iterable)) -        return NULL; -      it = PyObject_GetIter(iterable);      if (it == NULL)          return NULL; @@ -2510,7 +2515,7 @@ PyDoc_STRVAR(module_doc,  ");  static struct PyMethodDef module_functions[] = { -    {"_count_elements", _count_elements,    METH_VARARGS,   _count_elements_doc}, +    _COLLECTIONS__COUNT_ELEMENTS_METHODDEF      {NULL,       NULL}          /* sentinel */  };  | 
