2 # This quick and dirty script prints the names of functions that don't have a
3 # WINAPI in its header declaration or don't appear in any .c file at all.
4 # I don't think it's very intelligent to use it when having < 64 MB ;)
5 # FIXME: This script skips .spec function entries that occupy two or more
8 if [ ! -e ./ChangeLog ] ; then
9 echo You are not in Wine main directory !
12 echo crtdll.spec, ntdll.spec and wsock32.spec will be mentioned many times,
13 echo as they use original UNIX functions that don\'t exist in Wine .c code.
15 FIND_LIST="`find . -name "*.c"`"
16 for i in if1632/*.spec relay32/*.spec
18 # skip wprocs.spec, as it contains many funcs that don't need a WINAPI
19 if [ $i = "if1632/wprocs.spec" ] ; then
22 LINE="`egrep "stdcall|cdecl|pascal|register" $i|grep -v "^#"|tr -d " "|tr "\n" " "`"
25 if [ -n "`echo "$j"|grep \)`" ] ; then
26 FUNC="`echo $j|cut -f2 -d\)|cut -f1 -d'#'`"
27 if [ -n "$FUNC" ] ; then
28 if [ -z "`grep -B 1 $FUNC $FIND_LIST|egrep "WINAPI|__cdecl|VFWAPI|DC_GET_VAL|DC_SET_MODE|REGS_ENTRYPOINT"`" ] ; then
29 case $FUNC in # "black list"
30 "GetBrushOrgEx16" ) ;;
31 "GetCurrentPositionEx16" ) ;;
32 "GetViewportExtEx16" ) ;;
33 "GetViewportOrgEx16" ) ;;
34 "GetWindowExtEx16" ) ;;
35 "GetWindowOrgEx16" ) ;;
37 "GetBrushOrgEx32" ) ;;
38 "GetCurrentPositionEx32" ) ;;
39 "GetViewportExtEx32" ) ;;
40 "GetViewportOrgEx32" ) ;;
41 "GetWindowExtEx32" ) ;;
42 "GetWindowOrgEx32" ) ;;
43 * ) echo "$i: $FUNC" ;;