From ff42180930a444cea7f19e55e2cd2bfe6d3f108b Mon Sep 17 00:00:00 2001
From: Neil Brown <neilb@suse.de>
Date: Fri, 23 Jun 2006 14:06:00 +1000
Subject: [PATCH] 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.
---
 support/nfs/xio.c | 12 ++++++------
 1 file 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);
 }
 
-- 
2.39.5