From: Baptiste Jonglez Date: Mon, 24 Aug 2020 23:00:30 +0000 (+0200) Subject: download: factor out the logic for building cache filenames X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=1c1480e573fc6b4c5f9c51bf225c32456672e5f8;p=project%2Fopkg-lede.git 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 --- 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);