implemented extended errors return for 'exec' variable
This commit is contained in:
parent
775635019c
commit
7058e86538
|
|
@ -147,7 +147,7 @@ static int ExecCommandParse(char *cmd)
|
||||||
//int err = 0;
|
//int err = 0;
|
||||||
int commlen = strlen(cmd);
|
int commlen = strlen(cmd);
|
||||||
if (commlen > CONFIG_WEBGUIAPP_MAX_COMMAND_STRING_LENGTH)
|
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];
|
char comm[CONFIG_WEBGUIAPP_MAX_COMMAND_STRING_LENGTH + 1];
|
||||||
|
|
||||||
strcpy(comm, cmd);
|
strcpy(comm, cmd);
|
||||||
|
|
@ -155,9 +155,9 @@ static int ExecCommandParse(char *cmd)
|
||||||
com = strtok(NULL, ",");
|
com = strtok(NULL, ",");
|
||||||
arg = strtok(NULL, "\0");
|
arg = strtok(NULL, "\0");
|
||||||
if (!obj)
|
if (!obj)
|
||||||
return 2;
|
return 2; //ERROR_OBJECT_NOT_PARSED
|
||||||
if (!com)
|
if (!com)
|
||||||
return 3;
|
return 3; //ERROR_ACTION_NOT_PARSED
|
||||||
|
|
||||||
for (int idx = 0; idx < CONFIG_WEBGUIAPP_MAX_OBJECTS_NUM; idx++)
|
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)
|
if (com_obj_arr[idx].command_handlers[i] != NULL)
|
||||||
{
|
{
|
||||||
com_obj_arr[idx].command_handlers[i](obj, com, arg);
|
com_obj_arr[idx].command_handlers[i](obj, com, arg);
|
||||||
return 0;
|
return 0; //EXECUTED_OK
|
||||||
}
|
}
|
||||||
else
|
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)
|
if (custom_com_obj_arr[idx].command_handlers[i] != NULL)
|
||||||
{
|
{
|
||||||
custom_com_obj_arr[idx].command_handlers[i](obj, com, arg);
|
custom_com_obj_arr[idx].command_handlers[i](obj, com, arg);
|
||||||
return 0;
|
return 0; //EXECUTED_OK
|
||||||
}
|
}
|
||||||
else
|
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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,6 @@ static void funct_cronrecs(char *argres, int rw)
|
||||||
}
|
}
|
||||||
//CRON implementation END
|
//CRON implementation END
|
||||||
|
|
||||||
|
|
||||||
static void funct_serial_mode(char *argres, int rw)
|
static void funct_serial_mode(char *argres, int rw)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -334,12 +333,20 @@ static void funct_objsinfo(char *argres, int rw)
|
||||||
GetObjectsInfo(argres);
|
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)
|
static void funct_exec(char *argres, int rw)
|
||||||
{
|
{
|
||||||
if (rw)
|
int res = ExecCommand(argres);
|
||||||
ExecCommand(argres);
|
snprintf(argres, VAR_MAX_VALUE_LENGTH, "\"%s\"", EXEC_ERROR[res]);
|
||||||
else
|
|
||||||
snprintf(argres, VAR_MAX_VALUE_LENGTH, "\"EXECUTED\"");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void funct_file_list(char *argres, int rw)
|
static void funct_file_list(char *argres, int rw)
|
||||||
|
|
@ -374,7 +381,7 @@ static void funct_sd_block(char *argres, int rw)
|
||||||
|
|
||||||
static void funct_lat(char *argres, int rw)
|
static void funct_lat(char *argres, int rw)
|
||||||
{
|
{
|
||||||
if(rw)
|
if (rw)
|
||||||
{
|
{
|
||||||
GetSysConf()->sntpClient.lat = atof(argres);
|
GetSysConf()->sntpClient.lat = atof(argres);
|
||||||
}
|
}
|
||||||
|
|
@ -383,7 +390,7 @@ static void funct_lat(char *argres, int rw)
|
||||||
|
|
||||||
static void funct_lon(char *argres, int rw)
|
static void funct_lon(char *argres, int rw)
|
||||||
{
|
{
|
||||||
if(rw)
|
if (rw)
|
||||||
{
|
{
|
||||||
GetSysConf()->sntpClient.lon = atof(argres);
|
GetSysConf()->sntpClient.lon = atof(argres);
|
||||||
}
|
}
|
||||||
|
|
@ -580,7 +587,7 @@ const rest_var_t SystemVariables[] =
|
||||||
{ 0, "sd_visible", (bool*) (&VAR_TRUE), VAR_BOOL, R, 0, 1 }
|
{ 0, "sd_visible", (bool*) (&VAR_TRUE), VAR_BOOL, R, 0, 1 }
|
||||||
#else
|
#else
|
||||||
{ 0, "sd_visible", (bool*) (&VAR_FALSE), VAR_BOOL, R, 0, 1 },
|
{ 0, "sd_visible", (bool*) (&VAR_FALSE), VAR_BOOL, R, 0, 1 },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user