diff options
author | Christian Neukirchen <chneukirchen@gmail.com> | 2015-10-26 22:22:09 +0100 |
---|---|---|
committer | Christian Neukirchen <chneukirchen@gmail.com> | 2015-10-26 22:22:09 +0100 |
commit | 0ab154f2cd2879ea8a3cc65f66bbfc8ca3991088 (patch) | |
tree | 99afba3577088418e6fc79f070e9c57e9b0c44d3 | |
parent | c83a66e2a8a459d2aadef8b4dad05a1d2c45bef2 (diff) | |
download | lr-0ab154f2cd2879ea8a3cc65f66bbfc8ca3991088.tar.gz lr-0ab154f2cd2879ea8a3cc65f66bbfc8ca3991088.tar.xz lr-0ab154f2cd2879ea8a3cc65f66bbfc8ca3991088.zip |
fstype for NetBSD
-rw-r--r-- | lr.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lr.c b/lr.c index b323fb6..6bbefd3 100644 --- a/lr.c +++ b/lr.c @@ -697,6 +697,29 @@ scan_filesystems() scanned_filesystems = 1; } +#elif defined(__NetBSD__) +#include <sys/types.h> +#include <sys/statvfs.h> +void +scan_filesystems() +{ + struct statvfs *mnt; + struct stat st; + int i = getmntinfo(&mnt, MNT_NOWAIT); + + while (i-- > 0) { + if (stat(mnt->f_mntonname, &st) < 0) + continue; + + struct idmap *newkey = malloc(sizeof (struct idmap)); + newkey->id = st.st_dev; + newkey->name = strdup(mnt->f_fstypename); + tsearch(newkey, &filesystems, idorder); + mnt++; + }; + + scanned_filesystems = 1; +} #else void scan_filesystems() |