mirror of git://git.suckless.org/sbase
Implement -x option for mountpoint(1)
This commit is contained in:
parent
163a17a835
commit
fc7c1c0a88
18
mountpoint.c
18
mountpoint.c
|
@ -11,14 +11,14 @@
|
||||||
static void
|
static void
|
||||||
usage(void)
|
usage(void)
|
||||||
{
|
{
|
||||||
eprintf("usage: %s [-dq] target\n", argv0);
|
eprintf("usage: %s [-dqx] target\n", argv0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[])
|
main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int qflag = 0, dflag = 0;
|
int qflag = 0, dflag = 0, xflag = 0;
|
||||||
struct mntinfo *minfo = NULL;
|
struct mntinfo *minfo = NULL;
|
||||||
int siz;
|
int siz;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
@ -31,6 +31,9 @@ main(int argc, char *argv[])
|
||||||
case 'd':
|
case 'd':
|
||||||
dflag = 1;
|
dflag = 1;
|
||||||
break;
|
break;
|
||||||
|
case 'x':
|
||||||
|
xflag = 1;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
usage();
|
usage();
|
||||||
} ARGEND;
|
} ARGEND;
|
||||||
|
@ -41,8 +44,17 @@ main(int argc, char *argv[])
|
||||||
if (stat(argv[0], &st1) < 0)
|
if (stat(argv[0], &st1) < 0)
|
||||||
eprintf("stat %s:", argv[0]);
|
eprintf("stat %s:", argv[0]);
|
||||||
|
|
||||||
|
if (xflag) {
|
||||||
|
if (!S_ISBLK(st1.st_mode))
|
||||||
|
eprintf("stat: %s: not a block device\n",
|
||||||
|
argv[0]);
|
||||||
|
printf("%u:%u\n", major(st1.st_rdev),
|
||||||
|
minor(st1.st_rdev));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (!S_ISDIR(st1.st_mode))
|
if (!S_ISDIR(st1.st_mode))
|
||||||
eprintf("lstat %s: not a directory\n", argv[0]);
|
eprintf("stat %s: not a directory\n", argv[0]);
|
||||||
|
|
||||||
if (dflag) {
|
if (dflag) {
|
||||||
printf("%u:%u\n", major(st1.st_dev),
|
printf("%u:%u\n", major(st1.st_dev),
|
||||||
|
|
Loading…
Reference in New Issue