| #!/bin/sh | |
| #**************************************************************************** | |
| #* Copyright (c) 2001-2006,2008 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: ncu-indent,v 1.17 2008/08/03 15:46:44 tom Exp $ | |
| NOOP=no | |
| OPTS=' | |
| --blank-lines-after-procedures | |
| --braces-on-if-line | |
| --continuation-indentation0 | |
| --continue-at-parentheses | |
| --cuddle-else | |
| --indent-level4 | |
| --leave-preprocessor-space | |
| --no-blank-lines-after-commas | |
| --no-blank-lines-after-declarations | |
| --no-space-after-function-call-names | |
| --procnames-start-lines | |
| --space-special-semicolon | |
| --swallow-optional-blank-lines | |
| --tab-size8 | |
| -T NCURSES_EXPORT_VAR | |
| -T NCURSES_INLINE | |
| -T SCREEN | |
| -T TERMTYPE | |
| -T attr_t | |
| -T cchar_t | |
| -T chtype | |
| -T inline | |
| -T wchar_t | |
| -T wint_t | |
| -T BUFFER | |
| -T CHARTYPE | |
| -T FILE | |
| -T GCC_NORETURN | |
| -T LINE | |
| -T MARK | |
| -T RETSIGTYPE | |
| -T TBUFF | |
| -T WINDOW | |
| -T size_t | |
| -T va_list | |
| -T Cardinal | |
| -T Widget | |
| -T XtPointer | |
| ' | |
| for name in $* | |
| do | |
| case $name in | |
| -v|-n) | |
| NOOP=yes | |
| OPTS="$OPTS -v" | |
| ;; | |
| -*) | |
| OPTS="$OPTS $name" | |
| ;; | |
| *.[ch]|*.cc|*.cpp) | |
| save="${name}".a$$ | |
| test="${name}".b$$ | |
| rm -f "$save" "$test" | |
| mv "$name" "$save" | |
| sed \ | |
| -e '/EMPTY_MODULE(/s/)$/);/' \ | |
| -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 '/EMPTY_MODULE(/s/);$/)/' \ | |
| -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 |