954 static PyObject *
955 ArmSubbufferAppIdentity_set_context_name (ArmSubbufferAppIdentity *self, PyObject *args)
956 {
957 int index;
958 const char *name_ptr;
959 int i;
960
961 /*
962 * Supported calling signatures:
963 * set_property (index, set_context_name)
964 */
965 if (!PyArg_ParseTuple(args, "is", &index, &name_ptr))
when PyArg_ParseTuple() succeeds
taking False path
966 return NULL;
967 if ((index < ARM_PROPERTY_MIN_ARRAY_INDEX) || (index > ARM_PROPERTY_MAX_ARRAY_INDEX))
when considering range: 20 <= value <= 0x7fffffff
taking True path
968 return NULL;
969
970 /* Allocate the property array as required */
971 if (self->arm_buffer.context_name_array == NULL)
972 {
973 self->arm_buffer.context_name_array = calloc (sizeof (arm_char_t *), ARM_PROPERTY_MAX_COUNT);
974 for (i = 0; i < ARM_PROPERTY_MAX_COUNT; i++)
975 {
976 self->arm_buffer.context_name_array [i] = NULL;
977 }
978 }
979
980 /* Prevent memory loss when overwriting a value */
981 ArmSubbufferAppIdentity_free_context_name (self, index);
982
983 /* Copy the names */
984 self->arm_buffer.context_name_array [index] = strndup (name_ptr, ARM_PROPERTY_NAME_MAX_CHARS);
985
986 index++;
987 if (index > self->arm_buffer.context_name_count)
988 self->arm_buffer.context_name_count = index;
989
990 Py_INCREF(Py_None);
991 return Py_None;
992 }
returning (PyObject*)NULL without setting an exception