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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.