Browse Source

BBHandler/ConfHandler: Merge fix for multiline comments

This was meant to be squashed into the previous commit for multiline comment
handling. It fixes the case the commented multiline is followed by an empty
line which was resulting in a traceback instead of a sane error message.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie 11 years ago
parent
commit
7e7d692e24
2 changed files with 2 additions and 2 deletions
  1. 1 1
      lib/bb/parse/parse_py/BBHandler.py
  2. 1 1
      lib/bb/parse/parse_py/ConfHandler.py

+ 1 - 1
lib/bb/parse/parse_py/BBHandler.py

@@ -202,7 +202,7 @@ def feeder(lineno, s, fn, root, statements):
         if len(__residue__) != 0 and __residue__[0][0] != "#":
             bb.fatal("There is a comment on line %s of file %s (%s) which is in the middle of a multiline expression.\nBitbake used to ignore these but no longer does so, please fix your metadata as errors are likely as a result of this change." % (lineno, fn, s))
 
-    if len(__residue__) != 0 and __residue__[0][0] == "#" and s[0] != "#":
+    if len(__residue__) != 0 and __residue__[0][0] == "#" and (not s or s[0] != "#"):
         bb.fatal("There is a confusing multiline, partially commented expression on line %s of file %s (%s).\nPlease clarify whether this is all a comment or should be parsed." % (lineno, fn, s))
 
     if s and s[-1] == '\\':

+ 1 - 1
lib/bb/parse/parse_py/ConfHandler.py

@@ -108,7 +108,7 @@ def handle(fn, data, include):
         while s[-1] == '\\':
             s2 = f.readline().strip()
             lineno = lineno + 1
-            if s2 and s[0] == "#" and s2[0] != "#":
+            if (not s2 or s2 and s2[0] != "#") and s[0] == "#" :
                 bb.fatal("There is a confusing multiline, partially commented expression on line %s of file %s (%s).\nPlease clarify whether this is all a comment or should be parsed." % (lineno, fn, s))
             s = s[:-1] + s2
         # skip comments