|
13 | 13 | registries_t registry_manager_init_registries(list_t* registry_urls, clib_secrets_t secrets) { |
14 | 14 | list_t* registries = list_new(); |
15 | 15 |
|
16 | | - // Add all the registries that were provided. |
17 | | - list_iterator_t *registry_iterator = list_iterator_new(registry_urls, LIST_HEAD); |
18 | | - list_node_t *node; |
19 | | - while ((node = list_iterator_next(registry_iterator))) { |
20 | | - char* url = node->val; |
21 | | - url_data_t *parsed = url_parse(url); |
22 | | - char* hostname = strdup(parsed->hostname); |
23 | | - url_free(parsed); |
24 | | - char* secret = clib_secret_find_for_hostname(secrets, hostname); |
25 | | - registry_ptr_t registry = registry_create(url, secret); |
26 | | - list_rpush(registries, list_node_new(registry)); |
| 16 | + if (registry_urls != NULL) { |
| 17 | + // Add all the registries that were provided. |
| 18 | + list_iterator_t *registry_iterator = list_iterator_new(registry_urls, LIST_HEAD); |
| 19 | + list_node_t *node; |
| 20 | + while ((node = list_iterator_next(registry_iterator))) { |
| 21 | + char *url = node->val; |
| 22 | + url_data_t *parsed = url_parse(url); |
| 23 | + char *secret = clib_secret_find_for_hostname(secrets, parsed->hostname); |
| 24 | + url_free(parsed); |
| 25 | + registry_ptr_t registry = registry_create(url, secret); |
| 26 | + if (registry != NULL) { |
| 27 | + list_rpush(registries, list_node_new(registry)); |
| 28 | + } |
| 29 | + } |
| 30 | + list_iterator_destroy(registry_iterator); |
27 | 31 | } |
28 | | - list_iterator_destroy(registry_iterator); |
29 | 32 |
|
30 | 33 | // And add the default registry. |
31 | 34 | registry_ptr_t registry = registry_create(CLIB_WIKI_URL, NULL); |
|
0 commit comments