repomd: Add cr_repomd_detach_record function
authorTomas Mlcoch <tmlcoch@redhat.com>
Thu, 19 Sep 2013 08:16:45 +0000 (10:16 +0200)
committerTomas Mlcoch <tmlcoch@redhat.com>
Thu, 19 Sep 2013 08:16:45 +0000 (10:16 +0200)
src/repomd.c
src/repomd.h

index 9ba4742..dd4d92e 100644 (file)
@@ -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)
 {
index 7d134cc..2b056c7 100644 (file)
@@ -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
  */