9
9
#include "../../../ui/scene_director.h"
10
10
#include "../../common_command_arguments.h"
11
11
12
- #define TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX "index"
13
- #define TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX_PREFIX "-i"
12
+ #define TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX "new_index"
14
13
15
14
void totp_cli_command_move_docopt_commands () {
16
15
TOTP_CLI_PRINTF (" " TOTP_CLI_COMMAND_MOVE ", " TOTP_CLI_COMMAND_MOVE_ALT
@@ -20,16 +19,13 @@ void totp_cli_command_move_docopt_commands() {
20
19
void totp_cli_command_move_docopt_usage () {
21
20
TOTP_CLI_PRINTF (
22
21
" " TOTP_CLI_COMMAND_NAME
23
- " " DOCOPT_REQUIRED (TOTP_CLI_COMMAND_MOVE " | " TOTP_CLI_COMMAND_MOVE_ALT ) " " DOCOPT_ARGUMENT(TOTP_CLI_COMMAND_ARG_INDEX) " " DOCOPT_OPTIONAL(
24
- DOCOPT_OPTION (
25
- TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX_PREFIX ,
26
- DOCOPT_ARGUMENT (TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX ))) "\r\n" );
22
+ " " DOCOPT_REQUIRED (TOTP_CLI_COMMAND_MOVE " | " TOTP_CLI_COMMAND_MOVE_ALT ) " " DOCOPT_ARGUMENT (
23
+ TOTP_CLI_COMMAND_ARG_INDEX ) " " DOCOPT_ARGUMENT(TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX) " \r \n ");
27
24
}
28
25
29
- void totp_cli_command_move_docopt_options () {
30
- TOTP_CLI_PRINTF (" " DOCOPT_OPTION (
31
- TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX_PREFIX ,
32
- DOCOPT_ARGUMENT (TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX )) " New token index\r\n" );
26
+ void totp_cli_command_move_docopt_arguments () {
27
+ TOTP_CLI_PRINTF (" " TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX
28
+ " New token index in the list\r\n" );
33
29
}
34
30
35
31
void totp_cli_command_move_handle (PluginState * plugin_state , FuriString * args , Cli * cli ) {
@@ -44,39 +40,11 @@ void totp_cli_command_move_handle(PluginState* plugin_state, FuriString* args, C
44
40
return ;
45
41
}
46
42
47
- FuriString * temp_str = furi_string_alloc ();
48
-
49
43
int new_token_index = 0 ;
50
44
51
- while (args_read_string_and_trim (args , temp_str )) {
52
- bool parsed = false;
53
- if (furi_string_cmpi_str (temp_str , TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX_PREFIX ) == 0 ) {
54
- if (!args_read_int_and_trim (args , & new_token_index )) {
55
- TOTP_CLI_PRINTF_ERROR (
56
- "Missed value for argument \"" TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX_PREFIX
57
- "\"\r\n" );
58
- } else if (new_token_index < 1 || new_token_index > plugin_state -> tokens_count ) {
59
- TOTP_CLI_PRINTF_ERROR (
60
- "\"%" PRId16
61
- "\" is incorrect value for argument \"" TOTP_CLI_COMMAND_MOVE_ARG_NEW_INDEX_PREFIX
62
- "\"\r\n" ,
63
- new_token_index );
64
- } else {
65
- parsed = true;
66
- }
67
- } else {
68
- TOTP_CLI_PRINTF_ERROR ("Unknown argument \"%s\"\r\n" , furi_string_get_cstr (temp_str ));
69
- }
70
-
71
- if (!parsed ) {
72
- TOTP_CLI_PRINT_INVALID_ARGUMENTS ();
73
- furi_string_free (temp_str );
74
- return ;
75
- }
76
- }
77
-
78
- if (!totp_cli_ensure_authenticated (plugin_state , cli )) {
79
- furi_string_free (temp_str );
45
+ if (!args_read_int_and_trim (args , & new_token_index ) || new_token_index < 1 ||
46
+ new_token_index > plugin_state -> tokens_count ) {
47
+ TOTP_CLI_PRINT_INVALID_ARGUMENTS ();
80
48
return ;
81
49
}
82
50
@@ -113,6 +81,4 @@ void totp_cli_command_move_handle(PluginState* plugin_state, FuriString* args, C
113
81
if (activate_generate_token_scene ) {
114
82
totp_scene_director_activate_scene (plugin_state , TotpSceneGenerateToken , NULL );
115
83
}
116
-
117
- furi_string_free (temp_str );
118
84
}
0 commit comments