Source
void zbx_pp_history_pop(zbx_pp_history_t *history, int index, zbx_variant_t *value, zbx_timespec_t *ts)
/*
** Copyright (C) 2001-2024 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
ZBX_VECTOR_IMPL(pp_step_history, zbx_pp_step_history_t)
/******************************************************************************
* *
* Purpose: create preprocessing history *
* *
* Parameters: history_num - [IN] number of steps using history *
* *
* Return value: The created preprocessing history. *
* *
******************************************************************************/
zbx_pp_history_t *zbx_pp_history_create(int history_num)
{
zbx_pp_history_t *history = (zbx_pp_history_t *)zbx_malloc(NULL, sizeof(zbx_pp_history_t));
history->refcount = 1;
zbx_vector_pp_step_history_create(&history->step_history);
if (0 != history_num)
zbx_vector_pp_step_history_reserve(&history->step_history, (size_t)history_num);
return history;
}
/******************************************************************************
* *
* Purpose: free preprocessing history *
* *
******************************************************************************/
void zbx_pp_history_free(zbx_pp_history_t *history)
{
if (NULL == history || 0 != --history->refcount)
return;
for (int i = 0; i < history->step_history.values_num; i++)
zbx_variant_clear(&history->step_history.values[i].value);
zbx_vector_pp_step_history_destroy(&history->step_history);
zbx_free(history);
}
/******************************************************************************