From 2f8984613e17f9e5971ec338240b0bb6d2dd1cc6 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Sat, 11 Feb 2023 08:13:14 +0000 Subject: Code refactor; only s6-ps has remaining globals now Signed-off-by: Laurent Bercot --- src/minutils/s6-umount.c | 66 ------------------------------------------------ 1 file changed, 66 deletions(-) delete mode 100644 src/minutils/s6-umount.c (limited to 'src/minutils/s6-umount.c') diff --git a/src/minutils/s6-umount.c b/src/minutils/s6-umount.c deleted file mode 100644 index 3ac1091..0000000 --- a/src/minutils/s6-umount.c +++ /dev/null @@ -1,66 +0,0 @@ -/* ISC license. */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#define USAGE "s6-umount mountpoint s6-umount -a" - -#define BUFSIZE 4096 -#define MAXLINES 512 - -static int umountall ( ) -{ - stralloc mountpoints[MAXLINES] ; - char buf[BUFSIZE+1] ; - buffer b ; - stralloc sa = STRALLOC_ZERO ; - unsigned int line = 0 ; - int e = 0 ; - int r ; - int fd = open_readb("/proc/mounts") ; - if (fd < 0) strerr_diefu1sys(111, "open /proc/mounts") ; - memset(mountpoints, 0, sizeof(mountpoints)) ; - buffer_init(&b, &buffer_read, fd, buf, BUFSIZE+1) ; - for (;;) - { - size_t n, p ; - if (line >= MAXLINES) strerr_dief1x(111, "/proc/mounts too big") ; - sa.len = 0 ; - r = skagetln(&b, &sa, '\n') ; - if (r <= 0) break ; - p = byte_chr(sa.s, sa.len, ' ') ; - if (p >= sa.len) strerr_dief1x(111, "bad /proc/mounts format") ; - p++ ; - n = byte_chr(sa.s + p, sa.len - p, ' ') ; - if (n == sa.len - p) strerr_dief1x(111, "bad /proc/mounts format") ; - if (!stralloc_catb(&mountpoints[line], sa.s + p, n) || !stralloc_0(&mountpoints[line])) - strerr_diefu1sys(111, "store mount point") ; - line++ ; - } - fd_close(fd) ; - stralloc_free(&sa) ; - if (r < 0) strerr_diefu1sys(111, "read /proc/mounts") ; - while (line--) - if (umount(mountpoints[line].s) == -1) - { - e++ ; - strerr_warnwu2sys("umount ", mountpoints[line].s) ; - } - return e ; -} - -int main (int argc, char const *const *argv) -{ - PROG = "s6-umount" ; - if (argc < 2) strerr_dieusage(100, USAGE) ; - if ((argv[1][0] == '-') && (argv[1][1] == 'a') && !argv[1][2]) - return umountall() ; - if (umount(argv[1]) == -1) strerr_diefu2sys(111, "umount ", argv[1]) ; - return 0 ; -} -- cgit v1.3.1