/* 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
/**
*
* author: Daniel Otte
- * email: daniel.otte@rub.de
+ * email: bg@nerilex.org
* license: GPLv3 or later
*
* components to help implementing simple command based interaction
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);
+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_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]){
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);
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);
+ /* 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(" DONE\r\n>")); */
+ cli_putstr_P(PSTR("\r\n>"));
completion_failed=0;
break;
case CLI_BACKSPACE: