static int InsertYearToArray()

in src/win32/dt_win32.c [552:582]


static int InsertYearToArray(DWORD year, YEARS_ARRAY *array)
{
    size_t i = 0;
    DWORD index = array->count;

    if (array == 0) {
        return EXIT_FAILURE;
    }

    for (i = 0; i < array->count; i++) {
        if (array->years[i] == year) {
            return EXIT_FAILURE;
        }
    }

    while (index >= array->size) {
        array->years = realloc(array->years, (array->size + YEARS_ARRAY_SEED) * sizeof(DWORD));

        if (array->years == NULL) {
            return EXIT_FAILURE;
        }
        for (i = array->size; i < array->size + YEARS_ARRAY_SEED; i++) {
            array->years[i] = YEAR_WRONG_VALUE;
        }
        array->size += YEARS_ARRAY_SEED;
    }
    array->count++;

    array->years[index] = year;
    return EXIT_SUCCESS;
}