diff mbox

[1/2] nfsmount.conf: Remove duplicate 'bg' and 'fg' from parsing string.

Message ID 1381267825-27457-1-git-send-email-steved@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Steve Dickson Oct. 8, 2013, 9:30 p.m. UTC
When the 'Background' and/or 'Foreground' options are set
in multiple sections of the nfsmount.conf file, each instance
gets added to the parsing string. This patch makes the first
instance of either option override the any others.

Signed-off-by: Steve Dickson <steved@redhat.com>
---
 utils/mount/configfile.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

Comments

Steve Dickson Oct. 21, 2013, 2:04 p.m. UTC | #1
On 08/10/13 17:30, Steve Dickson wrote:
> When the 'Background' and/or 'Foreground' options are set
> in multiple sections of the nfsmount.conf file, each instance
> gets added to the parsing string. This patch makes the first
> instance of either option override the any others.
> 
> Signed-off-by: Steve Dickson <steved@redhat.com>
Committed...

steved.
> ---
>  utils/mount/configfile.c | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/utils/mount/configfile.c b/utils/mount/configfile.c
> index 68b9f93..6985ed9 100644
> --- a/utils/mount/configfile.c
> +++ b/utils/mount/configfile.c
> @@ -164,6 +164,20 @@ add_entry(char *opt)
>  	SLIST_INSERT_HEAD(&head, entry, entries);
>  }
>  /*
> + * Check the alias list to see if the given 
> + * opt is a alias
> + */
> +char *is_alias(char *opt)
> +{
> +	int i;
> +
> +	for (i=0; i < mnt_alias_sz; i++) {
> +		if (strcasecmp(opt, mnt_alias_tab[i].alias) == 0)
> +			return mnt_alias_tab[i].opt; 
> +	}
> +	return NULL;
> +}
> +/*
>   * See if the given entry exists if the link list,
>   * if so return that entry
>   */
> @@ -171,10 +185,21 @@ inline static
>  char *lookup_entry(char *opt)
>  {
>  	struct entry *entry;
> +	char *alias = is_alias(opt);
>  
>  	SLIST_FOREACH(entry, &head, entries) {
>  		if (strcasecmp(entry->opt, opt) == 0)
>  			return opt;
> +		if (alias && strcasecmp(entry->opt, alias) == 0)
> +			return opt;
> +		if (alias && strcasecmp(alias, "fg") == 0) {
> +			if (strcasecmp(entry->opt, "bg") == 0)
> +				return opt;
> +		}
> +		if (alias && strcasecmp(alias, "bg") == 0) {
> +			if (strcasecmp(entry->opt, "fg") == 0)
> +				return opt;
> +		}
>  	}
>  	return NULL;
>  }
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/utils/mount/configfile.c b/utils/mount/configfile.c
index 68b9f93..6985ed9 100644
--- a/utils/mount/configfile.c
+++ b/utils/mount/configfile.c
@@ -164,6 +164,20 @@  add_entry(char *opt)
 	SLIST_INSERT_HEAD(&head, entry, entries);
 }
 /*
+ * Check the alias list to see if the given 
+ * opt is a alias
+ */
+char *is_alias(char *opt)
+{
+	int i;
+
+	for (i=0; i < mnt_alias_sz; i++) {
+		if (strcasecmp(opt, mnt_alias_tab[i].alias) == 0)
+			return mnt_alias_tab[i].opt; 
+	}
+	return NULL;
+}
+/*
  * See if the given entry exists if the link list,
  * if so return that entry
  */
@@ -171,10 +185,21 @@  inline static
 char *lookup_entry(char *opt)
 {
 	struct entry *entry;
+	char *alias = is_alias(opt);
 
 	SLIST_FOREACH(entry, &head, entries) {
 		if (strcasecmp(entry->opt, opt) == 0)
 			return opt;
+		if (alias && strcasecmp(entry->opt, alias) == 0)
+			return opt;
+		if (alias && strcasecmp(alias, "fg") == 0) {
+			if (strcasecmp(entry->opt, "bg") == 0)
+				return opt;
+		}
+		if (alias && strcasecmp(alias, "bg") == 0) {
+			if (strcasecmp(entry->opt, "fg") == 0)
+				return opt;
+		}
 	}
 	return NULL;
 }