summaryrefslogtreecommitdiff
path: root/src/skaembutils/s6-basename.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/skaembutils/s6-basename.c')
-rw-r--r--src/skaembutils/s6-basename.c46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/skaembutils/s6-basename.c b/src/skaembutils/s6-basename.c
deleted file mode 100644
index 9e00763..0000000
--- a/src/skaembutils/s6-basename.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* ISC license. */
-
-#include <string.h>
-
-#include <skalibs/sgetopt.h>
-#include <skalibs/allreadwrite.h>
-#include <skalibs/strerr.h>
-#include <skalibs/stralloc.h>
-#include <skalibs/djbunix.h>
-
-#define USAGE "s6-basename [ -n ] file [ suffix ]"
-
-int main (int argc, char const *const *argv)
-{
- stralloc sa = STRALLOC_ZERO ;
- int nl = 1 ;
- PROG = "s6-basename" ;
- {
- subgetopt l = SUBGETOPT_ZERO ;
- for (;;)
- {
- int opt = subgetopt_r(argc, argv, "n", &l) ;
- if (opt == -1) break ;
- switch (opt)
- {
- case 'n' : nl = 0 ; break ;
- default : strerr_dieusage(100, USAGE) ;
- }
- }
- argc -= l.ind ; argv += l.ind ;
- }
- if (!argc) strerr_dieusage(100, USAGE) ;
- if (!sabasename(&sa, argv[0], strlen(argv[0])))
- strerr_diefu2sys(111, "get basename of ", argv[0]) ;
- if (argc >= 2)
- {
- size_t n = strlen(argv[1]) ;
- if ((n < sa.len) && !strncmp(argv[1], sa.s + sa.len - n, n))
- sa.len -= n ;
- }
- if (nl && !stralloc_catb(&sa, "\n", 1))
- strerr_diefu2sys(111, "get basename of ", argv[0]) ;
- if (allwrite(1, sa.s, sa.len) < sa.len)
- strerr_diefu1sys(111, "write to stdout") ;
- return 0 ;
-}