diff options
author | Neil Brown <neilb@suse.de> | 2006-06-23 14:06:00 +1000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2006-06-23 14:06:00 +1000 |
commit | ff42180930a444cea7f19e55e2cd2bfe6d3f108b (patch) | |
tree | 2bd74d1fe9dc1fc086e2e7e51626cfde22cf3c16 | |
parent | bec968578d97eabc63ae4a12bdeb2b33f40baec4 (diff) | |
download | nfs-utils-ff42180930a444cea7f19e55e2cd2bfe6d3f108b.tar.gz nfs-utils-ff42180930a444cea7f19e55e2cd2bfe6d3f108b.tar.xz nfs-utils-ff42180930a444cea7f19e55e2cd2bfe6d3f108b.zip |
Fix comment parsing (again)
Bruce Fields noticed that I broke comment parsing...
as xskip() is always called before xgettok(), that is the
best place to put xskipcomment and still maintain proper
semantics of xskip and xgettok.
-rw-r--r-- | support/nfs/xio.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/support/nfs/xio.c b/support/nfs/xio.c index 1ce5157..221cce6 100644 --- a/support/nfs/xio.c +++ b/support/nfs/xio.c @@ -95,11 +95,6 @@ xgettok(XFILE *xfp, char sepa, char *tok, int len) while (i < len && (c = xgetc(xfp)) != EOF && (quoted || (c != sepa && !isspace(c)))) { - if (!quoted && i == 0 && c == '#') { - c = xskipcomment(xfp); - xfp->x_line++; - break; - } if (c == '"') { quoted = !quoted; continue; @@ -164,7 +159,12 @@ xskip(XFILE *xfp, char *str) { int c; - while ((c = xgetc(xfp)) != EOF && strchr(str, c)); + while ((c = xgetc(xfp)) != EOF) { + if (c == '#') + c = xskipcomment(xfp); + if (strchr(str, c) == NULL) + break; + } xungetc(c, xfp); } |