@@ -70,15 +70,18 @@ PY_METHOD_VA(ClothingItem, getElementTexture,
7070 " Params: element, layer\n "
7171 " Gets the Key of the texture for the specified element and layer" )
7272{
73- int element, layer;
74- if (!PyArg_ParseTuple (args, " ii " , &element, &layer)) {
73+ Py_ssize_t element, layer;
74+ if (!PyArg_ParseTuple (args, " nn " , &element, &layer)) {
7575 PyErr_SetString (PyExc_TypeError, " getElementTexture expects int, int" );
7676 return nullptr ;
7777 }
7878
79- if (element >= 0 && element < self->fThis ->getNumElements ()) {
80- if (layer >= 0 && layer < plClothingItem::kLayerMax ) {
81- return pyPlasma_convert (self->fThis ->getElementTexture (element, layer));
79+ size_t element_s = size_t (element);
80+ size_t layer_s = size_t (layer);
81+
82+ if (element_s < self->fThis ->getNumElements ()) {
83+ if (layer_s < plClothingItem::kLayerMax ) {
84+ return pyPlasma_convert (self->fThis ->getElementTexture (element_s, layer_s));
8285 }
8386
8487 PyErr_SetString (PyExc_IndexError, " layer index out of range" );
@@ -93,10 +96,10 @@ PY_METHOD_VA(ClothingItem, setElementTexture,
9396 " Params: element idx, layer idx, texture\n "
9497 " Sets the texture of the specified element and layer" )
9598{
96- int element, layer;
99+ Py_ssize_t element, layer;
97100 pyKey* key;
98101
99- if (!PyArg_ParseTuple (args, " iiO " , &element, &layer, &key)) {
102+ if (!PyArg_ParseTuple (args, " nnO " , &element, &layer, &key)) {
100103 PyErr_SetString (PyExc_TypeError, " setElementTexture expects int, int, plKey" );
101104 return nullptr ;
102105 }
@@ -105,9 +108,12 @@ PY_METHOD_VA(ClothingItem, setElementTexture,
105108 return nullptr ;
106109 }
107110
108- if (element >= 0 && element < self->fThis ->getNumElements ()) {
109- if (layer >= 0 && layer < plClothingItem::kLayerMax ) {
110- self->fThis ->setElementTexture (element, layer, *(key->fThis ));
111+ size_t element_s = size_t (element);
112+ size_t layer_s = size_t (layer);
113+
114+ if (element_s < self->fThis ->getNumElements ()) {
115+ if (layer_s < plClothingItem::kLayerMax ) {
116+ self->fThis ->setElementTexture (element_s, layer_s, *(key->fThis ));
111117 Py_RETURN_NONE;
112118 }
113119
@@ -123,14 +129,16 @@ PY_METHOD_VA(ClothingItem, getElementName,
123129 " Params: element idx\n "
124130 " Gets the name of the specified element" )
125131{
126- int element;
127- if (!PyArg_ParseTuple (args, " i " , &element)) {
132+ Py_ssize_t element;
133+ if (!PyArg_ParseTuple (args, " n " , &element)) {
128134 PyErr_SetString (PyExc_TypeError, " getElementName expects int" );
129135 return nullptr ;
130136 }
131137
132- if (element >= 0 && element < self->fThis ->getNumElements ())
133- return pyPlasma_convert (self->fThis ->getElementName (element));
138+ size_t element_s = size_t (element);
139+
140+ if (element_s < self->fThis ->getNumElements ())
141+ return pyPlasma_convert (self->fThis ->getElementName (element_s));
134142
135143 PyErr_SetString (PyExc_IndexError, " element index out of range" );
136144 return nullptr ;
@@ -140,15 +148,17 @@ PY_METHOD_VA(ClothingItem, setElementName,
140148 " Params: element idx, name\n "
141149 " Sets the name of the specified element" )
142150{
143- int element;
151+ Py_ssize_t element;
144152 const char * name;
145- if (!PyArg_ParseTuple (args, " is " , &element, &name)) {
153+ if (!PyArg_ParseTuple (args, " ns " , &element, &name)) {
146154 PyErr_SetString (PyExc_TypeError, " setElementName expects int, string" );
147155 return nullptr ;
148156 }
149157
150- if (element >= 0 && element < self->fThis ->getNumElements ()) {
151- self->fThis ->setElementName (element, name);
158+ size_t element_s = size_t (element);
159+
160+ if (element_s < self->fThis ->getNumElements ()) {
161+ self->fThis ->setElementName (element_s, name);
152162 Py_RETURN_NONE;
153163 }
154164
@@ -174,14 +184,16 @@ PY_METHOD_VA(ClothingItem, delElement,
174184 " Params: element idx\n "
175185 " Remove an element from the clothingItem" )
176186{
177- int idx;
178- if (!PyArg_ParseTuple (args, " i " , &idx)) {
187+ Py_ssize_t idx;
188+ if (!PyArg_ParseTuple (args, " n " , &idx)) {
179189 PyErr_SetString (PyExc_TypeError, " delElement expects an int" );
180190 return nullptr ;
181191 }
182192
183- if (idx >= 0 && idx < self->fThis ->getNumElements ()) {
184- self->fThis ->delElement (idx);
193+ size_t idx_s = size_t (idx);
194+
195+ if (idx_s < self->fThis ->getNumElements ()) {
196+ self->fThis ->delElement (idx_s);
185197 Py_RETURN_NONE;
186198 }
187199
0 commit comments