Commit bbdda5ce authored by Martin v. Löwis's avatar Martin v. Löwis

Patch #409504: Fix regex problems, consider \-continuation lines in Makefile

and Setup.
parent cfb59301
......@@ -12,7 +12,7 @@ def makeconfig(infp, outfp, modules, with_ifdef=0):
line = infp.readline()
if not line: break
outfp.write(line)
if m1 and m1.search(line) >= 0:
if m1 and m1.search(line):
m1 = None
for mod in modules:
if mod in never:
......@@ -22,7 +22,7 @@ def makeconfig(infp, outfp, modules, with_ifdef=0):
outfp.write('extern void init%s();\n' % mod)
if with_ifdef:
outfp.write("#endif\n")
elif m2 and m2.search(line) >= 0:
elif m2 and m2.search(line):
m2 = None
for mod in modules:
if mod in never:
......
......@@ -13,11 +13,17 @@ makevardef = re.compile('^([a-zA-Z0-9_]+)[ \t]*=(.*)')
def getmakevars(filename):
variables = {}
fp = open(filename)
pendingline = ""
try:
while 1:
line = fp.readline()
if pendingline:
line = pendingline + line
pendingline = ""
if not line:
break
if line.endswith('\\\n'):
pendingline = line[:-2]
matchobj = makevardef.match(line)
if not matchobj:
continue
......@@ -44,15 +50,22 @@ def getsetupinfo(filename):
modules = {}
variables = {}
fp = open(filename)
pendingline = ""
try:
while 1:
line = fp.readline()
if pendingline:
line = pendingline + line
pendingline = ""
if not line:
break
# Strip comments
i = string.find(line, '#')
if i >= 0:
line = line[:i]
if line.endswith('\\\n'):
pendingline = line[:-2]
continue
matchobj = setupvardef.match(line)
if matchobj:
(name, value) = matchobj.group(1, 2)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment