X-Git-Url: https://git.cryptolib.org/?p=avr-crypto-lib.git;a=blobdiff_plain;f=test_src%2Fcli-stub.c;h=4cd8d264bbff08005675b16c0a50e6d7642fa780;hp=c1194c1cbe733283dc60a7f674e15e533464ab3c;hb=4b5da1dc27a791b5c448274a3db09cd035b33493;hpb=a5cb349f9d72e0d2c82730647b4f142de6b7e485 diff --git a/test_src/cli-stub.c b/test_src/cli-stub.c index c1194c1..4cd8d26 100644 --- a/test_src/cli-stub.c +++ b/test_src/cli-stub.c @@ -1,7 +1,7 @@ /* cli.c */ /* This file is part of the AVR-Crypto-Lib. - Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de) + Copyright (C) 2006-2015 Daniel Otte (bg@nerilex.org) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,16 +17,16 @@ along with this program. If not, see . */ /** - * + * * author: Daniel Otte - * email: daniel.otte@rub.de + * email: bg@nerilex.org * license: GPLv3 or later - * + * * components to help implementing simple command based interaction - * + * **/ - -#include + +#include #include #include #include @@ -40,21 +40,21 @@ cli_rx_fpt cli_rx = NULL; cli_tx_fpt cli_tx = NULL; uint8_t cli_echo = 1; -void echo_ctrl(char* s); +void echo_ctrl(char *s); uint16_t max_cmd_length(PGM_VOID_P cmdlist); -int8_t search_and_call(char* cmd, uint16_t maxcmdlength, PGM_VOID_P cmdlist); -void cli_option_listing(char* buffer, PGM_VOID_P cmdlist); -void cli_auto_help(uint16_t maxcmdlength, PGM_VOID_P cmdlist); +int8_t search_and_call(char *cmd, uint16_t maxcmdlength, PGM_VOID_P cmdlist); +void cli_option_listing(char *buffer, PGM_VOID_P cmdlist); +void cli_auto_help(uint16_t maxcmdlength, PGM_VOID_P cmdlist); typedef void(*str_fpt)(char*); #define CLI_ENTER 13 #define CLI_BACKSPACE 8 #define CLI_TABULATOR 9 -uint8_t cli_completion(char* buffer, uint16_t maxcmdlength, PGM_VOID_P cmdlist){ +uint8_t cli_completion(char *buffer, uint16_t maxcmdlength, PGM_VOID_P cmdlist){ uint8_t i=0; char ref[maxcmdlength+1]; - char* itemstr; + char *itemstr; ref[0]='\0'; /* check if we are behind the first word */ while(buffer[i]){ @@ -85,7 +85,7 @@ int8_t cmd_interface(PGM_VOID_P cmd_desc){ uint16_t cli_buffer_index; int8_t exit_code; uint8_t completion_failed=0; - char* cli_buffer; + char *cli_buffer; char c; uint16_t maxcmdlength = max_cmd_length(cmd_desc); cli_buffer = calloc(1,cli_buffer_size=maxcmdlength+2); @@ -98,12 +98,15 @@ int8_t cmd_interface(PGM_VOID_P cmd_desc){ c = cli_rx(); switch (c){ case CLI_ENTER: - if((exit_code=search_and_call(cli_buffer, maxcmdlength, cmd_desc))<=0){ + if((exit_code = search_and_call(cli_buffer, maxcmdlength, cmd_desc)) <=0 ){ free(cli_buffer); return exit_code; } + /* cli_putstr(cli_buffer); */ + memset(cli_buffer, 0, cli_buffer_size); cli_buffer_index=0; + /* cli_putstr_P(PSTR(" DONE\r\n>")); */ cli_putstr_P(PSTR("\r\n>")); completion_failed=0; break; @@ -123,7 +126,7 @@ int8_t cmd_interface(PGM_VOID_P cmd_desc){ cli_option_listing(cli_buffer, cmd_desc); } else { uint16_t old_idx = cli_buffer_index; - completion_failed = + completion_failed = ~cli_completion(cli_buffer, maxcmdlength, cmd_desc); cli_buffer_index = strlen(cli_buffer); if(cli_echo && cli_tx){