diff options
Diffstat (limited to 'contrib/ncurses/misc/jpf-indent')
-rwxr-xr-x | contrib/ncurses/misc/jpf-indent | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/contrib/ncurses/misc/jpf-indent b/contrib/ncurses/misc/jpf-indent new file mode 100755 index 0000000..cdd825c --- /dev/null +++ b/contrib/ncurses/misc/jpf-indent @@ -0,0 +1,119 @@ +#!/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 |