summaryrefslogtreecommitdiff
path: root/server/modules/downloaders/curl/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'server/modules/downloaders/curl/main.cpp')
-rw-r--r--server/modules/downloaders/curl/main.cpp19
1 files changed, 18 insertions, 1 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
{