aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/cp/cp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cmd/cp/cp.c')
-rw-r--r--sys/cmd/cp/cp.c75
1 files changed, 0 insertions, 75 deletions
diff --git a/sys/cmd/cp/cp.c b/sys/cmd/cp/cp.c
deleted file mode 100644
index dfe2922..0000000
--- a/sys/cmd/cp/cp.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <u.h>
-#include <libn.h>
-
-static struct Flags {
- uchar a : 1;
- uchar f : 1;
- uchar p : 1;
- uchar v : 1;
- uchar r : 1;
-} flag;
-static char follow;
-
-static
-int
-cp(char *from, char *to)
-{
-
-}
-
-/*
- * P -> never dereference
- * L -> dereference links
- * H -> dereference links on the first level
- */
-static
-void
-usage(void)
-{
- fputs("usage: cp [-afpv] [-[r|R] [-H | -L | -P]] source ... dest", stderr);
- exit(1);
-}
-
-int
-main(int argc, char *argv[])
-{
- io·Stat info;
-
- ARGBEGIN {
- case 'a':
- follow = 'P';
- flag.a = flag.p = flag.r = 1;
- break;
- case 'f':
- flag.f = 1;
- break;
- case 'p':
- flag.p = 1;
- break;
- case 'r':
- /* fallthrough */
- case 'R':
- flag.r = 1;
- break;
- case 'H':
- case 'L':
- case 'P':
- follow = ARGC();
- break;
- default:
- usage();
- } ARGEND;
-
- if (argc < 2)
- usage();
-
- if (!follow)
- follow = flag.r ? 'P' : 'L';
-
- if (argc > 2) {
- if (stat(argv[argc-1], &info) < 0)
- errorf("stat %s: %s", argv[argc-1], strerror(errno));
- if (!S_ISDIR(info.st_mode))
- errorf("%s: is not a directory", argv[argc-1]);
- }
-}