flow, conditions: handle label statements correctly
[smatch.git] / smatch_scripts / show_ifs.sh
blob4f93ca5fa28542749ed99ada2db924215b484c97
1 #!/bin/bash
3 context=1
4 if [ "$1" = "-C" ] ; then
5 shift
6 context=$1
7 shift
8 fi
10 file=$1
11 if [[ "$file" = "" ]] ; then
12 echo "Usage: $0 [-C <lines of context>] <file with smatch messages>"
13 exit 1
16 grep 'if();' $file | cut -d ' ' -f1 | while read loc; do
17 code_file=$(echo $loc | cut -d ':' -f 1)
18 line=$(echo $loc | cut -d ':' -f 2)
19 echo "========================================================="
20 echo $code_file $line
21 tail -n +$(($line - ($context - 1))) $code_file | head -n $(($context - 1))
22 if [[ $context -gt 1 ]] ; then
23 echo "---------------------------------------------------------"
25 tail -n +${line} $code_file | head -n $context
26 done