@@ -7,19 +7,16 @@ void nfc_playlist_file_rename_menu_callback(void* context) {
7
7
char const * old_file_path = (char * )furi_string_get_cstr (nfc_playlist -> settings .file_path );
8
8
char const * old_file_name = strchr (old_file_path , '/' ) != NULL ? & strrchr (old_file_path , '/' )[1 ] : old_file_path ;
9
9
10
- FuriString * tmp_old_file_path = furi_string_alloc_set_str (old_file_path );
11
- furi_string_replace (tmp_old_file_path , old_file_name , "" );
10
+ FuriString * new_file_path = furi_string_alloc_set_str (old_file_path );
11
+ furi_string_replace (new_file_path , old_file_name , nfc_playlist -> text_input_output );
12
+ furi_string_cat_str (new_file_path , ".txt" );
12
13
13
- FuriString * tmp_new_file_path = furi_string_alloc ();
14
- furi_string_printf (tmp_new_file_path , "%s%s.txt" , furi_string_get_cstr (tmp_old_file_path ), nfc_playlist -> text_input_output );
15
-
16
- if (!storage_file_exists (storage , furi_string_get_cstr (tmp_new_file_path ))) {
17
- storage_common_rename_safe (storage , furi_string_get_cstr (nfc_playlist -> settings .file_path ), furi_string_get_cstr (tmp_new_file_path ));
18
- nfc_playlist -> settings .file_path = furi_string_alloc_set_str (furi_string_get_cstr (tmp_new_file_path ));
14
+ if (!storage_file_exists (storage , furi_string_get_cstr (new_file_path ))) {
15
+ storage_common_rename (storage , furi_string_get_cstr (nfc_playlist -> settings .file_path ), furi_string_get_cstr (new_file_path ));
16
+ nfc_playlist -> settings .file_path = furi_string_alloc_set_str (furi_string_get_cstr (new_file_path ));
19
17
}
20
18
furi_record_close (RECORD_STORAGE );
21
- furi_string_free (tmp_new_file_path );
22
- furi_string_free (tmp_old_file_path );
19
+ furi_string_free (new_file_path );
23
20
24
21
scene_manager_previous_scene (nfc_playlist -> scene_manager );
25
22
}
@@ -33,14 +30,11 @@ void nfc_playlist_file_rename_scene_on_enter(void* context) {
33
30
FuriString * tmp_file_name_furi = furi_string_alloc_set_str (tmp_file_name );
34
31
furi_string_replace (tmp_file_name_furi , ".txt" , "" );
35
32
36
- nfc_playlist -> text_input_output = (char * )malloc (50 * sizeof (char ));
37
- strcpy (nfc_playlist -> text_input_output , furi_string_get_cstr (tmp_file_name_furi ));
38
-
33
+ nfc_playlist -> text_input_output = strdup (furi_string_get_cstr (tmp_file_name_furi ));
39
34
furi_string_free (tmp_file_name_furi );
40
-
41
35
text_input_set_header_text (nfc_playlist -> text_input , "Enter new file name" );
42
36
text_input_set_minimum_length (nfc_playlist -> text_input , 1 );
43
- text_input_set_result_callback (nfc_playlist -> text_input , nfc_playlist_file_rename_menu_callback , nfc_playlist , nfc_playlist -> text_input_output , ( 50 * sizeof ( char )) , false);
37
+ text_input_set_result_callback (nfc_playlist -> text_input , nfc_playlist_file_rename_menu_callback , nfc_playlist , nfc_playlist -> text_input_output , 25 , false);
44
38
45
39
view_dispatcher_switch_to_view (nfc_playlist -> view_dispatcher , NfcPlaylistView_TextInput );
46
40
}
0 commit comments