123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #!/bin/sh
- #****************************************************************************
- #* Copyright (c) 2004-2005,2006 Thomas E. Dickey *
- #* *
- #* Permission is hereby granted, free of charge, to any person obtaining a *
- #* copy of this software and associated documentation files (the *
- #* "Software"), to deal in the Software without restriction, including *
- #* without limitation the rights to use, copy, modify, merge, publish, *
- #* distribute, distribute with modifications, sublicense, and/or sell *
- #* copies of the Software, and to permit persons to whom the Software is *
- #* furnished to do so, subject to the following conditions: *
- #* *
- #* The above copyright notice and this permission notice shall be included *
- #* in all copies or substantial portions of the Software. *
- #* *
- #* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- #* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- #* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- #* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- #* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- #* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- #* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- #* *
- #* Except as contained in this notice, the name(s) of the above copyright *
- #* holders shall not be used in advertising or otherwise to promote the *
- #* sale, use or other dealings in this Software without prior written *
- #* authorization. *
- #****************************************************************************/
- # $Id: jpf-indent,v 1.6 2006/02/18 17:07:15 tom Exp $
- # indent ncurses source written by Juergen Pfeifer
- NOOP=no
- OPTS='
- -npro
- --blank-lines-after-declarations
- --blank-lines-after-procedures
- --brace-indent2
- --braces-after-if-line
- --continue-at-parentheses
- --indent-level2
- --line-length80
- --no-space-after-casts
- --no-space-after-function-call-names
- --parameter-indentation4
- --swallow-optional-blank-lines
- --tab-size8
- -T FIELD
- -T FIELDTYPE
- -T FIELD_CELL
- -T FORM
- -T NCURSES_INLINE
- -T RegExp_Arg
- -T TypeArgument
- -T WINDOW
- -T attr_t
- -T bool
- -T cchar_t
- -T chtype
- -T enumARG
- -T va_list
- -T wchar_t
- '
- for name in $*
- do
- case $name in
- -v|-n)
- NOOP=yes
- OPTS="$OPTS -v"
- ;;
- -*)
- OPTS="$OPTS $name"
- ;;
- *.[ch])
- save="${name}".a$$
- test="${name}".b$$
- rm -f "$save" "$test"
- mv "$name" "$save"
- sed \
- -e '/MODULE_ID(/s/)$/);/' \
- -e 's,\<GCC_NORETURN;,;//GCC_NORETURN;,' \
- -e 's,\<GCC_PRINTFLIKE(,;//GCC_PRINTFLIKE(,' \
- -e 's,\<GCC_SCANFLIKE(,;//GCC_SCANFLIKE(,' \
- -e 's,\(\<NCURSES_EXPORT_VAR\>\),//\1,' \
- "$save" >"$test"
- cp "$test" "$name"
- chmod u+w "$name"
- # ${INDENT_PROG-indent} --version
- ${INDENT_PROG-indent} -npro $OPTS "$name"
- sed \
- -e '/MODULE_ID(/s/);$/)/' \
- -e 's,;[ ]*//GCC_NORETURN;, GCC_NORETURN;,' \
- -e 's,;[ ]*//GCC_PRINTFLIKE(, GCC_PRINTFLIKE(,' \
- -e 's,;[ ]*//GCC_SCANFLIKE(, GCC_SCANFLIKE(,' \
- -e 's,//\(\<NCURSES_EXPORT_VAR\>\),\1,' \
- "$name" >"$test"
- mv "$test" "$name"
- rm -f "${name}~"
- if test $NOOP = yes ; then
- if (cmp -s "$name" "$save" ) then
- echo "** no change: $name"
- else
- diff -u "$save" "$name"
- fi
- rm -f "$name"
- mv "$save" "$name"
- elif ( cmp -s "$name" "$save" ) ; then
- echo "** unchanged $name"
- rm -f "${name}"
- mv "$save" "$name"
- else
- echo "** updated $name"
- rm -f "$save"
- fi
- ;;
- *)
- echo "** ignored: $name"
- ;;
- esac
- done
|