📄 fixcpp
字号:
#!/bin/sh## NAME:# fixcpp - fix CPP errors## SYNOPSIS:# fixcpp [-c][-p patch_file][-b bak_dir][-n new_dir] files(s)## DESCRIPTION:# For each named file, use sed(1) to fixup any descriptive# text after #else or #endif or that is not properly# commented as this causes ANSI compilers to generate# unnecessary warnings.## Naturally this script is not guaranteed to be bullit# proof, use of -n or -b is advisable!## -c causes fixcpp to make sure that only files that# needed changing are affected by returning the original# file to its original location if no changes were needed.## -p causes fixcpp to append to a patch file the context# diffs of the changes wraught.## SEE ALSO:# sed(1)## AMENDED:# 90/08/08 22:46:32 (sjg)## RELEASED:# 90/08/08 22:46:34 v1.4## SCCSID:# @(#)fixcpp.sh 1.4 90/08/08 22:46:32 (sjg)## @(#)Copyright (c) 1990 Simon J. Gerraty## This is free software. It comes with NO WARRANTY.# Everyone is granted permission to copy, modify and# redistribute this source code provided that all# recipients are given similar rights, and that the above# copyright notice and this notice are preserved in all# copies. TMPF=/tmp/fixcpp.$$NEWDIR=BAKDIR=PATCHF=CHECK=set -- `getopt "cp:b:n:" $*`if [ $? != 0 ]; then echo "$0 [-c][-p patch_file][-b bakup_dir][-n new_dir] file [file ...]" >&2 exit 1fifor i in $*do case $i in -c) CHECK=yes; shift;; -p) PATCHF=$2; shift 2;; -b) BAKDIR=$2; shift 2;; -n) NEWDIR=$2; shift 2;; --) shift; break;; esacdoneNEWDIR=${NEWDIR:-.}if [ $BAKDIR ]; then if [ ! -d $BAKDIR ]; then echo "$0: no such directory -- $BAKDIR" >&2 exit 1 fififor i in $*do if [ $BAKDIR ]; then mv $i $BAKDIR infile=$BAKDIR/$i else if [ "$NEWDIR" = "." ]; then mv $i ${TMPF} infile=${TMPF} else infile=$i fi fi sed -e 's;^#\([ ]*e[nl][^ ]*[ ][ ]*\)\([^/ ][^\*].*\);#\1/* \2 */;' -e 's;^#\([ ]*e[nl][^ ]*[ ][ ]*\)\([^/ ]\)$;#\1/* \2 */;' $infile >${NEWDIR}/$i if [ "${CHECK}" = "yes" -o ${PATCHF} ]; then if cmp -s $infile ${NEWDIR}/$i ; then if [ "${CHECK}" = "yes" ]; then if [ $BAKDIR ]; then mv $infile ${NEWDIR}/$i else rm ${NEWDIR}/$i fi fi else if [ $PATCHF ]; then diff -c $infile ${NEWDIR}/$i >> ${PATCHF} fi fi fidonerm -f ${TMPF}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -