561: #line 677 "mxTools.pak" 562: 563: Py_C_Function( mxTools_indices, 564: "indices(object)\n\n" 565: "Returns tuple(range(len(object))).") 566: { 567: register int n; 568: register int index; 569: register PyObject *t = 0; 570: PyObject *w; 571: 572: Py_GetArgObject(w); 573: 574: n = PyObject_Length(w); 575: if (n < 0) 576: Py_Error(PyExc_TypeError, 577: "argument must have a __len__ method"); 578: 579: t = PyTuple_New(n); 580: if (!t) 581: goto onError; 582: 583: for (index = 0; index < n; index++) { 584: register PyObject *v = PyInt_FromLong((long)index); 585: if (!v) 586: goto onError; 587: PyTuple_SET_ITEM(t,index,v); 588: } 589: 590: return t; 591: 592: onError: 593: Py_XDECREF(t); 594: return NULL; 595: } 596: