Skip to content
Snippets Groups Projects
Commit 25f6a16a authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

batch_file_remove() can now remove multiple files matching pattern

Returns count of files removed now (not bool).
parent 0c4e29c2
No related branches found
No related tags found
No related merge requests found
......@@ -448,17 +448,24 @@ size_t batch_file_count(scfg_t* cfg, uint usernumber, enum XFER_TYPE type)
return result;
}
bool batch_file_remove(scfg_t* cfg, uint usernumber, enum XFER_TYPE type, const char* filename)
int batch_file_remove(scfg_t* cfg, uint usernumber, enum XFER_TYPE type, const char* filename)
{
FILE* fp = batch_list_open(cfg, usernumber, type, /* for_modify: */true);
if(fp == NULL)
return false;
str_list_t ini = iniReadFile(fp);
bool result = iniRemoveSection(&ini, filename);
str_list_t files = iniGetSectionList(ini, NULL);
int removed = 0;
for(int n = 0; files[n] != NULL; ++n) {
if(wildmatch(files[n], filename, /* path: */false, /* case-sensitive: */false)) {
if(iniRemoveSection(&ini, files[n]))
++removed;
}
}
iniWriteFile(fp, ini);
iniCloseFile(fp);
iniFreeStringList(ini);
return result;
return removed;
}
// 'n' is zero-based index of file to remove
......
......@@ -88,7 +88,7 @@ DLLEXPORT bool batch_list_clear(scfg_t*, uint usernumber, enum XFER_TYPE);
DLLEXPORT bool batch_file_add(scfg_t*, uint usernumber, enum XFER_TYPE, file_t*);
DLLEXPORT bool batch_file_exists(scfg_t*, uint usernumber, enum XFER_TYPE, const char* filename);
DLLEXPORT bool batch_file_remove(scfg_t*, uint usernumber, enum XFER_TYPE, const char* filename);
DLLEXPORT int batch_file_remove(scfg_t*, uint usernumber, enum XFER_TYPE, const char* filename);
DLLEXPORT bool batch_file_remove_n(scfg_t*, uint usernumber, enum XFER_TYPE, uint n);
DLLEXPORT size_t batch_file_count(scfg_t*, uint usernumber, enum XFER_TYPE);
DLLEXPORT bool batch_file_get(scfg_t*, str_list_t, const char* filename, file_t*);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment