1491 static PyObject *
1492 ArmSubbufferTranIdentity_set_context_name (ArmSubbufferTranIdentity *self, PyObject *args)
1493 {
1494 int index;
1495 const char *name_ptr;
1496 int i;
1497
1498 /*
1499 * Supported calling signatures:
1500 * set_context_name (index, name)
1501 */
1502 if (!PyArg_ParseTuple(args, "is", &index, &name_ptr))
when PyArg_ParseTuple() succeeds
taking False path
1503 return NULL;
1504 if ((index < ARM_PROPERTY_MIN_ARRAY_INDEX) || (index > ARM_PROPERTY_MAX_ARRAY_INDEX))
when considering range: 20 <= value <= 0x7fffffff
taking True path
1505 return NULL;
1506
1507 /* Allocate the property array as required */
1508 if (self->arm_buffer.context_name_array == NULL)
1509 {
1510 self->arm_buffer.context_name_array = calloc (sizeof (arm_char_t *), ARM_PROPERTY_MAX_COUNT);
1511 for (i = 0; i < ARM_PROPERTY_MAX_COUNT; i++)
1512 {
1513 self->arm_buffer.context_name_array [i] = NULL;
1514 }
1515 }
1516
1517 /* Prevent memory loss when overwriting a value */
1518 ArmSubbufferTranIdentity_free_context_name (self, index);
1519
1520 /* Copy the names */
1521 self->arm_buffer.context_name_array [index] = strndup (name_ptr, ARM_PROPERTY_NAME_MAX_CHARS);
1522
1523 index++;
1524 if (index > self->arm_buffer.context_name_count)
1525 self->arm_buffer.context_name_count = index;
1526
1527 Py_INCREF(Py_None);
1528 return Py_None;
1529 }
returning (PyObject*)NULL without setting an exception