Example #1
0
void AwaStringArray_SetValueAsCString(AwaStringArray * array, AwaArrayIndex index, const char * value)
{
    if (array != NULL)
    {
        AwaArray * nulledStrings = AwaArray_GetContext((AwaArray *)array);
        if (nulledStrings != NULL)
        {
            Array_SetValue((AwaArray *)nulledStrings, index, (void *)value,
                           strlen(value) + 1);
        }
        Array_SetValue((AwaArray *)array, index, (void *)value, strlen(value));
    }
}
Example #2
0
const char * AwaStringArray_GetValueAsCString(const AwaStringArray * array, AwaArrayIndex index)
{
    char * value = NULL;

    if (array != NULL)
    {
        AwaArray * nulledStrings = AwaArray_GetContext((AwaArray *)array);
        if (nulledStrings != NULL)
        {
            value = Array_GetValue((const AwaArray *)nulledStrings, index);

            if (value == NULL)
            {
                const char * nonNulledValue = Array_GetValue((AwaArray *)array,
                                                             index);
                int nonNulledLength = Array_GetValueLength((AwaArray *)array,
                                                           index);
                char *  nulledValue = (char *)malloc(nonNulledLength + 1);

                if ((nonNulledValue != NULL) && (nulledValue != NULL) && (nonNulledLength >= 0))
                {
                    memcpy(nulledValue, nonNulledValue, (size_t)nonNulledLength);
                    nulledValue[nonNulledLength] = '\0';
                    Array_SetValue(nulledStrings, index, nulledValue, nonNulledLength + 1);
                    free(nulledValue);
                    value = Array_GetValue((const AwaArray *)nulledStrings,
                                           index);
                }
                else
                {
                    free(nulledValue);
                }
            }
        }
    }

    return value;
}
void AwaObjectLinkArray_SetValue(AwaObjectLinkArray * array, AwaArrayIndex index, AwaObjectLink value)
{
    Array_SetValue((AwaArray *)array, index, (void *)&value, sizeof(AwaObjectLink));
}
Example #4
0
void AwaFloatArray_SetValue(AwaFloatArray * array, AwaArrayIndex index, AwaFloat value)
{
    Array_SetValue((AwaArray *)array, index, (void *)&value, sizeof(AwaFloat));
}