'read -d' is a bash extension and doesn't work in POSIX shells. For example 'checkpatches.sh' doesn't work properly on ubuntu, where 'dash' is a default shell:
./devtools/checkpatches.sh: 52: read: Illegal option -d Let's use single quotes instead of variable. Fixes: 7413e7f2aeb3 ("devtools: alert on new calls to exit from libs") CC: sta...@dpdk.org Signed-off-by: Ilya Maximets <i.maxim...@samsung.com> --- devtools/checkpatches.sh | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh index ba795ad1d..aad35275c 100755 --- a/devtools/checkpatches.sh +++ b/devtools/checkpatches.sh @@ -44,12 +44,18 @@ print_usage () { } check_forbidden_additions() { - # This awk script receives a list of expressions to monitor - # and a list of folders to search these expressions in - # - No search is done inside comments - # - Both additions and removals of the expressions are checked - # A positive balance of additions fails the check - read -d '' awk_script << 'EOF' + # This awk script receives a list of expressions to monitor + # and a list of folders to search these expressions in + # - No search is done inside comments + # - Both additions and removals of the expressions are checked + # A positive balance of additions fails the check + # --------------------------------- + # refrain from new additions of rte_panic() and rte_exit() + # multiple folders and expressions are separated by spaces + awk -v FOLDERS="lib drivers" \ + -v EXPRESSIONS="rte_panic\\\( rte_exit\\\(" \ + -v RET_ON_FAIL=1 \ + ' BEGIN { split(FOLDERS,deny_folders," "); split(EXPRESSIONS,deny_expr," "); @@ -70,7 +76,7 @@ check_forbidden_additions() { # non comment code if (in_comment == 0) { for (i in deny_expr) { - forbidden_added = "^\+.*" deny_expr[i]; + forbidden_added = "^+.*" deny_expr[i]; forbidden_removed="^-.*" deny_expr[i]; current = expressions[deny_expr[i]] if ($0 ~ forbidden_added) { @@ -90,13 +96,13 @@ check_forbidden_additions() { } # switch to next file , check if the balance of add/remove # of previous filehad new additions - ($0 ~ "^\+\+\+ b/") { + ($0 ~ "^+++ b/") { in_file = 0; if (count > 0) { exit; } for (i in deny_folders) { - re = "^\+\+\+ b/" deny_folders[i]; + re = "^+++ b/" deny_folders[i]; if ($0 ~ deny_folders[i]) { in_file = 1 last_file = $0 @@ -114,15 +120,7 @@ check_forbidden_additions() { } exit RET_ON_FAIL } - } -EOF - # --------------------------------- - # refrain from new additions of rte_panic() and rte_exit() - # multiple folders and expressions are separated by spaces - awk -v FOLDERS="lib drivers" \ - -v EXPRESSIONS="rte_panic\\\( rte_exit\\\(" \ - -v RET_ON_FAIL=1 \ - "$awk_script" - + }' - } number=0 -- 2.17.1