From: Steve Dickson <SteveD@redhat.com>
To: Linux NFS Mailing list <linux-nfs@vger.kernel.org>
Cc: Linux NFSv4 mailing list <nfsv4@linux-nfs.org>
Subject: [Patch 3/9] Ensure configuration values are stored in lower case
Date: Mon, 09 Mar 2009 16:52:04 -0400 [thread overview]
Message-ID: <49B58174.3070300@RedHat.com> (raw)
In-Reply-To: <49B57FB2.9020000@RedHat.com>
commit 3b192f9d86e13ee0413c4dcc88229e6bc35cb5c9
Author: Steve Dickson <steved@redhat.com>
Date: Mon Mar 9 13:57:10 2009 -0400
Store values in lower case. This makes it easier to do string
comparisons when reading lists from the configuration file.
Signed-off-by: Steve Dickson <steved@redhat.com>
diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c
index 1b8d098..a362700 100644
--- a/support/nfs/conffile.c
+++ b/support/nfs/conffile.c
@@ -114,7 +114,16 @@ conf_hash(char *s)
}
return hash;
}
+/*
+ * Convert letter from upper case to lower case
+ */
+static inline upper2lower(char *str)
+{
+ char *ptr = str;
+ while (*ptr)
+ *ptr++ = tolower(*ptr);
+}
/*
* Insert a tag-value combination from LINE (the equal sign is at POS)
*/
@@ -523,7 +532,7 @@ conf_get_tag_list (char *section)
for (; cb; cb = LIST_NEXT(cb, link)) {
if (strcasecmp (section, cb->section) == 0) {
list->cnt++;
- node = calloc (1, sizeof *node);
+ node = calloc(1, sizeof *node);
if (!node)
goto cleanup;
node->field = strdup(cb->tag);
@@ -615,7 +624,7 @@ conf_free_list(struct conf_list *list)
}
int
-conf_begin (void)
+conf_begin(void)
{
static int seq = 0;
@@ -623,7 +632,7 @@ conf_begin (void)
}
static struct conf_trans *
-conf_trans_node (int transaction, enum conf_op op)
+conf_trans_node(int transaction, enum conf_op op)
{
struct conf_trans *node;
@@ -639,9 +648,9 @@ conf_trans_node (int transaction, enum conf_op op)
return node;
}
-/* Queue a set operation. */
+/* Queue a set operation. Store value in lower case */
int
-conf_set (int transaction, char *section, char *tag,
+conf_set(int transaction, char *section, char *tag,
char *value, int override, int is_default)
{
struct conf_trans *node;
@@ -654,16 +663,22 @@ conf_set (int transaction, char *section, char *tag,
xlog_warn("conf_set: strdup(\"%s\") failed", section);
goto fail;
}
+ upper2lower(node->section);
+
node->tag = strdup(tag);
if (!node->tag) {
xlog_warn("conf_set: strdup(\"%s\") failed", tag);
goto fail;
}
+ upper2lower(node->tag);
+
node->value = strdup(value);
if (!node->value) {
xlog_warn("conf_set: strdup(\"%s\") failed", value);
goto fail;
}
+ upper2lower(node->value);
+
node->override = override;
node->is_default = is_default;
return 0;
next prev parent reply other threads:[~2009-03-09 20:52 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-09 20:44 [Patch 0/9] NFS Mount Configuration File Steve Dickson
2009-03-09 20:47 ` [Patch 1/9] Make idmapd's Configuration Parsing Code Available Steve Dickson
2009-03-09 20:50 ` [Patch 2/9] Ignore blanks in section definitions and before assignment statements Steve Dickson
2009-03-09 20:52 ` Steve Dickson [this message]
2009-03-09 20:58 ` [Patch 4/9] Mount support routines used to convert mount options Steve Dickson
2009-03-09 21:03 ` [Patch 5/9] Hooks needs incorporate file configuration code Steve Dickson
2009-03-09 21:04 ` [Patch 6/9] An example of an nfsmount.conf file Steve Dickson
2009-03-09 21:06 ` [Patch 7/9] New nfsmount.conf(5) man page Steve Dickson
2009-03-09 21:08 ` [Patch 8/9] Another way to define the configuration file Steve Dickson
2009-03-09 21:10 ` [Patch 9/9] Fixed a couple nits Steve Dickson
2009-03-09 21:49 ` [Patch 0/9] NFS Mount Configuration File Chuck Lever
2009-03-17 19:44 ` Steve Dickson
2009-03-17 20:17 ` Chuck Lever
2009-03-17 20:25 ` J. Bruce Fields
2009-03-17 20:36 ` Chuck Lever
2009-03-18 13:07 ` Steve Dickson
2009-03-18 16:31 ` Chuck Lever
2009-03-18 18:10 ` Steve Dickson
[not found] ` <49C13928.8040806-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-03-19 11:13 ` Steve Dickson
[not found] ` <49C228D3.4070005-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-03-19 15:45 ` J. Bruce Fields
2009-03-19 16:37 ` Chuck Lever
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49B58174.3070300@RedHat.com \
--to=steved@redhat.com \
--cc=linux-nfs@vger.kernel.org \
--cc=nfsv4@linux-nfs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox