diff options
Diffstat (limited to 'xlint')
-rwxr-xr-x | xlint | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/xlint b/xlint index d94a507..b8f7893 100755 --- a/xlint +++ b/xlint @@ -47,6 +47,22 @@ explain_make_check() { ' $template } +check_multiline_vars() { + for q in '"' "'"; do + awk "-vargument=$argument" "-vquote=$q" -vOFS=: ' + BEGIN { + reBegin="^[^=]+=" quote "[^" quote "=]*$"; reEnd="^[^" quote "=]*" quote "$"; + firstLine="^[^ ].*=" quote ".*$"; lastLine="^( [[:graph:]]|" quote "$)" + } + ($0 ~ reBegin),($0 ~ reEnd) { + if ($0 !~ firstLine && $0 !~ lastLine) + print(argument, FNR, " indent multi-line continuations with a single space") + if ($0 ~ /\\$/) + print(argument, FNR, " do not use backslashes to end lines in multi-line continuations") + }' $template + done | sort -u -k2 +} + variables_order() { local curr_index max_index max_index_line variables_end message line local line_number max_index_line_number @@ -484,6 +500,7 @@ for argument; do header file_end explain_make_check + check_multiline_vars else echo no such template "$argument" 1>&2 fi | sort -t: -n -k2 -k3 | grep . && ret=1 |