Add code to skip "userquota"/"groupquota" options needed for

quotaon/quotacheck
This commit is contained in:
Andrey A. Chernov 1994-09-29 16:39:26 +00:00
parent e4b1dc5b1e
commit 0fd4e043f4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=3202
6 changed files with 28 additions and 6 deletions

View File

@ -53,7 +53,7 @@ getmntopts(options, m0, flagp)
int *flagp;
{
const struct mntopt *m;
int negative;
int negative, len;
char *opt, *optbuf;
/* Copy option string, since it is about to be torn asunder... */
@ -69,9 +69,14 @@ getmntopts(options, m0, flagp)
negative = 0;
/* Scan option table. */
for (m = m0; m->m_option != NULL; ++m)
if (strcasecmp(opt, m->m_option) == 0)
for (m = m0; m->m_option != NULL; ++m) {
len = strlen(m->m_option);
if (strncasecmp(opt, m->m_option, len) == 0)
if ( m->m_option[len] == '\0'
|| m->m_option[len] == '='
)
break;
}
/* Save flag, or fail if option is not recognised. */
if (m->m_option) {

View File

@ -48,6 +48,10 @@ struct mntopt {
#define MOPT_SYNC { "sync", 0, MNT_SYNCHRONOUS }
#define MOPT_UNION { "union", 0, MNT_UNION }
/* Skip this options without any action (needed for checkquota/quotaon) */
#define MOPT_UQUOTA { "userquota", 0, 0 }
#define MOPT_GQUOTA { "groupquota", 0, 0 }
/* Control flags. */
#define MOPT_FORCE { "force", 1, MNT_FORCE }
#define MOPT_UPDATE { "update", 0, MNT_UPDATE }

View File

@ -60,6 +60,8 @@ static struct mntopt mopts[] = {
MOPT_ASYNC,
MOPT_SYNC,
MOPT_UPDATE,
MOPT_UQUOTA,
MOPT_GQUOTA,
{ NULL }
};

View File

@ -53,7 +53,7 @@ getmntopts(options, m0, flagp)
int *flagp;
{
const struct mntopt *m;
int negative;
int negative, len;
char *opt, *optbuf;
/* Copy option string, since it is about to be torn asunder... */
@ -69,9 +69,14 @@ getmntopts(options, m0, flagp)
negative = 0;
/* Scan option table. */
for (m = m0; m->m_option != NULL; ++m)
if (strcasecmp(opt, m->m_option) == 0)
for (m = m0; m->m_option != NULL; ++m) {
len = strlen(m->m_option);
if (strncasecmp(opt, m->m_option, len) == 0)
if ( m->m_option[len] == '\0'
|| m->m_option[len] == '='
)
break;
}
/* Save flag, or fail if option is not recognised. */
if (m->m_option) {

View File

@ -48,6 +48,10 @@ struct mntopt {
#define MOPT_SYNC { "sync", 0, MNT_SYNCHRONOUS }
#define MOPT_UNION { "union", 0, MNT_UNION }
/* Skip this options without any action (needed for checkquota/quotaon) */
#define MOPT_UQUOTA { "userquota", 0, 0 }
#define MOPT_GQUOTA { "groupquota", 0, 0 }
/* Control flags. */
#define MOPT_FORCE { "force", 1, MNT_FORCE }
#define MOPT_UPDATE { "update", 0, MNT_UPDATE }

View File

@ -60,6 +60,8 @@ static struct mntopt mopts[] = {
MOPT_ASYNC,
MOPT_SYNC,
MOPT_UPDATE,
MOPT_UQUOTA,
MOPT_GQUOTA,
{ NULL }
};