diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-03-03 12:32:23 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-03-03 12:32:23 -0500 |
commit | 77171b5376bbed21171604b98c6ad673a3a0cb64 (patch) | |
tree | ffd1181b5a55a433ea151a8847dd317dbecad600 /src/mirrors.c | |
parent | f177b644cf4065c2a0c9c14df9609a92c8782f09 (diff) | |
download | spmc-77171b5376bbed21171604b98c6ad673a3a0cb64.tar.gz |
Do not force user to have a mirrorlist configuration
Diffstat (limited to 'src/mirrors.c')
-rw-r--r-- | src/mirrors.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/mirrors.c b/src/mirrors.c index a4a17c2..cad3f6b 100644 --- a/src/mirrors.c +++ b/src/mirrors.c @@ -81,12 +81,27 @@ char **file_readlines(const char *filename, size_t start, size_t limit, ReaderFn return result; } +/** + * + * @param filename + * @return + */ char **mirror_list(const char *filename) { - char **mirrors = file_readlines(filename, 0, 0, NULL); + char **mirrors = NULL; char **result = NULL; size_t count; - for (count = 0; mirrors[count] != NULL; count++); + // The configuration file isn't critical so if it isn't available, no big deal + if (exists(filename) != 0) { + return NULL; + } + + mirrors = file_readlines(filename, 0, 0, NULL); + if (mirrors == NULL) { + return NULL; + } + + for (count = 0; mirrors[count] != NULL; count++); if (!count) { return NULL; } |