diff options
author | 2017-10-11 05:26:04 +0200 | |
---|---|---|
committer | 2017-10-11 15:50:29 +0200 | |
commit | 502498c4fc05ae9eaaf3db6014f38d0033085859 (patch) | |
tree | c0a882ebd596d5f920802762a7530ce67c241e67 /contrib/kernel-tree | |
parent | receive: disable bh before using stats seq lock (diff) | |
download | wireguard-monolithic-historical-502498c4fc05ae9eaaf3db6014f38d0033085859.tar.xz wireguard-monolithic-historical-502498c4fc05ae9eaaf3db6014f38d0033085859.zip |
contrib: filter compat lines
Diffstat (limited to 'contrib/kernel-tree')
-rwxr-xr-x | contrib/kernel-tree/filter-compat-defines.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/contrib/kernel-tree/filter-compat-defines.sh b/contrib/kernel-tree/filter-compat-defines.sh new file mode 100755 index 0000000..9d2cc08 --- /dev/null +++ b/contrib/kernel-tree/filter-compat-defines.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +silent=0 +level=0 +ifs=( ) + +while IFS= read -r line; do + if [[ $line =~ ^[[:space:]]*(#if.*) ]]; then + ifs[level++]=0 + if [[ ${BASH_REMATCH[1]} == "#ifndef COMPAT_CANNOT_"* ]]; then + ifs[level-1]=-1 + continue + elif [[ ${BASH_REMATCH[1]} == "#ifdef COMPAT_CANNOT_"* ]]; then + ifs[level-1]=1 + ((++silent)) + continue + fi + elif [[ $line =~ ^[[:space:]]*#else && ${ifs[level-1]} -ne 0 ]]; then + ((ifs[level-1]*=-1)) + ((silent+=ifs[level-1])) + continue + elif [[ $line =~ ^[[:space:]]*#endif ]]; then + ((--level)) + [[ ${ifs[level]} -eq 1 ]] && ((--silent)) + [[ ${ifs[level]} -ne 0 ]] && continue + fi + [[ $silent -eq 0 ]] && printf '%s\n' "$line" +done < "$1" |