Deleted Added
full compact
ncu-indent (166125) ncu-indent (184989)
1#!/bin/sh
2#****************************************************************************
1#!/bin/sh
2#****************************************************************************
3#* Copyright (c) 2001-2005,2006 Thomas E. Dickey *
3#* Copyright (c) 2001-2006,2008 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#****************************************************************************/
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: ncu-indent,v 1.16 2006/02/18 17:02:22 tom Exp $
29# $Id: ncu-indent,v 1.17 2008/08/03 15:46:44 tom Exp $
30NOOP=no
31OPTS='
32--blank-lines-after-procedures
33--braces-on-if-line
34--continuation-indentation0
35--continue-at-parentheses
36--cuddle-else
37--indent-level4
38--leave-preprocessor-space
39--no-blank-lines-after-commas
40--no-blank-lines-after-declarations
41--no-space-after-function-call-names
42--procnames-start-lines
43--space-special-semicolon
44--swallow-optional-blank-lines
45--tab-size8
46
47-T NCURSES_EXPORT_VAR
48-T NCURSES_INLINE
49-T SCREEN
50-T TERMTYPE
51-T attr_t
52-T cchar_t
53-T chtype
54-T inline
55-T wchar_t
56-T wint_t
57
58-T BUFFER
59-T CHARTYPE
60-T FILE
61-T GCC_NORETURN
62-T LINE
63-T MARK
64-T RETSIGTYPE
65-T TBUFF
66-T WINDOW
67-T size_t
68-T va_list
69
70-T Cardinal
71-T Widget
72-T XtPointer
73'
74for name in $*
75do
76 case $name in
77 -v|-n)
78 NOOP=yes
79 OPTS="$OPTS -v"
80 ;;
81 -*)
82 OPTS="$OPTS $name"
83 ;;
84 *.[ch]|*.cc|*.cpp)
85 save="${name}".a$$
86 test="${name}".b$$
87 rm -f "$save" "$test"
88 mv "$name" "$save"
89 sed \
30NOOP=no
31OPTS='
32--blank-lines-after-procedures
33--braces-on-if-line
34--continuation-indentation0
35--continue-at-parentheses
36--cuddle-else
37--indent-level4
38--leave-preprocessor-space
39--no-blank-lines-after-commas
40--no-blank-lines-after-declarations
41--no-space-after-function-call-names
42--procnames-start-lines
43--space-special-semicolon
44--swallow-optional-blank-lines
45--tab-size8
46
47-T NCURSES_EXPORT_VAR
48-T NCURSES_INLINE
49-T SCREEN
50-T TERMTYPE
51-T attr_t
52-T cchar_t
53-T chtype
54-T inline
55-T wchar_t
56-T wint_t
57
58-T BUFFER
59-T CHARTYPE
60-T FILE
61-T GCC_NORETURN
62-T LINE
63-T MARK
64-T RETSIGTYPE
65-T TBUFF
66-T WINDOW
67-T size_t
68-T va_list
69
70-T Cardinal
71-T Widget
72-T XtPointer
73'
74for name in $*
75do
76 case $name in
77 -v|-n)
78 NOOP=yes
79 OPTS="$OPTS -v"
80 ;;
81 -*)
82 OPTS="$OPTS $name"
83 ;;
84 *.[ch]|*.cc|*.cpp)
85 save="${name}".a$$
86 test="${name}".b$$
87 rm -f "$save" "$test"
88 mv "$name" "$save"
89 sed \
90 -e '/EMPTY_MODULE(/s/)$/);/' \
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 "$save" >"$test"
96 cp "$test" "$name"
97 chmod u+w "$name"
98 # ${INDENT_PROG-indent} --version
99 ${INDENT_PROG-indent} -npro $OPTS "$name"
100 sed \
91 -e '/MODULE_ID(/s/)$/);/' \
92 -e 's,\<GCC_NORETURN;,;//GCC_NORETURN;,' \
93 -e 's,\<GCC_PRINTFLIKE(,;//GCC_PRINTFLIKE(,' \
94 -e 's,\<GCC_SCANFLIKE(,;//GCC_SCANFLIKE(,' \
95 -e 's,\(\<NCURSES_EXPORT_VAR\>\),//\1,' \
96 "$save" >"$test"
97 cp "$test" "$name"
98 chmod u+w "$name"
99 # ${INDENT_PROG-indent} --version
100 ${INDENT_PROG-indent} -npro $OPTS "$name"
101 sed \
102 -e '/EMPTY_MODULE(/s/);$/)/' \
101 -e '/MODULE_ID(/s/);$/)/' \
102 -e 's,;[ ]*//GCC_NORETURN;, GCC_NORETURN;,' \
103 -e 's,;[ ]*//GCC_PRINTFLIKE(, GCC_PRINTFLIKE(,' \
104 -e 's,;[ ]*//GCC_SCANFLIKE(, GCC_SCANFLIKE(,' \
105 -e 's,//\(\<NCURSES_EXPORT_VAR\>\),\1,' \
106 "$name" >"$test"
107 mv "$test" "$name"
108 rm -f "${name}~"
109 if test $NOOP = yes ; then
110 if (cmp -s "$name" "$save" ) then
111 echo "** no change: $name"
112 else
113 diff -u "$save" "$name"
114 fi
115 rm -f "$name"
116 mv "$save" "$name"
117 elif ( cmp -s "$name" "$save" ) ; then
118 echo "** unchanged $name"
119 rm -f "${name}"
120 mv "$save" "$name"
121 else
122 echo "** updated $name"
123 rm -f "$save"
124 fi
125 ;;
126 *)
127 echo "** ignored: $name"
128 ;;
129 esac
130done
103 -e '/MODULE_ID(/s/);$/)/' \
104 -e 's,;[ ]*//GCC_NORETURN;, GCC_NORETURN;,' \
105 -e 's,;[ ]*//GCC_PRINTFLIKE(, GCC_PRINTFLIKE(,' \
106 -e 's,;[ ]*//GCC_SCANFLIKE(, GCC_SCANFLIKE(,' \
107 -e 's,//\(\<NCURSES_EXPORT_VAR\>\),\1,' \
108 "$name" >"$test"
109 mv "$test" "$name"
110 rm -f "${name}~"
111 if test $NOOP = yes ; then
112 if (cmp -s "$name" "$save" ) then
113 echo "** no change: $name"
114 else
115 diff -u "$save" "$name"
116 fi
117 rm -f "$name"
118 mv "$save" "$name"
119 elif ( cmp -s "$name" "$save" ) ; then
120 echo "** unchanged $name"
121 rm -f "${name}"
122 mv "$save" "$name"
123 else
124 echo "** updated $name"
125 rm -f "$save"
126 fi
127 ;;
128 *)
129 echo "** ignored: $name"
130 ;;
131 esac
132done