Пример #1
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;
}
Пример #2
0
AwaFloat AwaFloatArray_GetValue(const AwaFloatArray * array, AwaArrayIndex index)
{
    AwaFloat value = 0;
    AwaFloat * valuePtr = NULL;

    valuePtr = Array_GetValue((AwaArray *)array, index);

    if (valuePtr != NULL)
    {
        value = *valuePtr;
    }

    return value;
}
Пример #3
0
AwaObjectLink AwaObjectLinkArray_GetValue(const AwaObjectLinkArray * array, AwaArrayIndex index)
{
    AwaObjectLink value;
    void * valuePtr;

    memset(&value, 0, sizeof(AwaObjectLink));

    valuePtr = Array_GetValue((const AwaArray *)array, index);

    if (valuePtr != NULL)
    {
        memcpy(&value, valuePtr, sizeof(AwaObjectLink));
    }
    return value;
}