* mount.cc (do_mount): Issue warning when using managed mount option on
non-empty directory.
This commit is contained in:
@ -16,6 +16,7 @@ details. */
|
||||
#include <sys/cygwin.h>
|
||||
#include <stdlib.h>
|
||||
#include <getopt.h>
|
||||
#include <dirent.h>
|
||||
|
||||
#ifdef errno
|
||||
#undef errno
|
||||
@ -104,6 +105,25 @@ do_mount (const char *dev, const char *where, int flags)
|
||||
}
|
||||
}
|
||||
|
||||
if (!force && flags & MOUNT_ENC)
|
||||
{
|
||||
DIR *dd = opendir (dev);
|
||||
if (dd)
|
||||
{
|
||||
struct dirent *d;
|
||||
while ((d = readdir (dd)))
|
||||
{
|
||||
if (d->d_name[0] != '.')
|
||||
/* fall through */;
|
||||
else if (d->d_name[1] == '\0'
|
||||
|| (d->d_name[1] == '.' && d->d_name[2] == '\0'))
|
||||
continue;
|
||||
fprintf (stderr, "%s: error: don't use \"-o managed\" on non-empty directories\n", progname);
|
||||
exit (1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mount (dev, where, flags))
|
||||
error (where);
|
||||
|
||||
|
Reference in New Issue
Block a user