/****************************************************************************** * * * Function: zbx_regexp_clean_expressions * * * * Purpose: frees expression data retrieved by DCget_expressions function or * * prepared with add_regexp_ex() function calls * * * * Parameters: expressions - [IN] a vector of expression data pointers * * * ******************************************************************************/ void zbx_regexp_clean_expressions(zbx_vector_ptr_t *expressions) { int i; for (i = 0; i < expressions->values_num; i++) { zbx_expression_t *regexp = expressions->values[i]; zbx_free(regexp->name); zbx_free(regexp->expression); zbx_free(regexp); } zbx_vector_ptr_clear(expressions); }
/************************************************************************************ * * * Function: sql_writer_release * * * * Purpose: releases initialized sql writer by freeing allocated resources and * * setting its state to uninitialized. * * * ************************************************************************************/ static void sql_writer_release(void) { int i; for (i = 0; i < writer.dbinserts.values_num; i++) { zbx_db_insert_t *db_insert = (zbx_db_insert_t *)writer.dbinserts.values[i]; zbx_db_insert_clean(db_insert); zbx_free(db_insert); } zbx_vector_ptr_clear(&writer.dbinserts); zbx_vector_ptr_destroy(&writer.dbinserts); writer.initialized = 0; }