[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH] shell: LIOv2-Fixes für cp
! shell: Verdrehte fread-Parameter in cp gefixt. cp muss 1 für die
Objektgröße nehmen, sonst werden nur Dateien mit durch 4k teilbarer
Größe richtig kopiert
! shell: Ein fread-Rückgabewert von 0 ist nicht zwingend ein Fehler
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
src/modules/c/shell/cmds/cp.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/modules/c/shell/cmds/cp.c b/src/modules/c/shell/cmds/cp.c
index 5c0f0e8..88a04fd 100644
--- a/src/modules/c/shell/cmds/cp.c
+++ b/src/modules/c/shell/cmds/cp.c
@@ -250,13 +250,13 @@ int cp_file(char* src_path, char* dst_path) {
uint8_t buffer[BUFFER_SIZE];
- while (!feof(src)) {
- size_t length = fread(buffer, BUFFER_SIZE, 1, src);
- if (length == 0) {
- fprintf(stderr, "Fehler beim Kopieren: %d\n", length);
+ while (!feof(src)) {
+ size_t length = fread(buffer, 1, BUFFER_SIZE, src);
+ if (ferror(src)) {
+ fprintf(stderr, "Fehler beim Lesen der Quelldatei\n");
fclose(src);
fclose(dst);
- return EXIT_FAILURE;
+ return -3;
}
fwrite(buffer, length, 1, dst);
--
1.6.0.2