@@ -118,9 +118,14 @@ bool mag_device_save(MagDevice* mag_dev, const char* dev_name) {
118
118
return mag_device_save_file (mag_dev , dev_name , MAG_APP_FOLDER , MAG_APP_EXTENSION , true);
119
119
}
120
120
121
- static bool mag_device_load_data (MagDevice * mag_dev , FuriString * path , bool show_dialog ) {
121
+ bool mag_device_load_data (MagDevice * mag_dev , FuriString * path , bool show_dialog ) {
122
122
bool parsed = false;
123
123
124
+ FuriString * filename ;
125
+ filename = furi_string_alloc ();
126
+ path_extract_filename (path , filename , true);
127
+ strncpy (mag_dev -> dev_name , furi_string_get_cstr (filename ), MAG_DEV_NAME_MAX_LEN );
128
+
124
129
FlipperFormat * file = flipper_format_file_alloc (mag_dev -> storage );
125
130
FuriString * temp_str ;
126
131
temp_str = furi_string_alloc ();
@@ -168,6 +173,7 @@ static bool mag_device_load_data(MagDevice* mag_dev, FuriString* path, bool show
168
173
}
169
174
170
175
furi_string_free (temp_str );
176
+ furi_string_free (filename );
171
177
flipper_format_free (file );
172
178
173
179
return parsed ;
@@ -189,15 +195,10 @@ bool mag_file_select(MagDevice* mag_dev) {
189
195
190
196
furi_string_free (mag_app_folder );
191
197
if (res ) {
192
- FuriString * filename ;
193
- filename = furi_string_alloc ();
194
- path_extract_filename (mag_dev -> load_path , filename , true);
195
- strncpy (mag_dev -> dev_name , furi_string_get_cstr (filename ), MAG_DEV_NAME_MAX_LEN );
196
198
res = mag_device_load_data (mag_dev , mag_dev -> load_path , true);
197
199
if (res ) {
198
200
mag_device_set_name (mag_dev , mag_dev -> dev_name );
199
201
}
200
- furi_string_free (filename );
201
202
}
202
203
203
204
return res ;
0 commit comments