commit 5e686681b99d3e90e5955f905d0b1e9e00da2d61
parent 7903f347f721c8f5ce8b398765a4edae58d6f788
Author: Dominik Schmidt <das1993@hotmail.com>
Date: Wed, 12 Dec 2012 22:40:50 +0100
checkIfOk flaw in cmd_reset corrected, and some functionality readded
Diffstat:
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/cmd.c b/src/cmd.c
@@ -33,14 +33,14 @@ int cmd_reset(struct command_exec *cmd, int fd){
do_log("cmd_reset","Couldn't send reset string", LOG_LEVEL_ERROR, LOG_TYPE_NORMAL);
return -1;
}
+ usleep(1000000);
char *ret=readString(fd, 0);
- if(checkIfOk(ret)){
+ if(!checkIfOk(ret)){
do_log("cmd_reset","Couldn't reset device", LOG_LEVEL_ERROR, LOG_TYPE_NORMAL);
free(ret);
return -2;
}
free(ret);
- usleep(1000000);
return 0;
}
int cmd_status(struct command_exec *cmd, int fd){
diff --git a/src/cmd_dispatch.c b/src/cmd_dispatch.c
@@ -18,11 +18,11 @@
#include <com.h>
#include <dev.h>
struct command_def commands[]={
- {.name="Status", .opt={.arg_length=0, .short_option="-s", .long_option="--status"}, .callback=&cmd_status},
- {.name="Reset", .opt={.arg_length=0, .short_option="-R", .long_option="--reset"}, .callback=&cmd_reset},
- {.name="Board-Reset", .opt={.arg_length=0, .short_option="-r", .long_option="--board-reset"}, .callback=&cmd_board_reset},
- {.name="Reset-Line", .opt={.usage="[1/0]", .arg_length=1, .short_option="-rL", .long_option="--reset-line"}, .callback=&cmd_reset_line},
- {.name="Board-Power", .opt={.usage="[1/0]", .arg_length=1, .short_option="-bP", .long_option="--board-power"}, .callback=&cmd_board_power},
+ {.name="Status", .opt={.arg_length=0, .short_option="-s", .long_option="--status"}, .request_mymode=0, .callback=&cmd_status},
+ {.name="Reset", .opt={.arg_length=0, .short_option="-R", .long_option="--reset"}, .request_mymode=1, .callback=&cmd_reset},
+ {.name="Board-Reset", .opt={.arg_length=0, .short_option="-r", .long_option="--board-reset"}, .request_mymode=0, .callback=&cmd_board_reset},
+ {.name="Reset-Line", .opt={.usage="[1/0]", .arg_length=1, .short_option="-rL", .long_option="--reset-line"}, .request_mymode=1, .callback=&cmd_reset_line},
+ {.name="Board-Power", .opt={.usage="[1/0]", .arg_length=1, .short_option="-bP", .long_option="--board-power"}, .request_mymode=0, .callback=&cmd_board_power},
{.name=NULL}
};
int executeCommand(struct command_exec *cmd, int fd){
diff --git a/src/engine.c b/src/engine.c
@@ -45,12 +45,9 @@ int engine_init(int argc, char **argv){
do_log("main","Couldn't open device",LOG_LEVEL_FATAL,LOG_TYPE_NORMAL);
return 1;
}
- processCommands(configuration.cmdlist.data,fd);
- /*
prepareCommandExecution(fd, &configuration);
processCommands(configuration.cmdlist.data,fd);
finishCommandExecution(fd, &configuration);
- */
closeDevice(fd);
return 0;
diff --git a/src/option.c b/src/option.c
@@ -39,6 +39,9 @@ int parseArguments(int argc, char **argv, struct conf *config){
if(cmd_def!=NULL){
optionAddCommand(config,cmd_def,&argv[i+1]);
i+=cmd_def->opt.arg_length;
+ if(cmd_def->request_mymode==1){
+ config->need_mymode=1;
+ }
continue;
}
}