#!/bin/sh -
r=../../rpc_server/rpc.src
i=../../dbinc/db.in
t1=__1
t2=__2
[ -d ../../dbinc ] || {
echo 'FAIL: cannot find source distribution directory.'
exit 1
}
exitv=0
check()
{
echo "==== Checking $1/$2..."
sed -e "/$1 PUBLIC HANDLE LIST BEGIN/,/$1 PUBLIC HANDLE LIST END/p" \
-e d < $i |
grep '[\* ](\*[a-z]' |
sed -e 's/).*$//' \
-e 's/.*(\*//' \
-e '/^$/d' > $t1
egrep '^BEGIN|^LOCAL|^NOFUNC' $r |
awk '{print $2}' |
egrep "^$2_" |
sed -e "/^$2_create/d" \
-e "s/$2_//" > $t2
if cmp -s $t1 $t2 ; then
:
else
echo "FAIL: $1 handle methods do not match."
echo "<<< dbinc/db.in >>> rpc_server/rpc.src"
diff $t1 $t2
exit 1
fi
if [ -z "$3" ]; then
return
fi
sed -e "/$1 PUBLIC HANDLE LIST BEGIN/,/$1 PUBLIC HANDLE LIST END/p" \
-e d < "$3" |
sed -e '/^ -e '/^ -e '/PUBLIC/d' \
-e 's/ = .*//' \
-e 's/^.*->//' > $t2
if cmp -s $t1 $t2 ; then
:
else
echo "FAIL: $1 handle methods do not match."
echo "<<< dbinc/db.in >>> $3"
diff $t1 $t2
exit 1
fi
}
check DB db
check DBC dbc
check DB_ENV env ../../env/env_method.c
check DB_TXN txn
exit $exitv