diff options
| author | Baptiste Jonglez | 2020-08-24 23:00:30 +0000 |
|---|---|---|
| committer | Paul Spooren | 2020-11-24 22:07:51 +0000 |
| commit | 1c1480e573fc6b4c5f9c51bf225c32456672e5f8 (patch) | |
| tree | 3183a7cc9be548de3fd1cd57806235965711b4b8 | |
| parent | 293b1cef8b5a6de64d3fec87c01729b64006713a (diff) | |
| download | opkg-lede-1c1480e573fc6b4c5f9c51bf225c32456672e5f8.tar.gz | |
download: factor out the logic for building cache filenames
If we want to access files in the cache from multiple functions, it is
necessary to have a single source of truth regarding the naming of files
in the cache.
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
| -rw-r--r-- | libopkg/opkg_download.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/libopkg/opkg_download.c b/libopkg/opkg_download.c index 373f231..cfe8e68 100644 --- a/libopkg/opkg_download.c +++ b/libopkg/opkg_download.c @@ -206,6 +206,17 @@ opkg_download(const char *src, const char *dest_file_name, return err; } +static char* get_cache_filename(const char *dest_file_name) +{ + char *cache_name; + char *filename = strrchr(dest_file_name, '/'); + if (filename) + cache_name = xstrdup(filename + 1); // strip leading '/' + else + cache_name = xstrdup(dest_file_name); + return cache_name; +} + static int opkg_download_cache(const char *src, const char *dest_file_name) { @@ -223,11 +234,7 @@ opkg_download_cache(const char *src, const char *dest_file_name) goto out1; } - char *filename = strrchr(dest_file_name, '/'); - if (filename) - cache_name = xstrdup(filename + 1); // strip leading '/' - else - cache_name = xstrdup(dest_file_name); + cache_name = get_cache_filename(dest_file_name); sprintf_alloc(&cache_location, "%s/%s", conf->cache, cache_name); if (file_exists(cache_location)) opkg_msg(NOTICE, "Copying %s.\n", cache_location); |