ASSERT(Buffer != NULL);\r
while (ReadSize == PcdGet32(PcdShellFileOperationSize) && !EFI_ERROR(Status)) {\r
Status = ShellReadFile(SourceHandle, &ReadSize, Buffer);\r
- Status = ShellWriteFile(DestHandle, &ReadSize, Buffer);\r
+ if (!EFI_ERROR(Status)) {\r
+ Status = ShellWriteFile(DestHandle, &ReadSize, Buffer);\r
+ if (EFI_ERROR(Status)) {\r
+ ShellStatus = (SHELL_STATUS) (Status & (~MAX_BIT));\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_CPY_WRITE_ERROR), gShellLevel2HiiHandle, Dest);\r
+ break;\r
+ }\r
+ } else {\r
+ ShellStatus = (SHELL_STATUS) (Status & (~MAX_BIT));\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_CPY_READ_ERROR), gShellLevel2HiiHandle, Source);\r
+ break;\r
+ }\r
}\r
}\r
SHELL_FREE_NON_NULL(DestVolumeInfo);\r
}\r
-\r
+ \r
//\r
// close files\r
//\r