diff options
-rw-r--r-- | server/modules/downloaders/curl/main.cpp | 19 | ||||
-rw-r--r-- | server/modules/downloaders/curl/src/curl_download.cpp | 1 |
2 files changed, 18 insertions, 2 deletions
diff --git a/server/modules/downloaders/curl/main.cpp b/server/modules/downloaders/curl/main.cpp index 667f4a3..46b6ee7 100644 --- a/server/modules/downloaders/curl/main.cpp +++ b/server/modules/downloaders/curl/main.cpp @@ -227,6 +227,23 @@ bool downloader::delete_download(int download_id, bool delete_data) { delete downloads[download_id]; downloads.erase(download_id); + //metadata cleanup + { + //TODO: handle errors + if(api->metadata_remove(this, compute_var_name(download_id, "name"))) + { + if(api->metadata_remove(this, compute_var_name(download_id, "download_path"))) + { + char param_name[16]; + for(int i = 0;; i++) + { + snprintf(param_name, 15, "param_%d", i); + if(!api->metadata_remove(this, compute_var_name(download_id, param_name))) + break; + } + } + } + } } //TODO: return true; @@ -278,7 +295,7 @@ bool downloader::metadata_drop(int download_id, std::string var) if(!var.empty()) { downloads[download_id]->metadata.erase(var); - api->metadata_remove(this, compute_var_name(download_id, var)); + return api->metadata_remove(this, compute_var_name(download_id, var)); } else { diff --git a/server/modules/downloaders/curl/src/curl_download.cpp b/server/modules/downloaders/curl/src/curl_download.cpp index d80a6e4..17629e5 100644 --- a/server/modules/downloaders/curl/src/curl_download.cpp +++ b/server/modules/downloaders/curl/src/curl_download.cpp @@ -103,7 +103,6 @@ bool curl_download::delete_download() { cancel_transfer = true; curl_easy_cleanup(easy_handle); - //TODO: cleanup metadata return true; //TODO: } |