From: Neil Brown Date: Fri, 23 Jun 2006 04:06:00 +0000 (+1000) Subject: Fix comment parsing (again) X-Git-Tag: nfs-utils-1-0-9-pre1~5 X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=ff42180930a444cea7f19e55e2cd2bfe6d3f108b;p=nfs-utils.git 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. --- 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); }