]> git.ipfire.org Git - pakfire.git/commitdiff
repo: Find existing repositories before creating new ones
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 12 Mar 2021 19:30:50 +0000 (19:30 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 12 Mar 2021 19:30:50 +0000 (19:30 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/repo.c

index f10c0b438b547eaff98b346dc7b918888b4401b4..de2c0de80fffaafc8e10c36d437a2a2fe3431af8 100644 (file)
@@ -152,7 +152,15 @@ void pakfire_repo_free_all(Pakfire pakfire) {
 }
 
 PAKFIRE_EXPORT PakfireRepo pakfire_repo_create(Pakfire pakfire, const char* name) {
-       PakfireRepo repo = calloc(1, sizeof(*repo));
+       PakfireRepo repo;
+
+       // Return existing repositories with the same name
+       repo = pakfire_get_repo(pakfire, name);
+       if (repo)
+               return repo;
+
+       // Create a new one
+       repo = calloc(1, sizeof(*repo));
        if (!repo)
                return NULL;