diff --git a/src/etc/tidy.py b/src/etc/tidy.py index b1951cb5860..4974bf74c5b 100644 --- a/src/etc/tidy.py +++ b/src/etc/tidy.py @@ -18,19 +18,20 @@ def report_err(s): print("%s:%d: %s" % (fileinput.filename(), fileinput.filelineno(), s)) err=1 -for line in fileinput.input(openhook=fileinput.hook_encoded("utf-8")): - if line.find('\t') != -1 and fileinput.filename().find("Makefile") == -1: - report_err("tab character") - - if not autocrlf and line.find('\r') != -1: - report_err("CR character") - - if line.endswith(" \n") or line.endswith("\t\n"): - report_err("trailing whitespace") - - line_len = len(line)-2 if autocrlf else len(line)-1 - if line_len > cols: - report_err("line longer than %d chars" % cols) +try: + for line in fileinput.input(openhook=fileinput.hook_encoded("utf-8")): + if (line.find('\t') != -1 and + fileinput.filename().find("Makefile") == -1): + report_err("tab character") + if not autocrlf and line.find('\r') != -1: + report_err("CR character") + if line.endswith(" \n") or line.endswith("\t\n"): + report_err("trailing whitespace") + line_len = len(line)-2 if autocrlf else len(line)-1 + if line_len > cols: + report_err("line longer than %d chars" % cols) +except UnicodeDecodeError, e: + report_err("UTF-8 decoding error " + str(e)) sys.exit(err)