Print this page
3764 Semantic of nawk's print statement changed
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/lib/libxcurses/src/libc/xcurses/mkterm.awk
+++ new/usr/src/lib/libxcurses/src/libc/xcurses/mkterm.awk
1 1 #
2 2 # Copyright 2005 Sun Microsystems, Inc. All rights reserved.
3 3 # Use is subject to license terms.
4 4 #
5 5 # CDDL HEADER START
6 6 #
7 7 # The contents of this file are subject to the terms of the
8 8 # Common Development and Distribution License, Version 1.0 only
9 9 # (the "License"). You may not use this file except in compliance
10 10 # with the License.
11 11 #
12 12 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13 13 # or http://www.opensolaris.org/os/licensing.
14 14 # See the License for the specific language governing permissions
↓ open down ↓ |
14 lines elided |
↑ open up ↑ |
15 15 # and limitations under the License.
16 16 #
17 17 # When distributing Covered Code, include this CDDL HEADER in each
18 18 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19 19 # If applicable, add the following below this CDDL HEADER, with the
20 20 # fields enclosed by brackets "[]" replaced with your own identifying
21 21 # information: Portions Copyright [yyyy] [name of copyright owner]
22 22 #
23 23 # CDDL HEADER END
24 24 #
25 -# ident "%Z%%M% %I% %E% SMI"
26 -#
27 25 # mkterm.awk
28 26 #
29 27 # XCurses Library
30 28 #
31 29 # Copyright 1990, 1995 by Mortice Kern Systems Inc. All rights reserved.
32 30 #
33 31 # $Header: /rd/src/libc/xcurses/rcs/mkterm.awk 1.12 1995/07/26 17:40:26 ant Exp $
34 32 #
35 33 # USAGE:
36 34 # awk -f mkterm.awk caps >term.h
37 35 #
38 36
39 37 BEGIN {
40 38 print "/*"
41 39 print " * term.h"
↓ open down ↓ |
5 lines elided |
↑ open up ↑ |
42 40 print " *"
43 41 print " * XCurses Library"
44 42 print " *"
45 43 print " * **** THIS FILE IS MACHINE GENERATED."
46 44 print " * **** DO NOT EDIT THIS FILE."
47 45 print " *"
48 46 print " * Copyright 1990, 1995 by Mortice Kern Systems Inc. All rights reserved."
49 47 print " *"
50 48 printf " * $Header%s\n", "$"
51 49 print " */"
52 -print
50 +print ""
53 51 print "#ifndef __term_h__"
54 52 print "#define __term_h__\t1"
55 -print
53 +print ""
56 54 print "#define _XOPEN_CURSES"
57 -print
55 +print ""
58 56 print "#ifndef NCCS"
59 57 print "#include <termios.h>"
60 58 print "#endif"
61 59 print "#ifndef STDIN_FILENO"
62 60 print "#include <sys/types.h>"
63 61 print "#include <unistd.h>"
64 62 print "#endif"
65 -print
63 +print ""
66 64 print "#define __TERM cur_term->"
67 65 }
68 66
67 +/^#/ || /^$/ {
68 + next
69 +}
70 +
69 71 $4 == "bool" {
70 72 printf "#define %-30s __TERM _bool[%d]\n", $1, BoolCount++
71 73 }
72 74
73 75 $4 == "number" {
74 76 printf "#define %-30s __TERM _num[%d]\n", $1, NumberCount++
75 77 }
76 78
77 79 $4 == "str" {
78 80 printf "#define %-30s __TERM _str[%d]\n", $1, StringCount++
79 81 }
80 82
81 83 END {
82 -print
84 +print ""
83 85 printf "#define __COUNT_BOOL\t\t%d\n", BoolCount
84 86 printf "#define __COUNT_NUM\t\t%d\n", NumberCount
85 87 printf "#define __COUNT_STR\t\t%d\n", StringCount
86 -print
88 +print ""
87 89 print "/*"
88 90 print " * MKS Header format for terminfo database files."
89 91 print " *"
90 92 print " * The header consists of six short integers, stored using VAX/PDP style"
91 93 print " * byte swapping (least-significant byte first). The integers are"
92 94 print " *"
93 95 print " * 1) magic number (octal 0432);"
94 96 print " * 2) the size, in bytes, of the names sections;"
95 97 print " * 3) the number of bytes in the boolean section;"
96 98 print " * 4) the number of short integers in the numbers section;"
97 99 print " * 5) the number of offsets (short integers) in the strings section;"
98 100 print " * 6) the size, in bytes, of the string table."
99 101 print " *"
100 102 print " * Between the boolean and number sections, a null byte is inserted, if"
101 103 print " * necessary, to ensure that the number section begins on an even byte"
102 104 print " * offset. All short integers are aligned on a short word boundary."
103 105 print " */"
104 -print
106 +print ""
105 107 print "#define __TERMINFO_MAGIC\t\t0432"
106 -print
108 +print ""
107 109 print "typedef struct {"
108 110 print "\tshort magic;"
109 111 print "\tshort name_size;"
110 112 print "\tshort bool_count;"
111 113 print "\tshort num_count;"
112 114 print "\tshort str_count;"
113 115 print "\tshort str_size;"
114 116 print "} terminfo_header_t;"
115 -print
117 +print ""
116 118 print "/*"
117 119 print " * The following __MOVE_ constants are indices into the _move[] member"
118 120 print " * of a SCREEN structure. The array is used by m_mvcur() for cursor"
119 121 print " * motion costs and initialized by newterm()."
120 122 print " *"
121 123 print " * The following indices refer to relative cursor motion actions that"
122 124 print " * have a base-cost times the distance/count."
123 125 print " */"
124 126 print "#define __MOVE_UP\t\t0"
125 127 print "#define __MOVE_DOWN\t\t1"
126 128 print "#define __MOVE_LEFT\t\t2"
127 129 print "#define __MOVE_RIGHT\t\t3"
128 130 print "#define __MOVE_TAB\t\t4"
129 131 print "#define __MOVE_BACK_TAB\t\t5"
130 -print
132 +print ""
131 133 print "#define __MOVE_MAX_RELATIVE\t6"
132 -print
134 +print ""
133 135 print "/*"
134 136 print " * These should have fixed costs."
135 137 print " */"
136 138 print "#define __MOVE_RETURN\t\t6"
137 139 print "#define __MOVE_HOME\t\t7"
138 140 print "#define __MOVE_LAST_LINE\t8"
139 -print
141 +print ""
140 142 print "/*"
141 143 print " * These have worst case cost based on moving the maximum possible"
142 144 print " * value for a parameter given the screen size."
143 145 print " */"
144 146 print "#define __MOVE_N_UP\t\t9"
145 147 print "#define __MOVE_N_DOWN\t\t10"
146 148 print "#define __MOVE_N_LEFT\t\t11"
147 149 print "#define __MOVE_N_RIGHT\t\t12"
148 150 print "#define __MOVE_ROW\t\t13"
149 151 print "#define __MOVE_COLUMN\t\t14"
150 152 print "#define __MOVE_ROW_COLUMN\t15"
151 -print
153 +print ""
152 154 print "#define __MOVE_MAX\t\t16"
153 -print
155 +print ""
154 156 print "/*"
155 157 print " * For a cursor motion to be used there must be a base-cost of at least 1."
156 158 print " */"
157 159 print "#define __MOVE_INFINITY\t\t1000"
158 -print
160 +print ""
159 161 print "#define __TERM_ISATTY_IN\t0x0001\t/* Input is a terminal */"
160 162 print "#define __TERM_ISATTY_OUT\t0x0002\t/* Output is a terminal */"
161 163 print "#define __TERM_HALF_DELAY\t0x0004\t/* halfdelay() has priority. */"
162 164 print "#define __TERM_INSERT_MODE\t0x0008\t/* Terminal is in insert mode. */"
163 165 print "#define __TERM_NL_IS_CRLF\t0x8000\t/* Newline is mapped on output. */"
164 -print
166 +print ""
165 167 print "/***"
166 168 print " *** Opaque data type. Keep your grubby mits off."
167 169 print " ***/"
168 170 print "typedef struct {"
169 171 print "\tint _ifd;\t\t\t/* Input file descriptor */"
170 172 print "\tint _ofd;\t\t\t/* Output file descriptor */"
171 173 print "\tstruct termios _prog;"
172 174 print "\tstruct termios _shell;"
173 175 print "\tstruct termios _save;"
174 176 print "\tshort _co;\t\t\t/* Current colour-pair. */"
175 177 print "\tunsigned short _at;\t\t/* Current attribute state. */"
176 178 print "\tshort (*_pair)[2];"
177 179 print "\tshort (*_color)[3];"
178 180 print "\tunsigned short _flags;"
179 181 print "\tchar _bool[__COUNT_BOOL];"
↓ open down ↓ |
5 lines elided |
↑ open up ↑ |
180 182 print "\tshort _num[__COUNT_NUM];"
181 183 print "\tchar *_str[__COUNT_STR];\t/* Pointers into _str_table. */"
182 184 print "\tchar *_str_table;"
183 185 print "\tchar *_names;\t\t\t/* Terminal alias in _str_table. */"
184 186 print "\tchar *_term;\t\t\t/* TERM name loaded. */"
185 187 print "\tstruct {"
186 188 print "\t\tchar *_seq;"
187 189 print "\t\tshort _cost;"
188 190 print "\t} _move[__MOVE_MAX];"
189 191 print "} TERMINAL;"
190 -print
192 +print ""
191 193 print "extern TERMINAL *cur_term;"
192 -print
194 +print ""
193 195 print "extern char *__m_boolnames[];"
194 196 print "extern char *__m_boolcodes[];"
195 197 print "extern char *__m_boolfnames[];"
196 198 print "extern char *__m_numnames[];"
197 199 print "extern char *__m_numcodes[];"
198 200 print "extern char *__m_numfnames[];"
199 201 print "extern char *__m_strnames[];"
200 202 print "extern char *__m_strcodes[];"
201 203 print "extern char *__m_strfnames[];"
202 -print
204 +print ""
203 205 print "#ifndef _XOPEN_SOURCE"
204 206 print "/*"
205 207 print " * Old System V array names."
206 208 print " */"
207 209 print "#define boolnames\t__m_boolnames"
208 210 print "#define boolcodes\t__m_boolcodes"
209 211 print "#define boolfnames\t__m_boolfnames"
210 212 print "#define numnames\t__m_numnames"
211 213 print "#define numcodes\t__m_numcodes"
212 214 print "#define numfnames\t__m_numfnames"
213 215 print "#define strnames\t__m_strnames"
214 216 print "#define strcodes\t__m_strcodes"
215 217 print "#define strfnames\t__m_strfnames"
216 218 print "#endif /* _XOPEN_SOURCE */"
217 -print
219 +print ""
218 220 print "/*"
219 221 print " * Exposed internal functions."
220 222 print " */"
221 223 print "extern int __m_putchar(int);"
222 224 print "extern int __m_mvcur(int, int, int, int, int (*)(int));"
223 225 print "extern int __m_read_terminfo(const char *, TERMINAL *);"
224 226 print "extern int __m_setupterm(const char *, int, int, int *);"
225 -print
227 +print ""
226 228 print "/*"
227 229 print " * Globals"
228 230 print " */"
229 231 print "extern int del_curterm(TERMINAL *);"
230 232 print "extern TERMINAL *set_curterm(TERMINAL *);"
231 233 print "extern int restartterm(const char *, int, int *);"
232 234 print "extern int setupterm(const char *, int, int *);"
233 -print
235 +print ""
234 236 print "extern int tgetent(char *, char *);"
235 237 print "extern int tgetflag(const char *);"
236 238 print "extern int tgetnum(const char *);"
237 239 print "extern char *tgetstr(const char *, char **);"
238 240 print "extern char *tgoto(const char *, int, int);"
239 -print
241 +print ""
240 242 print "extern int tigetflag(const char *);"
241 243 print "extern int tigetnum(const char *);"
242 244 print "extern char *tigetstr(const char *);"
243 -print
245 +print ""
244 246 print "extern int putp(const char *);"
245 247 print "extern const char *tparm("
246 248 print "\tconst char *, long, long, long, long, long, long, long, long, long);"
247 249 print "extern int tputs(const char *, int, int (*)(int));"
248 -print
250 +print ""
249 251 print "#ifndef _XOPEN_SOURCE_EXTENDED"
250 -print
252 +print ""
251 253 print "#define putp(str)\t\ttputs(str,1,__m_putchar)"
252 254 print "#define del_term\t\tdel_curterm"
253 255 print "#define setterm(t)\t\tsetupterm(t,STDOUT_FILENO,(int *) 0)"
254 256 print "#define tgoto(cm,c,r)\t\ttparm((char *)(cm), (long)(r), (long)(c))"
255 -print
257 +print ""
256 258 print "#ifndef _XOPEN_SOURCE"
257 259 print "#define beehive_glitch\t\tno_esc_ctrlc"
258 260 print "#define teleray_glitch\t\tdest_tabs_magic_smso"
259 261 print "#endif /* _XOPEN_SOURCE */"
260 -print
262 +print ""
261 263 print "#endif /* _XOPEN_SOURCE_EXTENDED */"
262 -print
264 +print ""
263 265 print "#endif /* __term_h__ */"
264 266 }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX