diff --git a/tools/warn.py b/tools/warn.py index e7e877d9aa..3c75825f66 100755 --- a/tools/warn.py +++ b/tools/warn.py @@ -2078,7 +2078,8 @@ def parse_input_file(): infile = open(args.buildlog, 'r') line_counter = 0 - warning_pattern = re.compile('.* warning:.*') + # handle only warning messages with a file path + warning_pattern = re.compile('^[^ ]*/[^ ]*: warning: .*') compile_patterns() # read the log file and classify all the warnings @@ -2103,9 +2104,9 @@ def parse_input_file(): target_variant = m.group(0) -# Return s with escaped quotation characters. +# Return s with escaped backslash and quotation characters. def escape_string(s): - return s.replace('"', '\\"') + return s.replace('\\', '\\\\').replace('"', '\\"') # Return s without trailing '\n' and escape the quotation characters.