X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmount%2Fconfigfile.c;h=1dd4159a74b97d1ef48a762c7c9143cb07216f82;hp=28b722c7e101034fe9fde2a7039b221c69dd29eb;hb=d63f9e0ccb836d592593a9816ccc00a51c903328;hpb=8e710e90bcf937d500445082800503f374560399 diff --git a/utils/mount/configfile.c b/utils/mount/configfile.c index 28b722c..1dd4159 100644 --- a/utils/mount/configfile.c +++ b/utils/mount/configfile.c @@ -194,13 +194,29 @@ void free_all(void) static char *versions[] = {"v2", "v3", "v4", "vers", "nfsvers", NULL}; int inline check_vers(char *mopt, char *field) { - int i; + int i, found=0; - if (strncmp("mountvers", field, strlen("mountvers")) != 0) { - for (i=0; versions[i]; i++) - if (strcasestr(mopt, versions[i]) != NULL) - return 1; + /* + * First check to see if the config setting is one + * of the many version settings + */ + for (i=0; versions[i]; i++) { + if (strcasestr(field, versions[i]) != NULL) { + found++; + break; + } } + if (!found) + return 0; + /* + * It appears the version is being set, now see + * if the version appears on the command + */ + for (i=0; versions[i]; i++) { + if (strcasestr(mopt, versions[i]) != NULL) + return 1; + } + return 0; }