📄 fixincludes
字号:
echo Fixing size_t, ptrdiff_t and wchar_t in $file sed \ -e '/^[ ]*\*[ ]*typedef unsigned int size_t;/N' \ -e 's/^\([ ]*\*[ ]*typedef unsigned int size_t;\n[ ]*\*\/\)/\1\#ifndef __SIZE_TYPE__\#define __SIZE_TYPE__ long unsigned int\#endif\typedef __SIZE_TYPE__ size_t;\/' \ -e '/typedef[ ][ ]*[a-z_][ a-z_]*[ ]size_t/i\#ifndef __SIZE_TYPE__\#define __SIZE_TYPE__ long unsigned int\#endif' \ -e 's/typedef[ ][ ]*[a-z_][ a-z_]*[ ]size_t/typedef __SIZE_TYPE__ size_t/' \ -e '/typedef[ ][ ]*[a-z_][ a-z_]*[ ]ptrdiff_t/i\#ifndef __PTRDIFF_TYPE__\#define __PTRDIFF_TYPE__ long int\#endif' \ -e 's/typedef[ ][ ]*[a-z_][ a-z_]*[ ]ptrdiff_t/typedef __PTRDIFF_TYPE__ ptrdiff_t/' \ -e '/typedef[ ][ ]*[a-z_][ a-z_]*[ ]wchar_t/i\#ifndef __WCHAR_TYPE__\#define __WCHAR_TYPE__ int\#endif\#ifndef __cplusplus' \ -e '/typedef[ ][ ]*[a-z_][ a-z_]*[ ]wchar_t/a\#endif' \ -e 's/typedef[ ][ ]*[a-z_][ a-z_]*[ ]wchar_t/typedef __WCHAR_TYPE__ wchar_t/' \ ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fi fidone# Fix one other error in this file: a mismatched quote not inside a C comment.file=sundev/vuid_event.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then mkdir ${LIB}/sundev 2>/dev/null cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/null chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $file comment sed -e "s/doesn't/does not/" ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Fix these Sun OS files to avoid an invalid identifier in an #ifdef.file=sunwindow/win_cursor.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then# mkdir ${LIB}/sunwindow 2>/dev/null cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $file sed -e "s/ecd.cursor/ecd_cursor/" ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fififile=sunwindow/win_lock.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then# mkdir ${LIB}/sunwindow 2>/dev/null cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $file sed -e "s/ecd.cursor/ecd_cursor/" ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Fix this Sun file to avoid interfering with stddef.h.file=sys/stdtypes.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/null chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $filesed -e '/[ ]size_t.*;/i\#ifndef _GCC_SIZE_T\#define _GCC_SIZE_T' \ -e '/[ ]size_t.*;/a\#endif' \ -e '/[ ]ptrdiff_t.*;/i\#ifndef _GCC_PTRDIFF_T\#define _GCC_PTRDIFF_T' \ -e '/[ ]ptrdiff_t.*;/a\#endif' \ -e '/[ ]wchar_t.*;/i\#ifndef _GCC_WCHAR_T\#define _GCC_WCHAR_T' \ -e '/[ ]wchar_t.*;/a\#endif' ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Fix this ARM/RISCiX file to avoid interfering with the use of __wchar_t# in cc1plus.file=stdlib.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/null chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $file sed -e "s/\(#[ ]*ifndef[ ]*\)__wchar_t/\1_GCC_WCHAR_T/" \ -e "s/\(#[ ]*define[ ]*\)__wchar_t/\1_GCC_WCHAR_T/" \ ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Fix this ARM/RISCiX file where ___type is a Compiler hint that is specific to# the Norcroft compiler.file=X11/Intrinsic.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/null chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $file sed -e "s/___type p_type/p_type/" \ ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Fix this file to avoid interfering with stddef.h, but don't mistakenly# match ssize_t present in AIX for the ps/2, or typedefs which use (but do not# set) size_t.file=sys/types.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/null chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $filesed -e '/typedef[ ][ ]*[A-Za-z_][ A-Za-z_]*[ ]size_t/i\#ifndef _GCC_SIZE_T\#define _GCC_SIZE_T' \ -e '/typedef[ ][ ]*[A-Za-z_][ A-Za-z_]*[ ]size_t/a\#endif' ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Fix HP's use of ../machine/inline.h to refer to# /usr/include/machine/inline.hfile=sys/spinlock.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then cp $file ${LIB}/$filefiif [ -r ${LIB}/$file ] ; then echo Fixing $file sed -e 's,"../machine/inline.h",<machine/inline.h>,' \ -e 's,"../machine/psl.h",<machine/psl.h>,' \ ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Fix an error in this file: the #if says _cplusplus, not the double# underscore __cplusplus that it should befile=tinfo.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then mkdir ${LIB}/rpcsvc 2>/dev/null cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/null chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $file, __cplusplus macro sed -e 's/[ ]_cplusplus/ __cplusplus/' ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Fix an error in this file: a missing semi-colon at the end of the statsswtch# structure definition.file=rpcsvc/rstat.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then mkdir ${LIB}/rpcsvc 2>/dev/null cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/null chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $file, definition of statsswtch sed -e 's/boottime$/boottime;/' ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Fix an error in this file: a missing semi-colon at the end of the nodeent# structure definition.file=netdnet/dnetdb.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then mkdir ${LIB}/netdnet 2>/dev/null cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/null chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $file, definition of nodeent sed -e 's/char.*na_addr *$/char *na_addr;/' ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Check for bad #ifdef line (in Ultrix 4.1)file=sys/file.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/null chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then echo Fixing $file, bad \#ifdef line sed -e 's/#ifdef KERNEL/#if defined(KERNEL)/' ${LIB}/$file > ${LIB}/${file}.sed rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file if cmp $file ${LIB}/$file >/dev/null 2>&1; then rm ${LIB}/$file else # Find any include directives that use "file". for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' ${LIB}/$file | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`; do dir=`echo $file | sed -e s'|/[^/]*$||'` required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include" done fifi# Check for (...) in C++ code in HP/UX sys/file.h.file=sys/file.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file" chmod +w ${LIB}/$file 2>/dev/null chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -