From 5d3642b8ef920316693031d2ea34b9def0b1abc5 Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Thu, 22 Apr 2021 08:55:35 -0700 Subject: chore: rm unfinished projects --- sys/cmd/mv/mv.c | 130 ---------------------------------------------------- sys/cmd/mv/rules.mk | 13 ------ 2 files changed, 143 deletions(-) delete mode 100644 sys/cmd/mv/mv.c delete mode 100644 sys/cmd/mv/rules.mk (limited to 'sys/cmd/mv') diff --git a/sys/cmd/mv/mv.c b/sys/cmd/mv/mv.c deleted file mode 100644 index 0d19248..0000000 --- a/sys/cmd/mv/mv.c +++ /dev/null @@ -1,130 +0,0 @@ -#include -#include - -static struct Flags -{ - uchar f : 1; - uchar i : 1; - uchar v : 1; -} flag; - -static -char * -strcpyn(char *dst, char *src, int n) -{ - while(*src && n-->0) - *dst++ = *src++; - - *dst = 0; - return dst; -} - -static -int -mv(char *from, char *to) -{ - io·Stat src, dst; - - if(lstat(from, &src)) { - errorf("%s", from); - return 1; - } - - if(!flag.f && !access(to, F_OK)) { - int ask = 1; - int ch, first; - - if(flag.i && !access(from, F_OK)) - fprintf(stderr, "overwrite %s? ", to); - else - ask = 0; - - if (ask) { - first = ch = getchar(); - while (ch != '\n' && ch != EOF) - ch = getchar(); - - if (first != 'y' || first != 'Y') - return 0; - } - } - - if(!rename(from, to)) { - if (flag.v) - fprintf(stdout, "%s -> %s\n", from, to); - return 0; - } - - /* TODO: errno = EXDEV */ - errorf("rename: %s to %s: %s", from, to, strerror(errno)); - return 1; -} - -static -void -usage(void) -{ - fputs("usage: mv [-fiv] source ... dest\n", stderr); - exit(1); -} - -int -main(int argc, char *argv[]) -{ - int err, len; - io·Stat info; - char *arg, *nm, *e, path[4096]; - - ARGBEGIN{ - case 'f': - flag.f++; - break; - case 'i': - flag.i++; - break; - case 'v': - flag.v++; - break; - default: - usage(); - }ARGEND; - - if(argc < 2) - usage(); - - if(stat(argv[argc-1],&info) || !S_ISDIR(info.st_mode)) { - if (argc > 2) - usage(); - exit(mv(argv[0], argv[1])); - } - - /* we know the last argument is a directory */ - e = strcpyn(path, argv[argc-1], sizeof path-1); - *e++ = '/'; - - for(err=0; --argc; ++argv) { - arg = argv[0]; - - if ((nm = strrchr(arg, '/')) == nil) - nm = arg; - else { - /* case: name/ */ - if (!nm[1]) { - while(nm >= arg && nm[0] == '/') - nm--; - while(nm >= arg && nm[0] != '/') - nm--; - } - nm++; - } - - if ((len = strlen(nm)) >= arrend(path)-e) { - errorf("%s: path name overflow\n", arg); - err++; - continue; - } - memmove(e, nm, len+1); - err += mv(arg, path); - } - exit(err); -} diff --git a/sys/cmd/mv/rules.mk b/sys/cmd/mv/rules.mk deleted file mode 100644 index f282ed8..0000000 --- a/sys/cmd/mv/rules.mk +++ /dev/null @@ -1,13 +0,0 @@ -include share/push.mk - -# Local sources -SRCS_$(d) := $(d)/mv.c -BINS_$(d) := $(d)/mv - -include share/paths.mk - -# Local rules -$(BINS_$(d)): $(OBJS_$(d)) $(OBJ_DIR)/libn/libn.a - $(COMPLINK) - -include share/pop.mk -- cgit v1.2.1