#! /bin/sh
# kern-find-grep - find regex in kernel sources
#

test -z "$*" && exit 0
nocase=
if test "$1" = "-i"; then
    nocase="-i"
    shift
fi

extended=
if test "$1" = "-e"; then
    extended="e"
    shift
fi

# set -x
find . \( -type d -name .svn -prune -false \) \
    -o \( -type f \
    ! -name '*.o' \
    ! -name 'vmlinu*' \
    ! -name '.tmp_*' \
    ! -name '*.ko' \
    ! -name '.*.o.cmd' \
    ! -name '.*.ko.cmd' \
    ! -name '*~' \
    ! -name '*.a' \
    ! -name '*.so' \) \
    -print0 | xargs -0 -e ${extended}grep $nocase -n -e "$*"

