refactor: use method for releasing tag resource

This commit is contained in:
eeff
2023-02-09 22:37:47 +08:00
parent 1592f1ae37
commit 148d81aaef
5 changed files with 12 additions and 12 deletions
+1
View File
@@ -91,6 +91,7 @@ UT_icd *neu_tag_get_icd();
neu_datatag_t *neu_tag_dup(const neu_datatag_t *tag);
void neu_tag_copy(neu_datatag_t *tag, const neu_datatag_t *other);
void neu_tag_fini(neu_datatag_t *tag);
void neu_tag_free(neu_datatag_t *tag);
inline static bool neu_tag_attribute_test(const neu_datatag_t *tag,
+1 -3
View File
@@ -316,9 +316,7 @@ end:
NEU_REQ_UPDATE_TAG_EVENT == event) {
neu_req_add_tag_t *add_tag = data;
for (uint16_t i = 0; i < add_tag->n_tag; i++) {
free(add_tag->tags[i].address);
free(add_tag->tags[i].name);
free(add_tag->tags[i].description);
neu_tag_fini(&add_tag->tags[i]);
}
free(add_tag->tags);
} else if (NEU_REQ_DEL_TAG_EVENT == event) {
+2 -6
View File
@@ -680,9 +680,7 @@ static int adapter_loop(enum neu_event_io_type type, int fd, void *usr_data)
}
for (uint16_t i = resp.index; i < cmd->n_tag; i++) {
free(cmd->tags[i].address);
free(cmd->tags[i].name);
free(cmd->tags[i].description);
neu_tag_fini(&cmd->tags[i]);
}
if (resp.index) {
@@ -724,9 +722,7 @@ static int adapter_loop(enum neu_event_io_type type, int fd, void *usr_data)
}
for (uint16_t i = resp.index; i < cmd->n_tag; i++) {
free(cmd->tags[i].address);
free(cmd->tags[i].name);
free(cmd->tags[i].description);
neu_tag_fini(&cmd->tags[i]);
}
if (resp.index > 0) {
cmd->n_tag = resp.index;
+7
View File
@@ -103,6 +103,13 @@ void neu_tag_copy(neu_datatag_t *tag, const neu_datatag_t *other)
}
}
void neu_tag_fini(neu_datatag_t *tag)
{
if (tag) {
tag_array_free(tag);
}
}
void neu_tag_free(neu_datatag_t *tag)
{
if (tag) {
+1 -3
View File
@@ -587,9 +587,7 @@ static int manager_loop(enum neu_event_io_type type, int fd, void *usr_data)
neu_msg_exchange(header);
reply(manager, header, &e);
for (int i = 0; i < cmd->n_tag; i++) {
free(cmd->tags[i].address);
free(cmd->tags[i].name);
free(cmd->tags[i].description);
neu_tag_fini(&cmd->tags[i]);
}
free(cmd->tags);
} else {