From: Steve Dickson <SteveD@redhat.com>
To: Linux NFS Mailing list <linux-nfs@vger.kernel.org>,
Linux NFSv4 mailing list <nfsv4@linux-nfs.org>
Subject: [Patch 2/8] NFS Mount Configuration File (Vers 2)
Date: Mon, 03 Aug 2009 10:52:29 -0400 [thread overview]
Message-ID: <4A76F9AD.6010304@RedHat.com> (raw)
In-Reply-To: <4A76F8E6.2010607@RedHat.com>
commit 0fd0fe271ae99ed0f863f4c9e846bf793a616468
Author: Steve Dickson <steved@redhat.com>
Date: Mon Mar 9 13:55:25 2009 -0400
Taught conf_parse_line() to ignore spaces in the
'[section]' parsing and before the assignment statements
Signed-off-by: Steve Dickson <steved@redhat.com>
diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c
index eea888e..b36200b 100644
--- a/support/nfs/conffile.c
+++ b/support/nfs/conffile.c
@@ -50,11 +50,6 @@
#include "xlog.h"
static void conf_load_defaults (int);
-#if 0
-static int conf_find_trans_xf (int, char *);
-#endif
-
-size_t strlcpy(char *, const char *, size_t);
struct conf_trans {
TAILQ_ENTRY (conf_trans) link;
@@ -219,26 +214,48 @@ conf_parse_line(int trans, char *line, size_t sz)
if (*line == '#' || *line == ';')
return;
+ /* Ignore blank lines */
+ if (*line == '\0')
+ return;
+
+ /* Strip off any leading blanks */
+ while (isblank(*line))
+ line++;
+
/* '[section]' parsing... */
if (*line == '[') {
- for (i = 1; i < sz; i++)
- if (line[i] == ']')
+ line++;
+ /* Strip off any blanks after '[' */
+ while (isblank(*line))
+ line++;
+
+ for (i = 0; i < sz; i++) {
+ if (line[i] == ']') {
break;
+ }
+ }
if (section)
- free (section);
+ free(section);
if (i == sz) {
xlog_warn("conf_parse_line: %d:"
"non-matched ']', ignoring until next section", ln);
section = 0;
return;
}
+ /* Strip off any blanks before ']' */
+ val = line;
+ while (*val && !isblank(*val))
+ val++, j++;
+ if (*val)
+ i = j;
+
section = malloc(i);
if (!section) {
xlog_warn("conf_parse_line: %d: malloc (%lu) failed", ln,
(unsigned long)i);
return;
}
- strlcpy(section, line + 1, i);
+ strncpy(section, line, i);
return;
}
next prev parent reply other threads:[~2009-08-03 14:52 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-03 14:49 [Patch 0/8] NFS Mount Configuration File (Vers 2) Steve Dickson
2009-08-03 14:51 ` [Patch 1/8] " Steve Dickson
2009-08-03 14:52 ` Steve Dickson [this message]
2009-08-03 14:53 ` [Patch 3/8] " Steve Dickson
2009-08-03 15:24 ` J. Bruce Fields
2009-08-03 15:48 ` Steve Dickson
2009-08-03 15:56 ` J. Bruce Fields
2009-08-03 16:05 ` Steve Dickson
2009-08-05 19:14 ` Steve Dickson
2009-08-05 19:29 ` J. Bruce Fields
2009-08-05 19:33 ` J. Bruce Fields
2009-08-05 20:03 ` Steve Dickson
2009-08-05 20:02 ` Steve Dickson
2009-08-03 14:54 ` [Patch 4/8] " Steve Dickson
2009-08-03 14:56 ` [Patch 5/8] " Steve Dickson
2009-08-03 14:57 ` [Patch 6/8] " Steve Dickson
2009-08-03 14:59 ` [Patch 7/8] " Steve Dickson
[not found] ` <4A76FB3B.1070004-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-08-03 15:31 ` J. Bruce Fields
2009-08-03 15:53 ` Steve Dickson
[not found] ` <4A7707EA.104-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-08-03 15:57 ` J. Bruce Fields
2009-08-03 15:00 ` [Patch 8/8] " Steve Dickson
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=4A76F9AD.6010304@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;
as well as URLs for NNTP newsgroup(s).