1#!/bin/bash
2
3context=6
4while true ; do
5    if [ "$1" = "-C" ] ; then
6	shift
7	context=$1
8	shift
9	continue
10    fi
11    break
12done
13
14
15file=$1
16[ "$file" = "" ] && [ -e err-list ] && file=err-list
17if [[ "$file" = "" ]] ; then
18    echo "Usage:  $0 [-C <lines>] [-b] [-k] <file with smatch messages>"
19    echo "  -C <lines>:  Print <lines> of context"
20    exit 1
21fi
22
23cat $file | while read line ; do
24    code_file=$(echo "$line" | cut -d ':' -f 1)
25    lineno=$(echo "$line" | cut -d ' ' -f 1 | cut -d ':' -f 2)
26    echo "========================================================="
27    echo "$line"
28    echo "---"
29    tail -n +$(($lineno - ($context - 1))) $code_file | head -n $(($context - 1))
30    echo "---------------------------------------------------------"
31    tail -n +${lineno} $code_file | head -n $context
32done
33
34