From 6bc88a7b19934882ed62e66fa96d28038804816e Mon Sep 17 00:00:00 2001 From: Tomas Mlcoch Date: Mon, 28 May 2012 10:01:59 +0200 Subject: [PATCH] Add handling into mergerepo if download of repodata failed --- src/mergerepo_c.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/mergerepo_c.c b/src/mergerepo_c.c index 8d9e3fa..285dcb7 100644 --- a/src/mergerepo_c.c +++ b/src/mergerepo_c.c @@ -581,12 +581,27 @@ int main(int argc, char **argv) GSList *local_repos = NULL; GSList *element = NULL; gchar *groupfile = NULL; + gboolean download_failed = FALSE; for (element = cmd_options->repo_list; element; element = g_slist_next(element)) { struct MetadataLocation *loc = get_metadata_location((gchar *) element->data); + if (!loc) { + download_failed = TRUE; + break; + } local_repos = g_slist_prepend(local_repos, loc); } + if (download_failed) { + g_warning("Downloading of repodata failed"); + // Remove downloaded metadata and free structures + for (element = local_repos; element; element = g_slist_next(element)) { + struct MetadataLocation *loc = (struct MetadataLocation *) element->data; + free_metadata_location(loc); + } + return 1; + } + // Get first groupfile -- 2.7.4