From 440af4f3ebfecd68dabf8ce5524fd3f953e81c71 Mon Sep 17 00:00:00 2001 From: merakor Date: Mon, 21 Dec 2020 11:13:51 +0000 Subject: cpt: remove cpt-stat and cpt-readlink, add _stat() and _readlinkf cpt-readlink and cpt-stat were unnecessary additions for mundane tasks. Since they were binaries instead of scripts, they added an extra layer of complexity to the library. These functions are now included inside the package manager library with the names _readlinkf() and _stat(). FossilOrigin-Name: 7e15e2b57ddcb834c4286c8d1ac0a28031ae4f5d39f3c6a99f5b3aa0e9a83d43 --- bin/all.do | 2 -- bin/clean.do | 2 -- bin/cpt-readlink.c | 47 ----------------------------------------------- bin/cpt-stat.c | 41 ----------------------------------------- bin/test.do | 11 ----------- 5 files changed, 103 deletions(-) delete mode 100644 bin/all.do delete mode 100644 bin/clean.do delete mode 100644 bin/cpt-readlink.c delete mode 100644 bin/cpt-stat.c delete mode 100644 bin/test.do (limited to 'bin') diff --git a/bin/all.do b/bin/all.do deleted file mode 100644 index aceda74..0000000 --- a/bin/all.do +++ /dev/null @@ -1,2 +0,0 @@ -. ../config.rc -redo-ifchange cpt-readlink cpt-stat diff --git a/bin/clean.do b/bin/clean.do deleted file mode 100644 index 6234248..0000000 --- a/bin/clean.do +++ /dev/null @@ -1,2 +0,0 @@ -. ../config.rc -rm -f -- ./*.o cpt-readlink cpt-stat .dep.* diff --git a/bin/cpt-readlink.c b/bin/cpt-readlink.c deleted file mode 100644 index e7cfe50..0000000 --- a/bin/cpt-readlink.c +++ /dev/null @@ -1,47 +0,0 @@ -/* cpt-readlink --- a utility replacement for readlink - * See LICENSE for copyright information. - * - * This is basically a 'readlink -f' command. - */ -#include -#include -#include -#include -#include - -#define DIR_MAX PATH_MAX - NAME_MAX - 1 - - -char *realpath(const char *path, char *resolved_path); - -int -main(int argc, char *argv[]) -{ - - char buf[PATH_MAX]; - - /* We are going to use these if the file doesn't exist, but we can still - * use directories above the file. We are using dname and bname so that - * they don't clash with the functions with the same name. - */ - char dname[DIR_MAX]; /* directory name */ - char bname[NAME_MAX]; /* base name */ - sprintf(bname, "%s", (basename(argv[1]))); - - if (argc != 2 || strcmp(argv[1], "--help") == 0) { - fprintf(stderr, "usage: %s [file]\n", argv[0]); - return 1; - } - - if (!realpath(argv[1], buf)) { - - if (!realpath(dirname(argv[1]), dname)) { - perror(argv[0]); - return 1; - } - sprintf(buf, "%s/%s", dname, bname); - } - - printf("%s\n", buf); - return 0; -} diff --git a/bin/cpt-stat.c b/bin/cpt-stat.c deleted file mode 100644 index 584c2df..0000000 --- a/bin/cpt-stat.c +++ /dev/null @@ -1,41 +0,0 @@ -/* cpt-stat --- a utility for getting the user name of file owner - * See LICENSE for copyright information - * - * The reason this simple tool exists is because 'stat' is not - * portable and ls is not exactly stable enough for scripting. - * This program is for outputting the owner name, and that's it. - */ - -#include -#include -#include -#include - -struct passwd *pw; -struct stat sb; - -int -main (int argc, char *argv[]) -{ - /* Exit if no or multiple arguments are given. */ - if (argc != 2 || strcmp(argv[1], "--help") == 0) { - fprintf(stderr, "Usage: %s [pathname]\n", argv[0]); - return 1; - } - - /* Exit if file stat cannot be obtained. */ - if (lstat(argv[1], &sb) == -1) { - perror(argv[0]); - return 1; - } - - /* Exit if name of the owner cannot be retrieved. */ - if (!getpwuid(sb.st_uid)) { - return 1; - } - - /* Print the user name of file owner. */ - pw = getpwuid(sb.st_uid); - printf("%s\n", pw->pw_name); - return 0; -} diff --git a/bin/test.do b/bin/test.do deleted file mode 100644 index 4794751..0000000 --- a/bin/test.do +++ /dev/null @@ -1,11 +0,0 @@ -. ../config.rc -redo all -exec >&2 - -./cpt-readlink . -./cpt-readlink .. -./cpt-readlink /bin -./cpt-stat /bin -./cpt-stat cpt-readlink.o - -PHONY -- cgit v1.2.3