From: Steve Dickson <SteveD@redhat.com>
To: Benny Halevy <bhalevy@panasas.com>
Cc: Linux NFS Mailing list <linux-nfs@vger.kernel.org>,
Linux NFSv4 mailing list <nfsv4@linux-nfs.org>
Subject: Re: [Patch 1/10] NFS Mount Configuration File (Vers 3)
Date: Fri, 07 Aug 2009 13:09:08 -0400 [thread overview]
Message-ID: <4A7C5FB4.5060508@RedHat.com> (raw)
In-Reply-To: <4A7BE06C.4080607@panasas.com>
On 08/07/2009 04:06 AM, Benny Halevy wrote:
> On Aug. 06, 2009, 21:40 +0300, Steve Dickson <SteveD@redhat.com> wrote:
> <snip>
>
>
>> +/*
>> + * Parse the line LINE of SZ bytes. Skip Comments, recognize section
>> + * headers and feed tag-value pairs into our configuration database.
>> + */
>> +static void
>> +conf_parse_line(int trans, char *line, size_t sz)
>> +{
>> + char *val;
>> + size_t i;
>> + int j;
>> + static char *section = 0;
>> + static int ln = 0;
>> +
>> + /* Lines starting with '#' or ';' are comments. */
>> + ln++;
>> + if (*line == '#' || *line == ';')
>> + return;
>> +
>> + /* '[section]' parsing... */
>> + if (*line == '[') {
>> + for (i = 1; i < sz; i++)
>> + if (line[i] == ']')
>> + break;
>> + if (section)
>> + free (section);
>> + if (i == sz) {
>> + xlog_warn("conf_parse_line: %d:"
>> + "non-matched ']', ignoring until next section", ln);
>> + section = 0;
>> + return;
>> + }
>> + section = malloc(i);
>> + if (!section) {
>> + xlog_warn("conf_parse_line: %d: malloc (%lu) failed", ln,
>> + (unsigned long)i);
>> + return;
>> + }
>> + strlcpy(section, line + 1, i);
>> + return;
>> + }
>> +
>> + /* Deal with assignments. */
>> + for (i = 0; i < sz; i++) {
>> + if (line[i] == '=') {
>> + /* If no section, we are ignoring the lines. */
>> + if (!section) {
>> + xlog_warn("conf_parse_line: %d: ignoring line due to no section",
>> + ln);
>> + return;
>> + }
>> + line[strcspn (line, " \t=")] = '\0';
>> + val = line + i + 1 + strspn (line + i + 1, " \t");
>> + /* Skip trailing whitespace, if any */
>> + for (j = sz - (val - line) - 1; j > 0 && isspace(val[j]); j--)
>> + val[j] = '\0';
>
> Should we break on the first non space?
> This will allow spaces in the value...
> Should we skip trailing comments as well (';' in particular)? I.e.:
Well to be honest I never looked a this code all that closely...
I just moved it from one place to another.. ;-)
>
> /* Skip trailing comments, if any */
> for (j = 0; j < sz - (val - line); j++) {
> if (val[j] == '#' || val[j] == ';') {
> val[j] = '\0';
> break;
> }
> }
> /* Skip trailing whitespace, if any */
> for (j--; j > 0; j--) {
> if (isspace(val[j]))
> val[j] = '\0';
> else
> break;
> }
Well since the idmapd.conf man page never talks about comments,
it not clear that in-line or trailing comments are supported.
Remember my goal with this code was just to reuse it. I really had no
intention on improving it any of this code. But with that said...
If in-line or trailing comments are needed for this configuration
or other configuration, such the pnfs exports, then yes I would
say its a good idea... but would rather deal with afterwords
once deemed needed...
steved.
next prev parent reply other threads:[~2009-08-07 17:09 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-06 18:38 [Patch 0/10] NFS Mount Configuration File (Vers 3) Steve Dickson
2009-08-06 18:40 ` [Patch 1/10] " Steve Dickson
2009-08-07 8:06 ` Benny Halevy
2009-08-07 17:09 ` Steve Dickson [this message]
[not found] ` <4A7B2324.9090406-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-08-06 18:41 ` [Patch 2/10] " Steve Dickson
[not found] ` <4A7B23D2.6080900-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-08-07 8:07 ` Benny Halevy
2009-08-07 17:11 ` Steve Dickson
[not found] ` <4A7C6032.4060301-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-08-08 20:52 ` Benny Halevy
2009-08-06 18:44 ` [Patch 5/10] " Steve Dickson
2009-08-06 18:47 ` [Patch 8/10] " Steve Dickson
2009-08-06 18:42 ` [Patch 3/10] " Steve Dickson
2009-08-07 7:38 ` Benny Halevy
2009-08-07 17:13 ` Steve Dickson
2009-08-07 18:35 ` Steve Dickson
2009-08-08 20:54 ` Benny Halevy
2009-08-06 18:43 ` [Patch 4/10] " Steve Dickson
2009-08-06 18:45 ` [Patch 6/10] " Steve Dickson
2009-08-06 20:44 ` Chuck Lever
2009-08-07 17:34 ` Steve Dickson
2009-08-06 18:46 ` [Patch 7/10] " Steve Dickson
[not found] ` <4A7B2515.2040304-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-08-06 20:35 ` Chuck Lever
2009-08-07 17:17 ` Steve Dickson
2009-08-07 18:37 ` Steve Dickson
2009-08-06 18:48 ` [Patch 9/10] " Steve Dickson
2009-08-06 18:49 ` [Patch 10/10] " Steve Dickson
2009-08-17 13:12 ` [Patch 0/10] " 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=4A7C5FB4.5060508@RedHat.com \
--to=steved@redhat.com \
--cc=bhalevy@panasas.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.