void np_item_destroy(void *pitem){ LpItem *item=(LpItem*)pitem; np_free(item->key); np_free(item->value); np_free(item->old_value); np_free(item); }
void np_item_write(LpItem *item, sqlite3 *db,const char *section){ char szSQL[128]; if (np_item_modified(item)) { sprintf(szSQL, "DELETE FROM ua_config WHERE section = '%s' AND var_name = '%s' AND var_value = '%s';", section,item->key,item->old_value); if (sqlite3_exec(db,szSQL,0,0, 0) != SQLITE_OK){ np_warning("np_item_write,write section to database erro: %s\n", sqlite3_errmsg(db)); }else { np_message("np_item_write del old value: %s\n",szSQL); } sprintf(szSQL, "INSERT INTO [ua_config] values('%s', '%s', '%s');", section,item->key,item->value); np_message("np_item_write section: %s\n",szSQL); if (sqlite3_exec(db,szSQL,0,0, 0) != SQLITE_OK){ np_warning("np_item_write,write section to database erro: %s\n", sqlite3_errmsg(db)); }else{ np_free(item->old_value); item->old_value = strdup(item->value); item->modified = FALSE; } }else { np_message("np_item_write section: %s, name: %s, value: %s no changed, skip to update!\n",section,item->key,item->value); } }
void np_cleanup() { if (this_nagios_plugin) { if(this_nagios_plugin->state) { if(this_nagios_plugin->state->state_data) { np_free(this_nagios_plugin->state->state_data->data); np_free(this_nagios_plugin->state->state_data); } np_free(this_nagios_plugin->state->name); np_free(this_nagios_plugin->state); } np_free(this_nagios_plugin->plugin_name); np_free(this_nagios_plugin); } this_nagios_plugin=NULL; }
void np_config_destroy(NetPhoneConfig *npconfig){ if (npconfig->filename!=NULL) np_free(npconfig->filename); np_list_for_each(npconfig->sections,(void (*)(void*))np_section_destroy); np_list_free(npconfig->sections); np_free(npconfig); }
void np_item_set_value(LpItem *item, const char *value){ np_free(item->value); item->value=strdup(value); item->modified = np_item_modified(item); }
void np_section_destroy(LpSection *sec){ np_free(sec->name); np_list_for_each(sec->items,np_item_destroy); np_list_free(sec->items); np_free(sec); }