From 2c91c815d42b24254a08df148c5ee5aafd547abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Wed, 21 Mar 2001 06:58:25 +0000 Subject: Patch #409504: Fix regex problems, consider \-continuation lines in Makefile and Setup. --- Tools/freeze/makeconfig.py | 4 ++-- Tools/freeze/parsesetup.py | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Tools/freeze/makeconfig.py b/Tools/freeze/makeconfig.py index 11c97d8..687f271 100644 --- a/Tools/freeze/makeconfig.py +++ b/Tools/freeze/makeconfig.py @@ -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: diff --git a/Tools/freeze/parsesetup.py b/Tools/freeze/parsesetup.py index 7f90075..7a6b72e 100644 --- a/Tools/freeze/parsesetup.py +++ b/Tools/freeze/parsesetup.py @@ -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) -- cgit v0.12