From 95f56f2ff70dcc294d9d7aafa9b476a2f117dc07 Mon Sep 17 00:00:00 2001 From: Tomas Mlcoch Date: Thu, 19 Sep 2013 10:16:45 +0200 Subject: [PATCH] repomd: Add cr_repomd_detach_record function --- src/repomd.c | 7 +++++++ src/repomd.h | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/src/repomd.c b/src/repomd.c index 9ba4742..dd4d92e 100644 --- a/src/repomd.c +++ b/src/repomd.c @@ -684,6 +684,13 @@ cr_repomd_add_content_tag(cr_Repomd *repomd, const char *tag) cr_safe_string_chunk_insert(repomd->chunk, tag)); } +void +cr_repomd_detach_record(cr_Repomd *repomd, cr_RepomdRecord *rec) +{ + if (!repomd || !rec); + repomd->records = g_slist_remove(repomd->records, rec); +} + cr_RepomdRecord * cr_repomd_get_record(cr_Repomd *repomd, const char *type) { diff --git a/src/repomd.h b/src/repomd.h index 7d134cc..2b056c7 100644 --- a/src/repomd.h +++ b/src/repomd.h @@ -230,6 +230,14 @@ void cr_repomd_add_content_tag(cr_Repomd *repomd, const char *tag); */ cr_RepomdRecord *cr_repomd_get_record(cr_Repomd *repomd, const char *type); +/** Detach this record from the repomd records list. + * Note: Responsibility of freeing record memory no longer belongs to + * cr_Repomd object. + * @param repomd cr_Repomd object + * @param rec Record to be removed + */ +void cr_repomd_detach_record(cr_Repomd *repomd, cr_RepomdRecord *rec); + /** Frees cr_Repomd object and all its cr_RepomdRecord objects * @param repomd cr_Repomd object */ -- 2.7.4