warn-ignored-err.sh
来自「subversion-1.4.3-1.tar.gz 配置svn的源码」· Shell 代码 · 共 64 行
SH
64 行
#!/bin/shHELP="\Usage: $0 [--remove] [FILE...]Insert or remove the GCC attribute \"warn_unused_result\" on each functionthat returns a Subversion error, in the specified files or, by default,*.h and *.c in the ./subversion and ./tools trees."LC_ALL=C# Parse optionsREMOVE=case "$1" in--remove) REMOVE=1; shift;;--help) echo "$HELP"; exit 0;;--*) echo "$0: unknown option \"$1\"; try \"--help\""; exit 1;;esac# Set the positional parameters to the default files if none specifiedif [ $# = 0 ]; then set -- `find subversion/ tools/ -name '*.[ch]'`fi# A line that declares a function return type of "svn_error_t *" looks like:# - Possibly leading whitespace, though not often.# - Possibly "static" or "typedef".# - The return type "svn_error_t *".# - Possibly a function or pointer-to-function declarator:# - "identifier"# - "(identifier)" (used in some typedefs)# - "(*identifier)"# with either nothing more, or a "(" next (especially not "," or ";" or "="# which all indicate a variable rather than a function).# Regular expressions for "sed"# Note: take care in matching back-reference numbers to parenthesesPREFIX="^\( *\| *static *\| *typedef *\)"RET_TYPE="\(svn_error_t *\* *\)"IDENT="[a-zA-Z_][a-zA-Z0-9_]*"DECLR="\($IDENT\|( *\(\*\|\) *$IDENT *)\)"SUFFIX="\($DECLR *\((.*\|\)\|\)$"# The attribute string to be inserted or removedATTRIB_RE="__attribute__((warn_unused_result))" # regex version of itATTRIB_STR="__attribute__((warn_unused_result))" # plain text version of itif [ $REMOVE ]; then SUBST="s/$PREFIX$ATTRIB_RE $RET_TYPE$SUFFIX/\1\2\3/"else SUBST="s/$PREFIX$RET_TYPE$SUFFIX/\1$ATTRIB_STR \2\3/"fifor F do # Edit the file, leaving a backup suffixed with a tilde { sed -e "$SUBST" "$F" > "$F~1" && { ! cmp -s "$F" "$F~1"; } && mv "$F" "$F~" && # F is briefly absent now; a copy could avoid this mv "$F~1" "$F" } || # If anything went wrong or no change was made, remove the temporary file rm "$F~1"done
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?