@@ -141,6 +141,7 @@ static void zipSave(const save_entry_t* entry, const char* exp_path)
141141
142142static void copySave (const save_entry_t * save , const char * exp_path )
143143{
144+ int ret ;
144145 char copy_path [256 ];
145146
146147 if (strncmp (save -> path , exp_path , strlen (exp_path )) == 0 )
@@ -158,12 +159,15 @@ static void copySave(const save_entry_t* save, const char* exp_path)
158159 init_loading_screen ("Copying files..." );
159160
160161 snprintf (copy_path , sizeof (copy_path ), "%s%08x_%s_%s/" , exp_path , apollo_config .user_id , save -> title_id , save -> dir_name );
161-
162162 LOG ("Copying <%s> to %s..." , save -> path , copy_path );
163- copy_directory (save -> path , save -> path , copy_path );
164163
164+ ret = copy_directory (save -> path , save -> path , copy_path );
165165 stop_loading_screen ();
166- show_message ("Files successfully copied to:\n%s" , exp_path );
166+
167+ if (ret == SUCCESS )
168+ show_message ("Files successfully copied to:\n%s" , exp_path );
169+ else
170+ show_message ("Error! Can't copy save game to:\n%s" , exp_path );
167171}
168172
169173static int _update_save_details (const char * sys_path , const save_entry_t * save )
@@ -263,6 +267,7 @@ static void downloadSaveHDD(const save_entry_t* entry, const char* file)
263267 if (!extract_zip (APOLLO_LOCAL_CACHE "tmpsave.zip" , path ))
264268 {
265269 show_message ("Error extracting save game!" );
270+ orbis_SaveUmount (mount );
266271 return ;
267272 }
268273
@@ -279,6 +284,7 @@ static void downloadSaveHDD(const save_entry_t* entry, const char* file)
279284
280285static int _copy_save_hdd (const save_entry_t * save )
281286{
287+ int ret ;
282288 char copy_path [256 ];
283289 char mount [ORBIS_SAVE_DATA_DIRNAME_DATA_MAXSIZE ];
284290 sfo_patch_t patch = {
@@ -292,7 +298,7 @@ static int _copy_save_hdd(const save_entry_t* save)
292298 snprintf (copy_path , sizeof (copy_path ), APOLLO_SANDBOX_PATH , mount );
293299
294300 LOG ("Copying <%s> to %s..." , save -> path , copy_path );
295- copy_directory (save -> path , save -> path , copy_path );
301+ ret = copy_directory (save -> path , save -> path , copy_path );
296302
297303 snprintf (copy_path , sizeof (copy_path ), "%s" "sce_sys/" , save -> path );
298304 _update_save_details (copy_path , save );
@@ -301,7 +307,7 @@ static int _copy_save_hdd(const save_entry_t* save)
301307 patch_sfo (copy_path , & patch );
302308 orbis_SaveUmount (mount );
303309
304- return 1 ;
310+ return ( ret == SUCCESS ) ;
305311}
306312
307313static int _copy_save_pfs (const save_entry_t * save )
0 commit comments