jpf-indent revision 256281
1#!/bin/sh 2#**************************************************************************** 3#* Copyright (c) 2004-2005,2006 Thomas E. Dickey * 4#* * 5#* Permission is hereby granted, free of charge, to any person obtaining a * 6#* copy of this software and associated documentation files (the * 7#* "Software"), to deal in the Software without restriction, including * 8#* without limitation the rights to use, copy, modify, merge, publish, * 9#* distribute, distribute with modifications, sublicense, and/or sell * 10#* copies of the Software, and to permit persons to whom the Software is * 11#* furnished to do so, subject to the following conditions: * 12#* * 13#* The above copyright notice and this permission notice shall be included * 14#* in all copies or substantial portions of the Software. * 15#* * 16#* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * 17#* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * 18#* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * 19#* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * 20#* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * 21#* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * 22#* THE USE OR OTHER DEALINGS IN THE SOFTWARE. * 23#* * 24#* Except as contained in this notice, the name(s) of the above copyright * 25#* holders shall not be used in advertising or otherwise to promote the * 26#* sale, use or other dealings in this Software without prior written * 27#* authorization. * 28#****************************************************************************/ 29# $Id: jpf-indent,v 1.6 2006/02/18 17:07:15 tom Exp $ 30# indent ncurses source written by Juergen Pfeifer 31NOOP=no 32OPTS=' 33-npro 34--blank-lines-after-declarations 35--blank-lines-after-procedures 36--brace-indent2 37--braces-after-if-line 38--continue-at-parentheses 39--indent-level2 40--line-length80 41--no-space-after-casts 42--no-space-after-function-call-names 43--parameter-indentation4 44--swallow-optional-blank-lines 45--tab-size8 46 47-T FIELD 48-T FIELDTYPE 49-T FIELD_CELL 50-T FORM 51-T NCURSES_INLINE 52-T RegExp_Arg 53-T TypeArgument 54-T WINDOW 55-T attr_t 56-T bool 57-T cchar_t 58-T chtype 59-T enumARG 60-T va_list 61-T wchar_t 62' 63for name in $* 64do 65 case $name in 66 -v|-n) 67 NOOP=yes 68 OPTS="$OPTS -v" 69 ;; 70 -*) 71 OPTS="$OPTS $name" 72 ;; 73 *.[ch]) 74 save="${name}".a$$ 75 test="${name}".b$$ 76 rm -f "$save" "$test" 77 mv "$name" "$save" 78 sed \ 79 -e '/MODULE_ID(/s/)$/);/' \ 80 -e 's,\<GCC_NORETURN;,;//GCC_NORETURN;,' \ 81 -e 's,\<GCC_PRINTFLIKE(,;//GCC_PRINTFLIKE(,' \ 82 -e 's,\<GCC_SCANFLIKE(,;//GCC_SCANFLIKE(,' \ 83 -e 's,\(\<NCURSES_EXPORT_VAR\>\),//\1,' \ 84 "$save" >"$test" 85 cp "$test" "$name" 86 chmod u+w "$name" 87 # ${INDENT_PROG-indent} --version 88 ${INDENT_PROG-indent} -npro $OPTS "$name" 89 sed \ 90 -e '/MODULE_ID(/s/);$/)/' \ 91 -e 's,;[ ]*//GCC_NORETURN;, GCC_NORETURN;,' \ 92 -e 's,;[ ]*//GCC_PRINTFLIKE(, GCC_PRINTFLIKE(,' \ 93 -e 's,;[ ]*//GCC_SCANFLIKE(, GCC_SCANFLIKE(,' \ 94 -e 's,//\(\<NCURSES_EXPORT_VAR\>\),\1,' \ 95 "$name" >"$test" 96 mv "$test" "$name" 97 rm -f "${name}~" 98 if test $NOOP = yes ; then 99 if (cmp -s "$name" "$save" ) then 100 echo "** no change: $name" 101 else 102 diff -u "$save" "$name" 103 fi 104 rm -f "$name" 105 mv "$save" "$name" 106 elif ( cmp -s "$name" "$save" ) ; then 107 echo "** unchanged $name" 108 rm -f "${name}" 109 mv "$save" "$name" 110 else 111 echo "** updated $name" 112 rm -f "$save" 113 fi 114 ;; 115 *) 116 echo "** ignored: $name" 117 ;; 118 esac 119done 120