diff options
Diffstat (limited to 'src/user/cp.cc')
| -rw-r--r-- | src/user/cp.cc | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/user/cp.cc b/src/user/cp.cc deleted file mode 100644 index ca35e82..0000000 --- a/src/user/cp.cc +++ /dev/null @@ -1,52 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -/* - * Copyright (C) 2026 Richard QIn - */ -#include "ulib/stdio.h" -#include "ulib/stdlib.h" -#include "user/user.h" -#include "common/fcntl.h" - -char buf[512]; - -int main(int argc, char *argv[]) -{ - int fd_src, fd_dst, n; - - if (argc != 3) - { - printf("Usage: cp src dst\n"); - exit(1); - } - - if ((fd_src = open(argv[1], O_RDONLY)) < 0) - { - printf("cp: cannot open source %s\n", argv[1]); - exit(1); - } - - if ((fd_dst = open(argv[2], O_WRONLY | O_CREATE | O_TRUNC)) < 0) - { - printf("cp: cannot create destination %s\n", argv[2]); - close(fd_src); - exit(1); - } - - while ((n = read(fd_src, buf, sizeof(buf))) > 0) - { - if (write(fd_dst, buf, n) != n) - { - printf("cp: write error\n"); - exit(1); - } - } - - if (n < 0) - { - printf("cp: read error\n"); - } - - close(fd_src); - close(fd_dst); - exit(0); -}
\ No newline at end of file |
