libdb/dist/validate/s_chk_offt

66 lines
2 KiB
Bash

#!/bin/sh -
#
# $Id: s_chk_offt,v 0f73af5ae3da 2010/05/10 05:38:40 alexander $
#
# Make sure that no off_t's have snuck into the release.
# off_t check is done at runtime in env_sig.c We add a declaration for
# off_t to db.h, so it is always guaranteed to be available.
# MJC:We add a declaration for off_t to db.h, so it is always guaranteed to be
# available. There are already many many cases where data structures are
# different sizes on 64-bit systems than 32-bit systems (we have a runtime
# check for that in env_sig.c). Test is really obsolete.
d=../..
[ -f $d/LICENSE ] || {
echo 'FAIL: cannot find source distribution directory.'
exit 1
}
t=__1
egrep -w off_t $d/src/*/*.[ch] $d/util/*.[ch] $d/src/*/*.in |
sed -e "/#undef off_t/d" \
-e "/build_wince\//d" \
-e "/build_windows\//d" \
-e "/db_env_set_func_ftruncate/d" \
-e "/db_env_set_func_pread/d" \
-e "/db_env_set_func_pwrite/d" \
-e "/db_env_set_func_seek/d" \
-e "/env_register.c/d" \
-e "/j_ftruncate/d" \
-e "/j_pread/d" \
-e "/j_pwrite/d" \
-e "/j_seek/d" \
-e "/mp_fopen.c:.*can't use off_t's here/d" \
-e "/mp_fopen.c:.*size or type off_t's or/d" \
-e "/mp_fopen.c:.*where an off_t is 32-bits/d" \
-e "/mutex\/tm.c:/d" \
-e "/off_t because its size depends on/d" \
-e "/os_ext.h/d" \
-e "/os.h/d" \
-e "/os_flock.c/d" \
-e "/rep.h/d" \
-e "/zerofill.c:.*stat_offset/d" \
-e "/zerofill.c:.*write_offset/d" \
-e "/os_map.c:.*(off_t)0))/d" \
-e "/os_method.c/d" \
-e "/os_rw.c:/d" \
-e "/os_seek.c:.*off_t offset;/d" \
-e "/os_seek.c:.*offset = /d" \
-e "/os_seek.c:.*off_t/d" \
-e "/os_truncate.c:.*off_t offset;/d" \
-e "/os_truncate.c:.*off_t stat_offset;/d" \
-e "/os_truncate.c:.*offset = /d" \
-e "/test_perf\/perf_misc.c:/d" \
-e "/test_server\/dbs.c:/d" \
-e "/test_vxworks\/vx_mutex.c:/d" > $t
test -s $t && {
cat $t
echo "FAIL: found questionable off_t usage"
exit 1
}
rm -f $t
exit 0