diff --git a/src/CommandProcSys.c b/src/CommandProcSys.c index 0bdced0..fa67f1d 100644 --- a/src/CommandProcSys.c +++ b/src/CommandProcSys.c @@ -147,7 +147,7 @@ static int ExecCommandParse(char *cmd) //int err = 0; int commlen = strlen(cmd); if (commlen > CONFIG_WEBGUIAPP_MAX_COMMAND_STRING_LENGTH) - return 1; + return 1; //ERROR_TOO_LONG_COMMAND char comm[CONFIG_WEBGUIAPP_MAX_COMMAND_STRING_LENGTH + 1]; strcpy(comm, cmd); @@ -155,9 +155,9 @@ static int ExecCommandParse(char *cmd) com = strtok(NULL, ","); arg = strtok(NULL, "\0"); if (!obj) - return 2; + return 2; //ERROR_OBJECT_NOT_PARSED if (!com) - return 3; + return 3; //ERROR_ACTION_NOT_PARSED for (int idx = 0; idx < CONFIG_WEBGUIAPP_MAX_OBJECTS_NUM; idx++) { @@ -170,13 +170,13 @@ static int ExecCommandParse(char *cmd) if (com_obj_arr[idx].command_handlers[i] != NULL) { com_obj_arr[idx].command_handlers[i](obj, com, arg); - return 0; + return 0; //EXECUTED_OK } else - return 6; + return 6; //ERROR_HANDLER_NOT_IMPLEMENTED } } - return 5; + return 5; //ERROR_ACTION_NOT_FOUND } } @@ -191,15 +191,15 @@ static int ExecCommandParse(char *cmd) if (custom_com_obj_arr[idx].command_handlers[i] != NULL) { custom_com_obj_arr[idx].command_handlers[i](obj, com, arg); - return 0; + return 0; //EXECUTED_OK } else - return 6; + return 6; //ERROR_HANDLER_NOT_IMPLEMENTED } } - return 5; + return 5; //ERROR_ACTION_NOT_FOUND } } - return 4; + return 4; //ERROR_OBJECT_NOT_FOUND } diff --git a/src/RestApiHandler.c b/src/RestApiHandler.c index 300b750..763ecd1 100644 --- a/src/RestApiHandler.c +++ b/src/RestApiHandler.c @@ -333,21 +333,20 @@ static void funct_objsinfo(char *argres, int rw) GetObjectsInfo(argres); } +const char *EXEC_ERROR[] = { + "EXECUTED_OK", + "ERROR_TOO_LONG_COMMAND", + "ERROR_OBJECT_NOT_PARSED", + "ERROR_ACTION_NOT_PARSED", + "ERROR_OBJECT_NOT_FOUND", + "ERROR_ACTION_NOT_FOUND", + "ERROR_HANDLER_NOT_IMPLEMENTED", +}; + static void funct_exec(char *argres, int rw) -{ - int len = strlen(argres); - if (rw) - { - if ( argres[0] == '"' && argres[len - 1] == '"') - { - argres[len - 1] = 0x00; - ExecCommand(argres + 1); - } - else - snprintf(argres, VAR_MAX_VALUE_LENGTH, "\"ERROR_NOTASTRING\""); - } - else - snprintf(argres, VAR_MAX_VALUE_LENGTH, "\"EXECUTED\""); +{ + int res = ExecCommand(argres); + snprintf(argres, VAR_MAX_VALUE_LENGTH, "\"%s\"", EXEC_ERROR[res]); } static void funct_file_list(char *argres, int rw)