mirror of
https://github.com/DarkStore-3DS/DarkStore.git
synced 2026-07-02 16:49:05 +00:00
Only error on rmdir if required true
This commit is contained in:
@@ -228,16 +228,21 @@ void QueueSystem::QueueHandle() {
|
|||||||
} else if (type == "rmdir") {
|
} else if (type == "rmdir") {
|
||||||
bool missing = false;
|
bool missing = false;
|
||||||
std::string directory = "", message = "", promptmsg = "";
|
std::string directory = "", message = "", promptmsg = "";
|
||||||
|
bool required = false;
|
||||||
queueEntries[0]->status = QueueStatus::Request;
|
queueEntries[0]->status = QueueStatus::Request;
|
||||||
|
|
||||||
if (queueEntries[0]->obj[i].contains("directory") && queueEntries[0]->obj[i]["directory"].is_string()) {
|
if (queueEntries[0]->obj[i].contains("directory") && queueEntries[0]->obj[i]["directory"].is_string()) {
|
||||||
directory = queueEntries[0]->obj[i]["directory"];
|
directory = queueEntries[0]->obj[i]["directory"];
|
||||||
} else missing = true;
|
} else missing = true;
|
||||||
|
|
||||||
|
if (queueEntries[0]->obj[i].contains("required") && queueEntries[0]->obj[i]["required"].is_boolean()) {
|
||||||
|
required = queueEntries[0]->obj[i]["required"];
|
||||||
|
}
|
||||||
|
|
||||||
promptmsg = Lang::get("DELETE_PROMPT") + "\n" + directory;
|
promptmsg = Lang::get("DELETE_PROMPT") + "\n" + directory;
|
||||||
|
|
||||||
if (!missing && directory != "") {
|
if (!missing && directory != "") {
|
||||||
if (access(directory.c_str(), F_OK) != 0) ret = DELETE_ERROR;
|
if (access(directory.c_str(), F_OK) != 0 && required) ret = DELETE_ERROR;
|
||||||
else {
|
else {
|
||||||
if (QueueSystem::RequestNeeded == RMDIR_REQUEST) {
|
if (QueueSystem::RequestNeeded == RMDIR_REQUEST) {
|
||||||
/* There we already did it. :) */
|
/* There we already did it. :) */
|
||||||
|
|||||||
@@ -475,15 +475,20 @@ Result ScriptUtils::runFunctions(nlohmann::json storeJson, int selection, const
|
|||||||
} else if (type == "rmdir") {
|
} else if (type == "rmdir") {
|
||||||
bool missing = false;
|
bool missing = false;
|
||||||
std::string directory = "", promptmsg = "";
|
std::string directory = "", promptmsg = "";
|
||||||
|
bool required = false;
|
||||||
|
|
||||||
if (Script[i].contains("directory") && Script[i]["directory"].is_string()) {
|
if (Script[i].contains("directory") && Script[i]["directory"].is_string()) {
|
||||||
directory = Script[i]["directory"];
|
directory = Script[i]["directory"];
|
||||||
}
|
}
|
||||||
else missing = true;
|
else missing = true;
|
||||||
|
|
||||||
|
if (Script[i].contains("required") && Script[i]["required"].is_boolean()) {
|
||||||
|
required = Script[i]["required"];
|
||||||
|
}
|
||||||
|
|
||||||
promptmsg = Lang::get("DELETE_PROMPT") + "\n" + directory;
|
promptmsg = Lang::get("DELETE_PROMPT") + "\n" + directory;
|
||||||
if (!missing && directory != "") {
|
if (!missing && directory != "") {
|
||||||
if (access(directory.c_str(), F_OK) != 0) ret = DELETE_ERROR;
|
if (access(directory.c_str(), F_OK) != 0 && required) ret = DELETE_ERROR;
|
||||||
else {
|
else {
|
||||||
if (Msg::promptMsg(promptmsg)) removeDirRecursive(directory.c_str());
|
if (Msg::promptMsg(promptmsg)) removeDirRecursive(directory.c_str());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user