| #!/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 |