wireshark/make-tapreg-dotc
Ulf Lamping cdebea69ce Redesigned the menu structure of the former statistics stuff,
now sorted by ISO-layer, than alphabetically (now longer by functionality).
Seperated the tap registering from the actual menu making stuff,
so the seperate step of registering the tap and the menu is no longer needed.
Removed all things related to this double registering.

svn path=/trunk/; revision=10180
2004-02-22 18:47:04 +00:00

43 lines
882 B
Bash
Executable file

#! /bin/sh
#
# The first argument is the output filename.
#
outfile="$1"
shift
#
# The second argument is the directory in which the source files live.
#
srcdir="$1"
shift
#
# All subsequent arguments are the files to scan.
#
rm -f ${outfile}-tmp
echo '/* Do not modify this file. */' >${outfile}-tmp
echo '/* It is created automatically by the Makefile. */'>>${outfile}-tmp
#
# Build code to call all the tap listener registration routines.
#
echo 'void register_all_tap_listeners(void) {' >>${outfile}-tmp
for f in "$@"
do
if [ -f $f ]
then
srcfile=$f
else
srcfile=$srcdir/$f
fi
grep '^register_tap_listener_[a-z_0-9A-Z]* *(' $srcfile 2>/dev/null | grep -v ';' | sed -e 's/(.*//'
done | while read func; do
echo " { extern void $func (void);" >>${outfile}-tmp
echo " $func ();}" >>${outfile}-tmp
done
echo '}' >>${outfile}-tmp
mv ${outfile}-tmp ${outfile}