OSDN Git Service

* fixinc/inclhack.def (avoid_bool): Also catch
[pf3gnuchains/gcc-fork.git] / gcc / fixinc / fixincl.x
1 /*
2  *  DO NOT EDIT THIS FILE - it has been generated
3  *
4  * Install modified versions of certain ANSI-incompatible system header
5  * files which are fixed to work correctly with ANSI C and placed in a
6  * directory that GNU C will search.
7  *
8  * This file contains 104 fixup descriptions.
9  *
10  * See README-fixinc for more information.
11  *
12  *  inclhack copyright (c) 1999 The Free Software Foundation, Inc.
13  *
14  *  inclhack is free software.
15  *  
16  *  You may redistribute it and/or modify it under the terms of the
17  *  GNU General Public License, as published by the Free Software
18  *  Foundation; either version 2, or (at your option) any later version.
19  *  
20  *  inclhack is distributed in the hope that it will be useful,
21  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
22  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
23  *  See the GNU General Public License for more details.
24  *  
25  *  You should have received a copy of the GNU General Public License
26  *  along with inclhack.  See the file "COPYING".  If not,
27  *  write to:  The Free Software Foundation, Inc.,
28  *             59 Temple Place - Suite 330,
29  *             Boston,  MA  02111-1307, USA.
30  *
31  *
32  *  Description   1 - Aix_Syswait fix
33  */
34 tSCC zAix_SyswaitName[] =
35      "Aix_Syswait";
36 /*
37  *  File name selection pattern
38  */
39 tSCC zAix_SyswaitList[] =
40   "|sys/wait.h|";
41 /*
42  *  Machine/OS name selection pattern
43  */
44 #define apzAix_SyswaitMachs (const char**)NULL
45
46 /*
47  *  content selection pattern - do fix if pattern found
48  */
49 tSCC zAix_SyswaitSelect0[] =
50        "bos325,";
51
52 #define    AIX_SYSWAIT_TEST_CT  1
53 #define    AIX_SYSWAIT_RE_CT    1
54 tTestDesc aAix_SyswaitTests[] = {
55   { TT_EGREP,  zAix_SyswaitSelect0,   (regex_t*)NULL }, };
56
57 /*
58  *  Fix Command Arguments for Aix_Syswait
59  */
60 const char* apzAix_SyswaitPatch[] = { "sed",
61     "-e", "/^extern pid_t wait3();$/i\\\n\
62 struct rusage;\n",
63     (char*)NULL };
64
65 /* * * * * * * * * * * * * * * * * * * * * * * * * *
66  *
67  *  Description   2 - Aix_Volatile fix
68  */
69 tSCC zAix_VolatileName[] =
70      "Aix_Volatile";
71 /*
72  *  File name selection pattern
73  */
74 tSCC zAix_VolatileList[] =
75   "|sys/signal.h|";
76 /*
77  *  Machine/OS name selection pattern
78  */
79 #define apzAix_VolatileMachs (const char**)NULL
80
81 /*
82  *  content selection pattern - do fix if pattern found
83  */
84 tSCC zAix_VolatileSelect0[] =
85        "typedef volatile int sig_atomic_t";
86
87 #define    AIX_VOLATILE_TEST_CT  1
88 #define    AIX_VOLATILE_RE_CT    1
89 tTestDesc aAix_VolatileTests[] = {
90   { TT_EGREP,  zAix_VolatileSelect0,   (regex_t*)NULL }, };
91
92 /*
93  *  Fix Command Arguments for Aix_Volatile
94  */
95 const char* apzAix_VolatilePatch[] = { "sed",
96     "-e", "s/typedef volatile int sig_atomic_t/typedef int sig_atomic_t/",
97     (char*)NULL };
98
99 /* * * * * * * * * * * * * * * * * * * * * * * * * *
100  *
101  *  Description   3 - Alpha_Getopt fix
102  */
103 tSCC zAlpha_GetoptName[] =
104      "Alpha_Getopt";
105 /*
106  *  File name selection pattern
107  */
108 tSCC zAlpha_GetoptList[] =
109   "|stdio.h|stdlib.h|";
110 /*
111  *  Machine/OS name selection pattern
112  */
113 #define apzAlpha_GetoptMachs (const char**)NULL
114
115 /*
116  *  content selection pattern - do fix if pattern found
117  */
118 tSCC zAlpha_GetoptSelect0[] =
119        "getopt\\(int, char \\*\\[";
120
121 #define    ALPHA_GETOPT_TEST_CT  1
122 #define    ALPHA_GETOPT_RE_CT    1
123 tTestDesc aAlpha_GetoptTests[] = {
124   { TT_EGREP,  zAlpha_GetoptSelect0,   (regex_t*)NULL }, };
125
126 /*
127  *  Fix Command Arguments for Alpha_Getopt
128  */
129 const char* apzAlpha_GetoptPatch[] = { "sed",
130     "-e", "s/getopt(int, char \\*\\[\\],[ ]*char \\*)/getopt(int, char *const[], const char *)/",
131     (char*)NULL };
132
133 /* * * * * * * * * * * * * * * * * * * * * * * * * *
134  *
135  *  Description   4 - Alpha_Parens fix
136  */
137 tSCC zAlpha_ParensName[] =
138      "Alpha_Parens";
139 /*
140  *  File name selection pattern
141  */
142 tSCC zAlpha_ParensList[] =
143   "|sym.h|";
144 /*
145  *  Machine/OS name selection pattern
146  */
147 #define apzAlpha_ParensMachs (const char**)NULL
148
149 /*
150  *  content selection pattern - do fix if pattern found
151  */
152 tSCC zAlpha_ParensSelect0[] =
153        "#ifndef\\(__mips64\\)";
154
155 #define    ALPHA_PARENS_TEST_CT  1
156 #define    ALPHA_PARENS_RE_CT    1
157 tTestDesc aAlpha_ParensTests[] = {
158   { TT_EGREP,  zAlpha_ParensSelect0,   (regex_t*)NULL }, };
159
160 /*
161  *  Fix Command Arguments for Alpha_Parens
162  */
163 const char* apzAlpha_ParensPatch[] = { "sed",
164     "-e", "s/#ifndef(__mips64)/#ifndef __mips64/",
165     (char*)NULL };
166
167 /* * * * * * * * * * * * * * * * * * * * * * * * * *
168  *
169  *  Description   5 - Alpha_Sbrk fix
170  */
171 tSCC zAlpha_SbrkName[] =
172      "Alpha_Sbrk";
173 /*
174  *  File name selection pattern
175  */
176 tSCC zAlpha_SbrkList[] =
177   "|unistd.h|";
178 /*
179  *  Machine/OS name selection pattern
180  */
181 #define apzAlpha_SbrkMachs (const char**)NULL
182
183 /*
184  *  content selection pattern - do fix if pattern found
185  */
186 tSCC zAlpha_SbrkSelect0[] =
187        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
188
189 #define    ALPHA_SBRK_TEST_CT  1
190 #define    ALPHA_SBRK_RE_CT    1
191 tTestDesc aAlpha_SbrkTests[] = {
192   { TT_EGREP,  zAlpha_SbrkSelect0,   (regex_t*)NULL }, };
193
194 /*
195  *  Fix Command Arguments for Alpha_Sbrk
196  */
197 const char* apzAlpha_SbrkPatch[] = { "sed",
198     "-e", "s/char\\([ \t]*\\*[\t ]*sbrk[ \t]*(\\)/void\\1/",
199     (char*)NULL };
200
201 /* * * * * * * * * * * * * * * * * * * * * * * * * *
202  *
203  *  Description   6 - Arm_Norcroft_Hint fix
204  */
205 tSCC zArm_Norcroft_HintName[] =
206      "Arm_Norcroft_Hint";
207 /*
208  *  File name selection pattern
209  */
210 tSCC zArm_Norcroft_HintList[] =
211   "|X11/Intrinsic.h|";
212 /*
213  *  Machine/OS name selection pattern
214  */
215 #define apzArm_Norcroft_HintMachs (const char**)NULL
216
217 /*
218  *  content selection pattern - do fix if pattern found
219  */
220 tSCC zArm_Norcroft_HintSelect0[] =
221        "___type p_type";
222
223 #define    ARM_NORCROFT_HINT_TEST_CT  1
224 #define    ARM_NORCROFT_HINT_RE_CT    1
225 tTestDesc aArm_Norcroft_HintTests[] = {
226   { TT_EGREP,  zArm_Norcroft_HintSelect0,   (regex_t*)NULL }, };
227
228 /*
229  *  Fix Command Arguments for Arm_Norcroft_Hint
230  */
231 const char* apzArm_Norcroft_HintPatch[] = { "sed",
232     "-e", "s/___type p_type/p_type/",
233     (char*)NULL };
234
235 /* * * * * * * * * * * * * * * * * * * * * * * * * *
236  *
237  *  Description   7 - Arm_Wchar fix
238  */
239 tSCC zArm_WcharName[] =
240      "Arm_Wchar";
241 /*
242  *  File name selection pattern
243  */
244 tSCC zArm_WcharList[] =
245   "|stdlib.h|";
246 /*
247  *  Machine/OS name selection pattern
248  */
249 #define apzArm_WcharMachs (const char**)NULL
250
251 /*
252  *  content selection pattern - do fix if pattern found
253  */
254 tSCC zArm_WcharSelect0[] =
255        "#[ \t]*define[ \t]*__wchar_t";
256
257 #define    ARM_WCHAR_TEST_CT  1
258 #define    ARM_WCHAR_RE_CT    1
259 tTestDesc aArm_WcharTests[] = {
260   { TT_EGREP,  zArm_WcharSelect0,   (regex_t*)NULL }, };
261
262 /*
263  *  Fix Command Arguments for Arm_Wchar
264  */
265 const char* apzArm_WcharPatch[] = { "sed",
266     "-e", "s/\\(#[ \t]*ifndef[ \t]*\\)__wchar_t/\\1_GCC_WCHAR_T/",
267     "-e", "s/\\(#[ \t]*define[ \t]*\\)__wchar_t/\\1_GCC_WCHAR_T/",
268     (char*)NULL };
269
270 /* * * * * * * * * * * * * * * * * * * * * * * * * *
271  *
272  *  Description   8 - Aux_Asm fix
273  */
274 tSCC zAux_AsmName[] =
275      "Aux_Asm";
276 /*
277  *  File name selection pattern
278  */
279 tSCC zAux_AsmList[] =
280   "|sys/param.h|";
281 /*
282  *  Machine/OS name selection pattern
283  */
284 #define apzAux_AsmMachs (const char**)NULL
285
286 /*
287  *  content selection pattern - do fix if pattern found
288  */
289 tSCC zAux_AsmSelect0[] =
290        "#ifndef NOINLINE";
291
292 #define    AUX_ASM_TEST_CT  1
293 #define    AUX_ASM_RE_CT    1
294 tTestDesc aAux_AsmTests[] = {
295   { TT_EGREP,  zAux_AsmSelect0,   (regex_t*)NULL }, };
296
297 /*
298  *  Fix Command Arguments for Aux_Asm
299  */
300 const char* apzAux_AsmPatch[] = { "sed",
301     "-e", "s|#ifndef NOINLINE|#if !defined(NOINLINE) \\&\\& !defined(__GNUC__)|",
302     (char*)NULL };
303
304 /* * * * * * * * * * * * * * * * * * * * * * * * * *
305  *
306  *  Description   9 - Avoid_Bool fix
307  */
308 tSCC zAvoid_BoolName[] =
309      "Avoid_Bool";
310 /*
311  *  File name selection pattern
312  */
313 tSCC zAvoid_BoolList[] =
314   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
315 /*
316  *  Machine/OS name selection pattern
317  */
318 #define apzAvoid_BoolMachs (const char**)NULL
319 #define AVOID_BOOL_TEST_CT  0
320 #define AVOID_BOOL_RE_CT    0
321 #define aAvoid_BoolTests   (tTestDesc*)NULL
322
323 /*
324  *  Fix Command Arguments for Avoid_Bool
325  */
326 const char* apzAvoid_BoolPatch[] = { "sed",
327     "-e", "/^#[ \t]*define[ \t][ \t]*bool[ \t][ \t]*char[ \t]*$/i\\\n\
328 #ifndef __cplusplus\n",
329     "-e", "/^#[ \t]*define[ \t][ \t]*bool[ \t][ \t]*char[ \t]*$/a\\\n\
330 #endif\n",
331     "-e", "/^typedef[ \t][ \t]*char[ \t][ \t]*bool[ \t]*;/i\\\n\
332 #ifndef __cplusplus\n",
333     "-e", "/^typedef[ \t][ \t]*char[ \t][ \t]*bool[ \t]*;/a\\\n\
334 #endif\n",
335     "-e", "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/i\\\n\
336 #ifndef __cplusplus\n",
337     "-e", "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/a\\\n\
338 #endif\n",
339     "-e", "/^typedef[ \t][ \t]*int[ \t][ \t]*bool[ \t]*;/i\\\n\
340 #ifndef __cplusplus\n",
341     "-e", "/^typedef[ \t][ \t]*int[ \t][ \t]*bool[ \t]*;/a\\\n\
342 #endif\n",
343     "-e", "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/i\\\n\
344 #ifndef __cplusplus\n",
345     "-e", "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/a\\\n\
346 #endif\n",
347     (char*)NULL };
348
349 /* * * * * * * * * * * * * * * * * * * * * * * * * *
350  *
351  *  Description  10 - Bad_Struct_Term fix
352  */
353 tSCC zBad_Struct_TermName[] =
354      "Bad_Struct_Term";
355 /*
356  *  File name selection pattern
357  */
358 tSCC zBad_Struct_TermList[] =
359   "|curses.h|";
360 /*
361  *  Machine/OS name selection pattern
362  */
363 #define apzBad_Struct_TermMachs (const char**)NULL
364
365 /*
366  *  content selection pattern - do fix if pattern found
367  */
368 tSCC zBad_Struct_TermSelect0[] =
369        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
370
371 #define    BAD_STRUCT_TERM_TEST_CT  1
372 #define    BAD_STRUCT_TERM_RE_CT    1
373 tTestDesc aBad_Struct_TermTests[] = {
374   { TT_EGREP,  zBad_Struct_TermSelect0,   (regex_t*)NULL }, };
375
376 /*
377  *  Fix Command Arguments for Bad_Struct_Term
378  */
379 const char* apzBad_Struct_TermPatch[] = { "sed",
380     "-e", "s/^[ \t]*typedef[ \t][ \t]*\\(struct[ \t][ \t]*term[ \t]*;[ \t]*\\)$/\\1/",
381     (char*)NULL };
382
383 /* * * * * * * * * * * * * * * * * * * * * * * * * *
384  *
385  *  Description  11 - Badquote fix
386  */
387 tSCC zBadquoteName[] =
388      "Badquote";
389 /*
390  *  File name selection pattern
391  */
392 tSCC zBadquoteList[] =
393   "|sundev/vuid_event.h|";
394 /*
395  *  Machine/OS name selection pattern
396  */
397 #define apzBadquoteMachs (const char**)NULL
398 #define BADQUOTE_TEST_CT  0
399 #define BADQUOTE_RE_CT    0
400 #define aBadquoteTests   (tTestDesc*)NULL
401
402 /*
403  *  Fix Command Arguments for Badquote
404  */
405 const char* apzBadquotePatch[] = { "sed",
406     "-e", "s/doesn't/does not/",
407     (char*)NULL };
408
409 /* * * * * * * * * * * * * * * * * * * * * * * * * *
410  *
411  *  Description  12 - Bad_Lval fix
412  */
413 tSCC zBad_LvalName[] =
414      "Bad_Lval";
415 /*
416  *  File name selection pattern
417  */
418 tSCC zBad_LvalList[] =
419   "|libgen.h|dirent.h|ftw.h|grp.h|ndbm.h|pthread.h|pwd.h|signal.h|standards.h|stdlib.h|string.h|stropts.h|time.h|unistd.h|";
420 /*
421  *  Machine/OS name selection pattern
422  */
423 #define apzBad_LvalMachs (const char**)NULL
424
425 /*
426  *  content selection pattern - do fix if pattern found
427  */
428 tSCC zBad_LvalSelect0[] =
429        "^[ \t]*#[ \t]*pragma[ \t]extern_prefix";
430
431 #define    BAD_LVAL_TEST_CT  1
432 #define    BAD_LVAL_RE_CT    1
433 tTestDesc aBad_LvalTests[] = {
434   { TT_EGREP,  zBad_LvalSelect0,   (regex_t*)NULL }, };
435
436 /*
437  *  Fix Command Arguments for Bad_Lval
438  */
439 const char* apzBad_LvalPatch[] = { "sed",
440     "-e", "s/^[ \t]*#[ \t]*define[ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
441     (char*)NULL };
442
443 /* * * * * * * * * * * * * * * * * * * * * * * * * *
444  *
445  *  Description  13 - Broken_Assert_Stdio fix
446  */
447 tSCC zBroken_Assert_StdioName[] =
448      "Broken_Assert_Stdio";
449 /*
450  *  File name selection pattern
451  */
452 tSCC zBroken_Assert_StdioList[] =
453   "|assert.h|";
454 /*
455  *  Machine/OS name selection pattern
456  */
457 #define apzBroken_Assert_StdioMachs (const char**)NULL
458
459 /*
460  *  content selection pattern - do fix if pattern found
461  */
462 tSCC zBroken_Assert_StdioSelect0[] =
463        "stderr";
464
465 /*
466  *  content bypass pattern - skip fix if pattern found
467  */
468 tSCC zBroken_Assert_StdioBypass0[] =
469        "include.*stdio.h";
470
471 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
472 #define    BROKEN_ASSERT_STDIO_RE_CT    2
473 tTestDesc aBroken_Assert_StdioTests[] = {
474   { TT_NEGREP, zBroken_Assert_StdioBypass0,   (regex_t*)NULL },
475   { TT_EGREP,  zBroken_Assert_StdioSelect0,   (regex_t*)NULL }, };
476
477 /*
478  *  Fix Command Arguments for Broken_Assert_Stdio
479  */
480 const char* apzBroken_Assert_StdioPatch[] = { "sed",
481     "-e", "1i\\\n\
482 #include <stdio.h>\n",
483     (char*)NULL };
484
485 /* * * * * * * * * * * * * * * * * * * * * * * * * *
486  *
487  *  Description  14 - Broken_Assert_Stdlib fix
488  */
489 tSCC zBroken_Assert_StdlibName[] =
490      "Broken_Assert_Stdlib";
491 /*
492  *  File name selection pattern
493  */
494 tSCC zBroken_Assert_StdlibList[] =
495   "|assert.h|";
496 /*
497  *  Machine/OS name selection pattern
498  */
499 #define apzBroken_Assert_StdlibMachs (const char**)NULL
500
501 /*
502  *  content selection pattern - do fix if pattern found
503  */
504 tSCC zBroken_Assert_StdlibSelect0[] =
505        "exit *\\(|abort *\\(";
506
507 /*
508  *  content bypass pattern - skip fix if pattern found
509  */
510 tSCC zBroken_Assert_StdlibBypass0[] =
511        "include.*stdlib.h";
512
513 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
514 #define    BROKEN_ASSERT_STDLIB_RE_CT    2
515 tTestDesc aBroken_Assert_StdlibTests[] = {
516   { TT_NEGREP, zBroken_Assert_StdlibBypass0,   (regex_t*)NULL },
517   { TT_EGREP,  zBroken_Assert_StdlibSelect0,   (regex_t*)NULL }, };
518
519 /*
520  *  Fix Command Arguments for Broken_Assert_Stdlib
521  */
522 const char* apzBroken_Assert_StdlibPatch[] = { "sed",
523     "-e", "1i\\\n\
524 #ifdef __cplusplus\\\n\
525 #include <stdlib.h>\\\n\
526 #endif\n",
527     (char*)NULL };
528
529 /* * * * * * * * * * * * * * * * * * * * * * * * * *
530  *
531  *  Description  15 - Bsd43_Io_Macros fix
532  */
533 tSCC zBsd43_Io_MacrosName[] =
534      "Bsd43_Io_Macros";
535 /*
536  *  File name selection pattern
537  */
538 #define zBsd43_Io_MacrosList (char*)NULL
539 /*
540  *  Machine/OS name selection pattern
541  */
542 #define apzBsd43_Io_MacrosMachs (const char**)NULL
543
544 /*
545  *  content selection pattern - do fix if pattern found
546  */
547 tSCC zBsd43_Io_MacrosSelect0[] =
548        "BSD43__IO";
549
550 #define    BSD43_IO_MACROS_TEST_CT  1
551 #define    BSD43_IO_MACROS_RE_CT    1
552 tTestDesc aBsd43_Io_MacrosTests[] = {
553   { TT_EGREP,  zBsd43_Io_MacrosSelect0,   (regex_t*)NULL }, };
554
555 /*
556  *  Fix Command Arguments for Bsd43_Io_Macros
557  */
558 const char* apzBsd43_Io_MacrosPatch[] = { "sed",
559     "-e", "/[ \t]BSD43__IO[A-Z]*[ \t]*(/s/(\\(.\\),/('\\1',/",
560     "-e", "/#[ \t]*define[ \t]*[ \t]BSD43__IO/s/'\\([cgx]\\)'/\\1/g",
561     (char*)NULL };
562
563 /* * * * * * * * * * * * * * * * * * * * * * * * * *
564  *
565  *  Description  16 - Dec_Intern_Asm fix
566  */
567 tSCC zDec_Intern_AsmName[] =
568      "Dec_Intern_Asm";
569 /*
570  *  File name selection pattern
571  */
572 tSCC zDec_Intern_AsmList[] =
573   "|c_asm.h|";
574 /*
575  *  Machine/OS name selection pattern
576  */
577 #define apzDec_Intern_AsmMachs (const char**)NULL
578 #define DEC_INTERN_ASM_TEST_CT  0
579 #define DEC_INTERN_ASM_RE_CT    0
580 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
581
582 /*
583  *  Fix Command Arguments for Dec_Intern_Asm
584  */
585 const char* apzDec_Intern_AsmPatch[] = { "sed",
586     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
587 #ifdef __DECC\n",
588     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
589 #endif\n",
590     (char*)NULL };
591
592 /* * * * * * * * * * * * * * * * * * * * * * * * * *
593  *
594  *  Description  17 - No_Double_Slash fix
595  */
596 tSCC zNo_Double_SlashName[] =
597      "No_Double_Slash";
598 /*
599  *  File name selection pattern
600  */
601 #define zNo_Double_SlashList (char*)NULL
602 /*
603  *  Machine/OS name selection pattern
604  */
605 #define apzNo_Double_SlashMachs (const char**)NULL
606
607 /*
608  *  content selection pattern - do fix if pattern found
609  */
610 tSCC zNo_Double_SlashSelect0[] =
611        "(^|[^:])//[^\"*]";
612
613 /*
614  *  perform the 'test' shell command - do fix on success
615  */
616 tSCC zNo_Double_SlashTest0[] =
617        "-z `echo ${file} | egrep '(CC|cxx|\\+\\+)/' `";
618
619 #define    NO_DOUBLE_SLASH_TEST_CT  2
620 #define    NO_DOUBLE_SLASH_RE_CT    1
621 tTestDesc aNo_Double_SlashTests[] = {
622   { TT_TEST,   zNo_Double_SlashTest0,     0 /* unused */ },
623   { TT_EGREP,  zNo_Double_SlashSelect0,   (regex_t*)NULL }, };
624
625 /*
626  *  Fix Command Arguments for No_Double_Slash
627  */
628 const char* apzNo_Double_SlashPatch[] = { "sed",
629     "-e", "s,^//.*$,,",
630     "-e", "s,[^:]//[^\"].*$,,",
631     (char*)NULL };
632
633 /* * * * * * * * * * * * * * * * * * * * * * * * * *
634  *
635  *  Description  18 - Ecd_Cursor fix
636  */
637 tSCC zEcd_CursorName[] =
638      "Ecd_Cursor";
639 /*
640  *  File name selection pattern
641  */
642 tSCC zEcd_CursorList[] =
643   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
644 /*
645  *  Machine/OS name selection pattern
646  */
647 #define apzEcd_CursorMachs (const char**)NULL
648 #define ECD_CURSOR_TEST_CT  0
649 #define ECD_CURSOR_RE_CT    0
650 #define aEcd_CursorTests   (tTestDesc*)NULL
651
652 /*
653  *  Fix Command Arguments for Ecd_Cursor
654  */
655 const char* apzEcd_CursorPatch[] = { "sed",
656     "-e", "s/ecd.cursor/ecd_cursor/",
657     (char*)NULL };
658
659 /* * * * * * * * * * * * * * * * * * * * * * * * * *
660  *
661  *  Description  19 - Sco5_Stat_Wrappers fix
662  */
663 tSCC zSco5_Stat_WrappersName[] =
664      "Sco5_Stat_Wrappers";
665 /*
666  *  File name selection pattern
667  */
668 tSCC zSco5_Stat_WrappersList[] =
669   "|sys/stat.h|";
670 /*
671  *  Machine/OS name selection pattern
672  */
673 tSCC* apzSco5_Stat_WrappersMachs[] = {
674         "i*86-*-sco3.2v5*",
675         (const char*)NULL };
676 #define SCO5_STAT_WRAPPERS_TEST_CT  0
677 #define SCO5_STAT_WRAPPERS_RE_CT    0
678 #define aSco5_Stat_WrappersTests   (tTestDesc*)NULL
679
680 /*
681  *  Fix Command Arguments for Sco5_Stat_Wrappers
682  */
683 const char* apzSco5_Stat_WrappersPatch[] = { "sed",
684     "-e", "/^static int[ \t]*[a-z]*stat(/i\\\n\
685 #ifdef __cplusplus\\\n\
686 extern \"C\"\\\n\
687 {\\\n\
688 #endif\\\n",
689     "-e", "/^}$/a\\\n\
690 #ifdef __cplusplus\\\n\
691 }\\\n\
692 #endif /* __cplusplus */\\\n",
693     (char*)NULL };
694
695 /* * * * * * * * * * * * * * * * * * * * * * * * * *
696  *
697  *  Description  20 - Else_Label fix
698  */
699 tSCC zElse_LabelName[] =
700      "Else_Label";
701 /*
702  *  File name selection pattern
703  */
704 #define zElse_LabelList (char*)NULL
705 /*
706  *  Machine/OS name selection pattern
707  */
708 #define apzElse_LabelMachs (const char**)NULL
709
710 /*
711  *  content selection pattern - do fix if pattern found
712  */
713 tSCC zElse_LabelSelect0[] =
714        "^[ \t]*#[ \t]*else[ \t]+[!-.0-~]";
715
716 #define    ELSE_LABEL_TEST_CT  1
717 #define    ELSE_LABEL_RE_CT    1
718 tTestDesc aElse_LabelTests[] = {
719   { TT_EGREP,  zElse_LabelSelect0,   (regex_t*)NULL }, };
720
721 /*
722  *  Fix Command Arguments for Else_Label
723  */
724 const char* apzElse_LabelPatch[] = { "sed",
725     "-e", ":loop\n\
726 /\\\\$/N\n\
727 s/\\\\$/\\\\+++fixinc_eol+++/\n\
728 /\\\\$/b loop\n\
729 s/\\\\+++fixinc_eol+++/\\\\/g\n\
730 s%^\\([ \t]*#[ \t]*else\\)[ \t]*/[^*].*%\\1%\n\
731 s%^\\([ \t]*#[ \t]*else\\)[ \t]*[^/ \t].*%\\1%",
732     (char*)NULL };
733
734 /* * * * * * * * * * * * * * * * * * * * * * * * * *
735  *
736  *  Description  21 - Endif_Label fix
737  */
738 tSCC zEndif_LabelName[] =
739      "Endif_Label";
740 /*
741  *  File name selection pattern
742  */
743 #define zEndif_LabelList (char*)NULL
744 /*
745  *  Machine/OS name selection pattern
746  */
747 #define apzEndif_LabelMachs (const char**)NULL
748
749 /*
750  *  content selection pattern - do fix if pattern found
751  */
752 tSCC zEndif_LabelSelect0[] =
753        "^[ \t]*#[ \t]*endif[ \t]+[!-.0-z{|}~]";
754
755 #define    ENDIF_LABEL_TEST_CT  1
756 #define    ENDIF_LABEL_RE_CT    1
757 tTestDesc aEndif_LabelTests[] = {
758   { TT_EGREP,  zEndif_LabelSelect0,   (regex_t*)NULL }, };
759
760 /*
761  *  Fix Command Arguments for Endif_Label
762  */
763 const char* apzEndif_LabelPatch[] = { "sed",
764     "-e", ":loop\n\
765 /\\\\$/N\n\
766 s/\\\\$/\\\\+++fixinc_eol+++/\n\
767 /\\\\$/b loop\n\
768 s/\\\\+++fixinc_eol+++/\\\\/g\n\
769 s%^\\([ \t]*#[ \t]*endif\\)[ \t]*/[^*].*%\\1%\n\
770 s%^\\([ \t]*#[ \t]*endif\\)[ \t]*\\*[^/].*%\\1%\n\
771 s%^\\([ \t]*#[ \t]*endif\\)[ \t]*[^/* \t].*%\\1%",
772     (char*)NULL };
773
774 /* * * * * * * * * * * * * * * * * * * * * * * * * *
775  *
776  *  Description  22 - Hp_Inline fix
777  */
778 tSCC zHp_InlineName[] =
779      "Hp_Inline";
780 /*
781  *  File name selection pattern
782  */
783 tSCC zHp_InlineList[] =
784   "|sys/spinlock.h|";
785 /*
786  *  Machine/OS name selection pattern
787  */
788 #define apzHp_InlineMachs (const char**)NULL
789
790 /*
791  *  content selection pattern - do fix if pattern found
792  */
793 tSCC zHp_InlineSelect0[] =
794        "include.*\"\\.\\./machine/";
795
796 #define    HP_INLINE_TEST_CT  1
797 #define    HP_INLINE_RE_CT    1
798 tTestDesc aHp_InlineTests[] = {
799   { TT_EGREP,  zHp_InlineSelect0,   (regex_t*)NULL }, };
800
801 /*
802  *  Fix Command Arguments for Hp_Inline
803  */
804 const char* apzHp_InlinePatch[] = { "sed",
805     "-e", "s,\"../machine/inline.h\",<machine/inline.h>,",
806     "-e", "s,\"../machine/psl.h\",<machine/psl.h>,",
807     (char*)NULL };
808
809 /* * * * * * * * * * * * * * * * * * * * * * * * * *
810  *
811  *  Description  23 - Hp_Sysfile fix
812  */
813 tSCC zHp_SysfileName[] =
814      "Hp_Sysfile";
815 /*
816  *  File name selection pattern
817  */
818 tSCC zHp_SysfileList[] =
819   "|sys/file.h|";
820 /*
821  *  Machine/OS name selection pattern
822  */
823 #define apzHp_SysfileMachs (const char**)NULL
824
825 /*
826  *  content selection pattern - do fix if pattern found
827  */
828 tSCC zHp_SysfileSelect0[] =
829        "HPUX_SOURCE";
830
831 #define    HP_SYSFILE_TEST_CT  1
832 #define    HP_SYSFILE_RE_CT    1
833 tTestDesc aHp_SysfileTests[] = {
834   { TT_EGREP,  zHp_SysfileSelect0,   (regex_t*)NULL }, };
835
836 /*
837  *  Fix Command Arguments for Hp_Sysfile
838  */
839 const char* apzHp_SysfilePatch[] = { "sed",
840     "-e", "s/(\\.\\.\\.)/(struct file * ...)/",
841     (char*)NULL };
842
843 /* * * * * * * * * * * * * * * * * * * * * * * * * *
844  *
845  *  Description  24 - Cxx_Unready fix
846  */
847 tSCC zCxx_UnreadyName[] =
848      "Cxx_Unready";
849 /*
850  *  File name selection pattern
851  */
852 tSCC zCxx_UnreadyList[] =
853   "|sys/mman.h|rpc/types.h|";
854 /*
855  *  Machine/OS name selection pattern
856  */
857 #define apzCxx_UnreadyMachs (const char**)NULL
858
859 /*
860  *  content bypass pattern - skip fix if pattern found
861  */
862 tSCC zCxx_UnreadyBypass0[] =
863        "\"C\"|__BEGIN_DECLS";
864
865 #define    CXX_UNREADY_TEST_CT  1
866 #define    CXX_UNREADY_RE_CT    1
867 tTestDesc aCxx_UnreadyTests[] = {
868   { TT_NEGREP, zCxx_UnreadyBypass0,   (regex_t*)NULL }, };
869
870 /*
871  *  Fix Command Arguments for Cxx_Unready
872  */
873 const char* apzCxx_UnreadyPatch[] = { "sed",
874     "-e", "1i\\\n\
875 #ifdef __cplusplus\\\n\
876 extern \"C\" {\\\n\
877 #endif\\\n\
878 \n",
879     "-e", "$a\\\n\
880 #ifdef __cplusplus\\\n\
881 }\\\n\
882 #endif\n",
883     (char*)NULL };
884
885 /* * * * * * * * * * * * * * * * * * * * * * * * * *
886  *
887  *  Description  25 - Hpux_Maxint fix
888  */
889 tSCC zHpux_MaxintName[] =
890      "Hpux_Maxint";
891 /*
892  *  File name selection pattern
893  */
894 tSCC zHpux_MaxintList[] =
895   "|sys/param.h|";
896 /*
897  *  Machine/OS name selection pattern
898  */
899 #define apzHpux_MaxintMachs (const char**)NULL
900 #define HPUX_MAXINT_TEST_CT  0
901 #define HPUX_MAXINT_RE_CT    0
902 #define aHpux_MaxintTests   (tTestDesc*)NULL
903
904 /*
905  *  Fix Command Arguments for Hpux_Maxint
906  */
907 const char* apzHpux_MaxintPatch[] = { "sed",
908     "-e", "/^#[ \t]*define[ \t]*MAXINT[ \t]/i\\\n\
909 #ifndef MAXINT\n",
910     "-e", "/^#[ \t]*define[ \t]*MAXINT[ \t]/a\\\n\
911 #endif\n",
912     (char*)NULL };
913
914 /* * * * * * * * * * * * * * * * * * * * * * * * * *
915  *
916  *  Description  26 - Hpux_Systime fix
917  */
918 tSCC zHpux_SystimeName[] =
919      "Hpux_Systime";
920 /*
921  *  File name selection pattern
922  */
923 tSCC zHpux_SystimeList[] =
924   "|sys/time.h|";
925 /*
926  *  Machine/OS name selection pattern
927  */
928 #define apzHpux_SystimeMachs (const char**)NULL
929
930 /*
931  *  content selection pattern - do fix if pattern found
932  */
933 tSCC zHpux_SystimeSelect0[] =
934        "^extern struct sigevent;";
935
936 #define    HPUX_SYSTIME_TEST_CT  1
937 #define    HPUX_SYSTIME_RE_CT    1
938 tTestDesc aHpux_SystimeTests[] = {
939   { TT_EGREP,  zHpux_SystimeSelect0,   (regex_t*)NULL }, };
940
941 /*
942  *  Fix Command Arguments for Hpux_Systime
943  */
944 const char* apzHpux_SystimePatch[] = { "sed",
945     "-e", "s/^extern struct sigevent;/struct sigevent;/",
946     (char*)NULL };
947
948 /* * * * * * * * * * * * * * * * * * * * * * * * * *
949  *
950  *  Description  27 - Interactv_Add1 fix
951  */
952 tSCC zInteractv_Add1Name[] =
953      "Interactv_Add1";
954 /*
955  *  File name selection pattern
956  */
957 tSCC zInteractv_Add1List[] =
958   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
959 /*
960  *  Machine/OS name selection pattern
961  */
962 #define apzInteractv_Add1Machs (const char**)NULL
963
964 /*
965  *  perform the 'test' shell command - do fix on success
966  */
967 tSCC zInteractv_Add1Test0[] =
968        " -d /etc/conf/kconfig.d";
969 tSCC zInteractv_Add1Test1[] =
970        " -n \"`grep _POSIX_VERSION /usr/include/sys/unistd.h`\"";
971
972 #define    INTERACTV_ADD1_TEST_CT  2
973 #define    INTERACTV_ADD1_RE_CT    0
974 tTestDesc aInteractv_Add1Tests[] = {
975   { TT_TEST,   zInteractv_Add1Test0,     0 /* unused */ },
976   { TT_TEST,   zInteractv_Add1Test1,     0 /* unused */ }, };
977
978 /*
979  *  Fix Command Arguments for Interactv_Add1
980  */
981 const char* apzInteractv_Add1Patch[] = { "sed",
982     "-e", "s/!defined(__STDC__) && !defined(_POSIX_SOURCE)/!defined(_POSIX_SOURCE)/",
983     (char*)NULL };
984
985 /* * * * * * * * * * * * * * * * * * * * * * * * * *
986  *
987  *  Description  28 - Interactv_Add2 fix
988  */
989 tSCC zInteractv_Add2Name[] =
990      "Interactv_Add2";
991 /*
992  *  File name selection pattern
993  */
994 tSCC zInteractv_Add2List[] =
995   "|math.h|";
996 /*
997  *  Machine/OS name selection pattern
998  */
999 #define apzInteractv_Add2Machs (const char**)NULL
1000
1001 /*
1002  *  perform the 'test' shell command - do fix on success
1003  */
1004 tSCC zInteractv_Add2Test0[] =
1005        " -d /etc/conf/kconfig.d";
1006 tSCC zInteractv_Add2Test1[] =
1007        " -n \"`grep _POSIX_VERSION /usr/include/sys/unistd.h`\"";
1008
1009 #define    INTERACTV_ADD2_TEST_CT  2
1010 #define    INTERACTV_ADD2_RE_CT    0
1011 tTestDesc aInteractv_Add2Tests[] = {
1012   { TT_TEST,   zInteractv_Add2Test0,     0 /* unused */ },
1013   { TT_TEST,   zInteractv_Add2Test1,     0 /* unused */ }, };
1014
1015 /*
1016  *  Fix Command Arguments for Interactv_Add2
1017  */
1018 const char* apzInteractv_Add2Patch[] = { "sed",
1019     "-e", "s/fmod(double)/fmod(double, double)/",
1020     (char*)NULL };
1021
1022 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1023  *
1024  *  Description  29 - Interactv_Add3 fix
1025  */
1026 tSCC zInteractv_Add3Name[] =
1027      "Interactv_Add3";
1028 /*
1029  *  File name selection pattern
1030  */
1031 tSCC zInteractv_Add3List[] =
1032   "|sys/limits.h|";
1033 /*
1034  *  Machine/OS name selection pattern
1035  */
1036 #define apzInteractv_Add3Machs (const char**)NULL
1037
1038 /*
1039  *  perform the 'test' shell command - do fix on success
1040  */
1041 tSCC zInteractv_Add3Test0[] =
1042        " -d /etc/conf/kconfig.d";
1043 tSCC zInteractv_Add3Test1[] =
1044        " -n \"`grep _POSIX_VERSION /usr/include/sys/unistd.h`\"";
1045
1046 #define    INTERACTV_ADD3_TEST_CT  2
1047 #define    INTERACTV_ADD3_RE_CT    0
1048 tTestDesc aInteractv_Add3Tests[] = {
1049   { TT_TEST,   zInteractv_Add3Test0,     0 /* unused */ },
1050   { TT_TEST,   zInteractv_Add3Test1,     0 /* unused */ }, };
1051
1052 /*
1053  *  Fix Command Arguments for Interactv_Add3
1054  */
1055 const char* apzInteractv_Add3Patch[] = { "sed",
1056     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
1057     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
1058     (char*)NULL };
1059
1060 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1061  *
1062  *  Description  30 - Io_Def_Quotes fix
1063  */
1064 tSCC zIo_Def_QuotesName[] =
1065      "Io_Def_Quotes";
1066 /*
1067  *  File name selection pattern
1068  */
1069 #define zIo_Def_QuotesList (char*)NULL
1070 /*
1071  *  Machine/OS name selection pattern
1072  */
1073 #define apzIo_Def_QuotesMachs (const char**)NULL
1074
1075 /*
1076  *  content selection pattern - do fix if pattern found
1077  */
1078 tSCC zIo_Def_QuotesSelect0[] =
1079        "[ \t]*[ \t](_|DES)IO[A-Z]*[ \t]*\\( *[^,']";
1080
1081 #define    IO_DEF_QUOTES_TEST_CT  1
1082 #define    IO_DEF_QUOTES_RE_CT    1
1083 tTestDesc aIo_Def_QuotesTests[] = {
1084   { TT_EGREP,  zIo_Def_QuotesSelect0,   (regex_t*)NULL }, };
1085
1086 /*
1087  *  Fix Command Arguments for Io_Def_Quotes
1088  */
1089 const char* apzIo_Def_QuotesPatch[] = { "sed",
1090     "-e", "s/\\([ \t]*[ \t]_IO[A-Z]*[ \t]*(\\)\\([^,']\\),/\\1'\\2',/",
1091     "-e", "s/\\([ \t]*[ \t]DESIO[A-Z]*[ \t]*(\\)\\([^,']\\),/\\1'\\2',/",
1092     "-e", "/#[ \t]*define[ \t]*[ \t]_IO/s/'\\([cgxtf]\\)'/\\1/g",
1093     "-e", "/#[ \t]*define[ \t]*[ \t]DESIOC/s/'\\([cdgx]\\)'/\\1/g",
1094     (char*)NULL };
1095
1096 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1097  *
1098  *  Description  31 - Ioctl_Fix_Ctrl fix
1099  */
1100 tSCC zIoctl_Fix_CtrlName[] =
1101      "Ioctl_Fix_Ctrl";
1102 /*
1103  *  File name selection pattern
1104  */
1105 #define zIoctl_Fix_CtrlList (char*)NULL
1106 /*
1107  *  Machine/OS name selection pattern
1108  */
1109 #define apzIoctl_Fix_CtrlMachs (const char**)NULL
1110
1111 /*
1112  *  content selection pattern - do fix if pattern found
1113  */
1114 tSCC zIoctl_Fix_CtrlSelect0[] =
1115        "CTRL[ \t]";
1116
1117 #define    IOCTL_FIX_CTRL_TEST_CT  1
1118 #define    IOCTL_FIX_CTRL_RE_CT    1
1119 tTestDesc aIoctl_Fix_CtrlTests[] = {
1120   { TT_EGREP,  zIoctl_Fix_CtrlSelect0,   (regex_t*)NULL }, };
1121
1122 /*
1123  *  Fix Command Arguments for Ioctl_Fix_Ctrl
1124  */
1125 const char* apzIoctl_Fix_CtrlPatch[] = { "sed",
1126     "-e", "/[^A-Z0-9_]CTRL[ \t]*(/s/\\([^']\\))/'\\1')/",
1127     "-e", "/[^A-Z0-9]_CTRL[ \t]*(/s/\\([^']\\))/'\\1')/",
1128     "-e", "/#[ \t]*define[ \t]*[ \t]CTRL/s/'\\([cgx]\\)'/\\1/g",
1129     "-e", "/#[ \t]*define[ \t]*[ \t]_CTRL/s/'\\([cgx]\\)'/\\1/g",
1130     "-e", "/#[ \t]*define[ \t]*[ \t]BSD43_CTRL/s/'\\([cgx]\\)'/\\1/g",
1131     (char*)NULL };
1132
1133 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1134  *
1135  *  Description  32 - Ip_Missing_Semi fix
1136  */
1137 tSCC zIp_Missing_SemiName[] =
1138      "Ip_Missing_Semi";
1139 /*
1140  *  File name selection pattern
1141  */
1142 tSCC zIp_Missing_SemiList[] =
1143   "|netinet/ip.h|";
1144 /*
1145  *  Machine/OS name selection pattern
1146  */
1147 #define apzIp_Missing_SemiMachs (const char**)NULL
1148 #define IP_MISSING_SEMI_TEST_CT  0
1149 #define IP_MISSING_SEMI_RE_CT    0
1150 #define aIp_Missing_SemiTests   (tTestDesc*)NULL
1151
1152 /*
1153  *  Fix Command Arguments for Ip_Missing_Semi
1154  */
1155 const char* apzIp_Missing_SemiPatch[] = { "sed",
1156     "-e", "/^struct/,/^};/s/}$/};/",
1157     (char*)NULL };
1158
1159 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1160  *
1161  *  Description  33 - Irix_Multiline_Cmnt fix
1162  */
1163 tSCC zIrix_Multiline_CmntName[] =
1164      "Irix_Multiline_Cmnt";
1165 /*
1166  *  File name selection pattern
1167  */
1168 tSCC zIrix_Multiline_CmntList[] =
1169   "|sys/types.h|";
1170 /*
1171  *  Machine/OS name selection pattern
1172  */
1173 #define apzIrix_Multiline_CmntMachs (const char**)NULL
1174 #define IRIX_MULTILINE_CMNT_TEST_CT  0
1175 #define IRIX_MULTILINE_CMNT_RE_CT    0
1176 #define aIrix_Multiline_CmntTests   (tTestDesc*)NULL
1177
1178 /*
1179  *  Fix Command Arguments for Irix_Multiline_Cmnt
1180  */
1181 const char* apzIrix_Multiline_CmntPatch[] = { "sed",
1182     "-e", "s@type of the result@type of the result */@",
1183     "-e", "s@of the sizeof@/* of the sizeof@",
1184     (char*)NULL };
1185
1186 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1187  *
1188  *  Description  34 - Irix_Sockaddr fix
1189  */
1190 tSCC zIrix_SockaddrName[] =
1191      "Irix_Sockaddr";
1192 /*
1193  *  File name selection pattern
1194  */
1195 tSCC zIrix_SockaddrList[] =
1196   "|rpc/auth.h|";
1197 /*
1198  *  Machine/OS name selection pattern
1199  */
1200 #define apzIrix_SockaddrMachs (const char**)NULL
1201
1202 /*
1203  *  content selection pattern - do fix if pattern found
1204  */
1205 tSCC zIrix_SockaddrSelect0[] =
1206        "authdes_create.*struct sockaddr";
1207
1208 #define    IRIX_SOCKADDR_TEST_CT  1
1209 #define    IRIX_SOCKADDR_RE_CT    1
1210 tTestDesc aIrix_SockaddrTests[] = {
1211   { TT_EGREP,  zIrix_SockaddrSelect0,   (regex_t*)NULL }, };
1212
1213 /*
1214  *  Fix Command Arguments for Irix_Sockaddr
1215  */
1216 const char* apzIrix_SockaddrPatch[] = { "sed",
1217     "-e", "/authdes_create.*struct sockaddr/i\\\n\
1218 struct sockaddr;\n",
1219     (char*)NULL };
1220
1221 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1222  *
1223  *  Description  35 - Irix_Struct__File fix
1224  */
1225 tSCC zIrix_Struct__FileName[] =
1226      "Irix_Struct__File";
1227 /*
1228  *  File name selection pattern
1229  */
1230 tSCC zIrix_Struct__FileList[] =
1231   "|rpc/xdr.h|";
1232 /*
1233  *  Machine/OS name selection pattern
1234  */
1235 #define apzIrix_Struct__FileMachs (const char**)NULL
1236 #define IRIX_STRUCT__FILE_TEST_CT  0
1237 #define IRIX_STRUCT__FILE_RE_CT    0
1238 #define aIrix_Struct__FileTests   (tTestDesc*)NULL
1239
1240 /*
1241  *  Fix Command Arguments for Irix_Struct__File
1242  */
1243 const char* apzIrix_Struct__FilePatch[] = { "sed",
1244     "-e", "/xdrstdio_create.*struct __file_s/i\\\n\
1245 struct __file_s;\n",
1246     (char*)NULL };
1247
1248 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1249  *
1250  *  Description  36 - Isc_Fmod fix
1251  */
1252 tSCC zIsc_FmodName[] =
1253      "Isc_Fmod";
1254 /*
1255  *  File name selection pattern
1256  */
1257 tSCC zIsc_FmodList[] =
1258   "|math.h|";
1259 /*
1260  *  Machine/OS name selection pattern
1261  */
1262 #define apzIsc_FmodMachs (const char**)NULL
1263
1264 /*
1265  *  content selection pattern - do fix if pattern found
1266  */
1267 tSCC zIsc_FmodSelect0[] =
1268        "fmod\\(double\\)";
1269
1270 #define    ISC_FMOD_TEST_CT  1
1271 #define    ISC_FMOD_RE_CT    1
1272 tTestDesc aIsc_FmodTests[] = {
1273   { TT_EGREP,  zIsc_FmodSelect0,   (regex_t*)NULL }, };
1274
1275 /*
1276  *  Fix Command Arguments for Isc_Fmod
1277  */
1278 const char* apzIsc_FmodPatch[] = { "sed",
1279     "-e", "s/fmod(double)/fmod(double, double)/",
1280     (char*)NULL };
1281
1282 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1283  *
1284  *  Description  37 - Motorola_Nested fix
1285  */
1286 tSCC zMotorola_NestedName[] =
1287      "Motorola_Nested";
1288 /*
1289  *  File name selection pattern
1290  */
1291 tSCC zMotorola_NestedList[] =
1292   "|limits.h|sys/limits.h|";
1293 /*
1294  *  Machine/OS name selection pattern
1295  */
1296 tSCC* apzMotorola_NestedMachs[] = {
1297         "m68k-motorola-sysv*",
1298         (const char*)NULL };
1299 #define MOTOROLA_NESTED_TEST_CT  0
1300 #define MOTOROLA_NESTED_RE_CT    0
1301 #define aMotorola_NestedTests   (tTestDesc*)NULL
1302
1303 /*
1304  *  Fix Command Arguments for Motorola_Nested
1305  */
1306 const char* apzMotorola_NestedPatch[] = { "sed",
1307     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
1308     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.40282346638528860e+38 \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
1309     (char*)NULL };
1310
1311 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1312  *
1313  *  Description  38 - Isc_Sys_Limits fix
1314  */
1315 tSCC zIsc_Sys_LimitsName[] =
1316      "Isc_Sys_Limits";
1317 /*
1318  *  File name selection pattern
1319  */
1320 tSCC zIsc_Sys_LimitsList[] =
1321   "|sys/limits.h|";
1322 /*
1323  *  Machine/OS name selection pattern
1324  */
1325 #define apzIsc_Sys_LimitsMachs (const char**)NULL
1326
1327 /*
1328  *  content selection pattern - do fix if pattern found
1329  */
1330 tSCC zIsc_Sys_LimitsSelect0[] =
1331        "CHILD_MAX";
1332
1333 #define    ISC_SYS_LIMITS_TEST_CT  1
1334 #define    ISC_SYS_LIMITS_RE_CT    1
1335 tTestDesc aIsc_Sys_LimitsTests[] = {
1336   { TT_EGREP,  zIsc_Sys_LimitsSelect0,   (regex_t*)NULL }, };
1337
1338 /*
1339  *  Fix Command Arguments for Isc_Sys_Limits
1340  */
1341 const char* apzIsc_Sys_LimitsPatch[] = { "sed",
1342     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
1343     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
1344     (char*)NULL };
1345
1346 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1347  *
1348  *  Description  39 - Kandr_Concat fix
1349  */
1350 tSCC zKandr_ConcatName[] =
1351      "Kandr_Concat";
1352 /*
1353  *  File name selection pattern
1354  */
1355 tSCC zKandr_ConcatList[] =
1356   "|sparc/asm_linkage.h|sun3/asm_linkage.h|sun3x/asm_linkage.h|sun4/asm_linkage.h|sun4c/asm_linkage.h|sun4m/asm_linkage.h|sun4c/debug/asm_linkage.h|sun4m/debug/asm_linkage.h|arm/as_support.h|arm/mc_type.h|arm/xcb.h|dev/chardefmac.h|dev/ps_irq.h|dev/screen.h|dev/scsi.h|sys/tty.h|Xm.acorn/XmP.h|bsd43/bsd43_.h|";
1357 /*
1358  *  Machine/OS name selection pattern
1359  */
1360 #define apzKandr_ConcatMachs (const char**)NULL
1361
1362 /*
1363  *  content selection pattern - do fix if pattern found
1364  */
1365 tSCC zKandr_ConcatSelect0[] =
1366        "/\\*\\*/";
1367
1368 #define    KANDR_CONCAT_TEST_CT  1
1369 #define    KANDR_CONCAT_RE_CT    1
1370 tTestDesc aKandr_ConcatTests[] = {
1371   { TT_EGREP,  zKandr_ConcatSelect0,   (regex_t*)NULL }, };
1372
1373 /*
1374  *  Fix Command Arguments for Kandr_Concat
1375  */
1376 const char* apzKandr_ConcatPatch[] = { "sed",
1377     "-e", "s|/\\*\\*/|##|g",
1378     (char*)NULL };
1379
1380 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1381  *
1382  *  Description  40 - Limits_Ifndefs fix
1383  */
1384 tSCC zLimits_IfndefsName[] =
1385      "Limits_Ifndefs";
1386 /*
1387  *  File name selection pattern
1388  */
1389 tSCC zLimits_IfndefsList[] =
1390   "|limits.h|sys/limits.h|";
1391 /*
1392  *  Machine/OS name selection pattern
1393  */
1394 #define apzLimits_IfndefsMachs (const char**)NULL
1395
1396 /*
1397  *  content bypass pattern - skip fix if pattern found
1398  */
1399 tSCC zLimits_IfndefsBypass0[] =
1400        "ifndef[ \t]+FLT_MIN";
1401
1402 #define    LIMITS_IFNDEFS_TEST_CT  1
1403 #define    LIMITS_IFNDEFS_RE_CT    1
1404 tTestDesc aLimits_IfndefsTests[] = {
1405   { TT_NEGREP, zLimits_IfndefsBypass0,   (regex_t*)NULL }, };
1406
1407 /*
1408  *  Fix Command Arguments for Limits_Ifndefs
1409  */
1410 const char* apzLimits_IfndefsPatch[] = { "sed",
1411     "-e", "/[ \t]FLT_MIN[ \t]/i\\\n\
1412 #ifndef FLT_MIN\n",
1413     "-e", "/[ \t]FLT_MIN[ \t]/a\\\n\
1414 #endif\n",
1415     "-e", "/[ \t]FLT_MAX[ \t]/i\\\n\
1416 #ifndef FLT_MAX\n",
1417     "-e", "/[ \t]FLT_MAX[ \t]/a\\\n\
1418 #endif\n",
1419     "-e", "/[ \t]FLT_DIG[ \t]/i\\\n\
1420 #ifndef FLT_DIG\n",
1421     "-e", "/[ \t]FLT_DIG[ \t]/a\\\n\
1422 #endif\n",
1423     "-e", "/[ \t]DBL_MIN[ \t]/i\\\n\
1424 #ifndef DBL_MIN\n",
1425     "-e", "/[ \t]DBL_MIN[ \t]/a\\\n\
1426 #endif\n",
1427     "-e", "/[ \t]DBL_MAX[ \t]/i\\\n\
1428 #ifndef DBL_MAX\n",
1429     "-e", "/[ \t]DBL_MAX[ \t]/a\\\n\
1430 #endif\n",
1431     "-e", "/[ \t]DBL_DIG[ \t]/i\\\n\
1432 #ifndef DBL_DIG\n",
1433     "-e", "/[ \t]DBL_DIG[ \t]/a\\\n\
1434 #endif\n",
1435     "-e", "/^\\(\\/\\*#define\tHUGE_VAL\t3\\.[0-9e+]* *\\)\\/\\*/s//\\1/",
1436     (char*)NULL };
1437
1438 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1439  *
1440  *  Description  41 - Lynx_Void_Int fix
1441  */
1442 tSCC zLynx_Void_IntName[] =
1443      "Lynx_Void_Int";
1444 /*
1445  *  File name selection pattern
1446  */
1447 tSCC zLynx_Void_IntList[] =
1448   "|curses.h|";
1449 /*
1450  *  Machine/OS name selection pattern
1451  */
1452 #define apzLynx_Void_IntMachs (const char**)NULL
1453
1454 /*
1455  *  content selection pattern - do fix if pattern found
1456  */
1457 tSCC zLynx_Void_IntSelect0[] =
1458        "#[ \t]*define[ \t]+void[ \t]+int";
1459
1460 #define    LYNX_VOID_INT_TEST_CT  1
1461 #define    LYNX_VOID_INT_RE_CT    1
1462 tTestDesc aLynx_Void_IntTests[] = {
1463   { TT_EGREP,  zLynx_Void_IntSelect0,   (regex_t*)NULL }, };
1464
1465 /*
1466  *  Fix Command Arguments for Lynx_Void_Int
1467  */
1468 const char* apzLynx_Void_IntPatch[] = { "sed",
1469     "-e", "/#[ \t]*define[ \t][ \t]*void[ \t]int/d",
1470     (char*)NULL };
1471
1472 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1473  *
1474  *  Description  42 - Lynxos_Fcntl_Proto fix
1475  */
1476 tSCC zLynxos_Fcntl_ProtoName[] =
1477      "Lynxos_Fcntl_Proto";
1478 /*
1479  *  File name selection pattern
1480  */
1481 tSCC zLynxos_Fcntl_ProtoList[] =
1482   "|fcntl.h|";
1483 /*
1484  *  Machine/OS name selection pattern
1485  */
1486 #define apzLynxos_Fcntl_ProtoMachs (const char**)NULL
1487
1488 /*
1489  *  content selection pattern - do fix if pattern found
1490  */
1491 tSCC zLynxos_Fcntl_ProtoSelect0[] =
1492        "fcntl.*\\(int, int, int\\)";
1493
1494 #define    LYNXOS_FCNTL_PROTO_TEST_CT  1
1495 #define    LYNXOS_FCNTL_PROTO_RE_CT    1
1496 tTestDesc aLynxos_Fcntl_ProtoTests[] = {
1497   { TT_EGREP,  zLynxos_Fcntl_ProtoSelect0,   (regex_t*)NULL }, };
1498
1499 /*
1500  *  Fix Command Arguments for Lynxos_Fcntl_Proto
1501  */
1502 const char* apzLynxos_Fcntl_ProtoPatch[] = { "sed",
1503     "-e", "s/\\(fcntl.*(int, int, \\)int)/\\1...)/",
1504     (char*)NULL };
1505
1506 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1507  *
1508  *  Description  43 - M88k_Bad_Hypot_Opt fix
1509  */
1510 tSCC zM88k_Bad_Hypot_OptName[] =
1511      "M88k_Bad_Hypot_Opt";
1512 /*
1513  *  File name selection pattern
1514  */
1515 tSCC zM88k_Bad_Hypot_OptList[] =
1516   "|math.h|";
1517 /*
1518  *  Machine/OS name selection pattern
1519  */
1520 tSCC* apzM88k_Bad_Hypot_OptMachs[] = {
1521         "m88k-motorola-sysv3*",
1522         (const char*)NULL };
1523 #define M88K_BAD_HYPOT_OPT_TEST_CT  0
1524 #define M88K_BAD_HYPOT_OPT_RE_CT    0
1525 #define aM88k_Bad_Hypot_OptTests   (tTestDesc*)NULL
1526
1527 /*
1528  *  Fix Command Arguments for M88k_Bad_Hypot_Opt
1529  */
1530 const char* apzM88k_Bad_Hypot_OptPatch[] = { "sed",
1531     "-e", "s/extern double floor(), ceil(), fmod(), fabs();/extern double floor(), ceil(), fmod(), fabs _PARAMS((double));/",
1532     "-e", "/^extern double hypot();$/a\\\n\
1533 \\/* Workaround a stupid Motorola optimization if one\\\n\
1534    of x or y is 0.0 and the other is negative!  *\\/\\\n\
1535 #ifdef __STDC__\\\n\
1536 static __inline__ double fake_hypot (double x, double y)\\\n\
1537 #else\\\n\
1538 static __inline__ double fake_hypot (x, y)\\\n\
1539 \tdouble x, y;\\\n\
1540 #endif\\\n\
1541 {\\\n\
1542 \treturn fabs (hypot (x, y));\\\n\
1543 }\\\n\
1544 #define hypot\tfake_hypot\n",
1545     (char*)NULL };
1546
1547 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1548  *
1549  *  Description  44 - M88k_Bad_S_If fix
1550  */
1551 tSCC zM88k_Bad_S_IfName[] =
1552      "M88k_Bad_S_If";
1553 /*
1554  *  File name selection pattern
1555  */
1556 tSCC zM88k_Bad_S_IfList[] =
1557   "|sys/stat.h|";
1558 /*
1559  *  Machine/OS name selection pattern
1560  */
1561 tSCC* apzM88k_Bad_S_IfMachs[] = {
1562         "m88k-*-sysv3*",
1563         (const char*)NULL };
1564
1565 /*
1566  *  content selection pattern - do fix if pattern found
1567  */
1568 tSCC zM88k_Bad_S_IfSelect0[] =
1569        "#define[ \t]+S_IS[A-Z]*(m)[ \t]";
1570
1571 #define    M88K_BAD_S_IF_TEST_CT  1
1572 #define    M88K_BAD_S_IF_RE_CT    1
1573 tTestDesc aM88k_Bad_S_IfTests[] = {
1574   { TT_EGREP,  zM88k_Bad_S_IfSelect0,   (regex_t*)NULL }, };
1575
1576 /*
1577  *  Fix Command Arguments for M88k_Bad_S_If
1578  */
1579 const char* apzM88k_Bad_S_IfPatch[] = { "sed",
1580     "-e", "s/^\\(#define[ \t]*S_IS[A-Z]*(m)\\)[ \t]*(m[ \t]*&[ \t]*\\(S_IF[A-Z][A-Z][A-Z][A-Z]*\\)[ \t]*)/\\1 (((m)\\&S_IFMT)==\\2)/",
1581     "-e", "s/^\\(#define[ \t]*S_IS[A-Z]*(m)\\)[ \t]*(m[ \t]*&[ \t]*\\(0[0-9]*\\)[ \t]*)/\\1 (((m)\\&S_IFMT)==\\2)/",
1582     (char*)NULL };
1583
1584 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1585  *
1586  *  Description  45 - M88k_Multi_Incl fix
1587  */
1588 tSCC zM88k_Multi_InclName[] =
1589      "M88k_Multi_Incl";
1590 /*
1591  *  File name selection pattern
1592  */
1593 tSCC zM88k_Multi_InclList[] =
1594   "|time.h|";
1595 /*
1596  *  Machine/OS name selection pattern
1597  */
1598 tSCC* apzM88k_Multi_InclMachs[] = {
1599         "m88k-tektronix-sysv3*",
1600         (const char*)NULL };
1601
1602 /*
1603  *  content bypass pattern - skip fix if pattern found
1604  */
1605 tSCC zM88k_Multi_InclBypass0[] =
1606        "#ifndef";
1607
1608 #define    M88K_MULTI_INCL_TEST_CT  1
1609 #define    M88K_MULTI_INCL_RE_CT    1
1610 tTestDesc aM88k_Multi_InclTests[] = {
1611   { TT_NEGREP, zM88k_Multi_InclBypass0,   (regex_t*)NULL }, };
1612
1613 /*
1614  *  Fix Command Arguments for M88k_Multi_Incl
1615  */
1616 const char* apzM88k_Multi_InclPatch[] = { "sh", "-c",
1617     "echo Fixing $file, to protect against multiple inclusion. >&2\n\
1618       cpp_wrapper=`echo $file | sed -e 's,\\.,_,g' -e 's,/,_,g'`\n\
1619       echo \"#ifndef __GCC_GOT_${cpp_wrapper}_\"\n\
1620       echo \"#define __GCC_GOT_${cpp_wrapper}_\"\n\
1621       cat\n\
1622       echo \"#endif /* ! __GCC_GOT_${cpp_wrapper}_ */\"",
1623     (char*)NULL };
1624
1625 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1626  *
1627  *  Description  46 - Machine_Name fix
1628  */
1629 tSCC zMachine_NameName[] =
1630      "Machine_Name";
1631 /*
1632  *  File name selection pattern
1633  */
1634 #define zMachine_NameList (char*)NULL
1635 /*
1636  *  Machine/OS name selection pattern
1637  */
1638 #define apzMachine_NameMachs (const char**)NULL
1639
1640 /*
1641  *  content selection pattern - do fix if pattern found
1642  *  This is a special pattern that not all egrep commands
1643  *  are capable of coping with.  We use the GNU library, tho :)
1644  */
1645 tSCC zMachine_NameSelect0[] =
1646        "^#[ \t]*(if|elif).*[^a-zA-Z0-9_](M32|_*MIPSE[LB]|_*SYSTYPE_[A-Z0-9]|_*[Rr][34]000|_*host_mips|_*i386|_*mips|bsd4|is68k|m[68]8k|mc680|news|ns32000|pdp11|pyr|sel|sony_news|sparc|sun|tahoe|tower|u370|u3b|unix|vax)";
1647
1648 #define    MACHINE_NAME_TEST_CT  1
1649 #define    MACHINE_NAME_RE_CT    1
1650 tTestDesc aMachine_NameTests[] = {
1651   { TT_EGREP,  zMachine_NameSelect0,   (regex_t*)NULL }, };
1652
1653 /*
1654  *  Fix Command Arguments for Machine_Name
1655  */
1656 const char* apzMachine_NamePatch[] = { "sed",
1657     "-e", ":loop\n\
1658 /\\\\$/N\n\
1659 s/\\\\$/\\\\+++fixinc_eol+++/\n\
1660 /\\\\$/b loop\n\
1661 s/\\\\+++fixinc_eol+++/\\\\/g\n\
1662 /#[\t ]*[el]*if/ {\n\
1663 \ts/[a-zA-Z0-9_][a-zA-Z0-9_]*/ & /g\n\
1664 \ts/ M32 / __M32__ /g\n\
1665 \ts/ _*MIPSE\\([LB]\\) / __MIPSE\\1__ /g\n\
1666 \ts/ _*SYSTYPE_\\([A-Z0-9]*\\) / __SYSTYPE_\\1__ /g\n\
1667 \ts/ _*\\([Rr][34]\\)000 / __\\1000__ /g\n\
1668 \ts/ _*host_mips / __host_mips__ /g\n\
1669 \ts/ _*i386 / __i386__ /g\n\
1670 \ts/ _*mips / __mips__ /g\n\
1671 \ts/ bsd4\\([0-9]\\) / __bsd4\\1__ /g\n\
1672 \ts/ is68k / __is68k__ /g\n\
1673 \ts/ m68k / __m68k__ /g\n\
1674 \ts/ m88k / __m88k__ /g\n\
1675 \ts/ mc680\\([0-9]\\)0 / __mc680\\10__ /g\n\
1676 \ts/ news\\([0-9]*\\) / __news\\1__ /g\n\
1677 \ts/ ns32000 / __ns32000__ /g\n\
1678 \ts/ pdp11 / __pdp11__ /g\n\
1679 \ts/ pyr / __pyr__ /g\n\
1680 \ts/ sel / __sel__ /g\n\
1681 \ts/ sony_news / __sony_news__ /g\n\
1682 \ts/ sparc / __sparc__ /g\n\
1683 \ts/ sun\\([a-z0-9]*\\) / __sun\\1__ /g\n\
1684 \ts/ tahoe / __tahoe__ /g\n\
1685 \ts/ tower\\([_0-9]*\\) / __tower\\1__ /g\n\
1686 \ts/ u370 / __u370__ /g\n\
1687 \ts/ u3b\\([0-9]*\\) / __u3b\\1__ /g\n\
1688 \ts/ unix / __unix__ /g\n\
1689 \ts/ vax / __vax__ /g\n\
1690 \ts/ \\([a-zA-Z0-9_][a-zA-Z0-9_]*\\) /\\1/g\n\
1691 \t}",
1692     (char*)NULL };
1693
1694 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1695  *
1696  *  Description  47 - Math_Exception fix
1697  */
1698 tSCC zMath_ExceptionName[] =
1699      "Math_Exception";
1700 /*
1701  *  File name selection pattern
1702  */
1703 tSCC zMath_ExceptionList[] =
1704   "|math.h|";
1705 /*
1706  *  Machine/OS name selection pattern
1707  */
1708 #define apzMath_ExceptionMachs (const char**)NULL
1709
1710 /*
1711  *  content selection pattern - do fix if pattern found
1712  */
1713 tSCC zMath_ExceptionSelect0[] =
1714        "struct exception";
1715
1716 #define    MATH_EXCEPTION_TEST_CT  1
1717 #define    MATH_EXCEPTION_RE_CT    1
1718 tTestDesc aMath_ExceptionTests[] = {
1719   { TT_EGREP,  zMath_ExceptionSelect0,   (regex_t*)NULL }, };
1720
1721 /*
1722  *  Fix Command Arguments for Math_Exception
1723  */
1724 const char* apzMath_ExceptionPatch[] = { "sed",
1725     "-e", "/struct exception/i\\\n\
1726 #ifdef __cplusplus\\\n\
1727 #define exception __math_exception\\\n\
1728 #endif\n",
1729     "-e", "/struct exception/a\\\n\
1730 #ifdef __cplusplus\\\n\
1731 #undef exception\\\n\
1732 #endif\n",
1733     "-e", "/matherr/i\\\n\
1734 #ifdef __cplusplus\\\n\
1735 #define exception __math_exception\\\n\
1736 #endif\n",
1737     "-e", "/matherr/a\\\n\
1738 #ifdef __cplusplus\\\n\
1739 #undef exception\\\n\
1740 #endif\n",
1741     (char*)NULL };
1742
1743 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1744  *
1745  *  Description  48 - Math_Gcc_Ifndefs fix
1746  */
1747 tSCC zMath_Gcc_IfndefsName[] =
1748      "Math_Gcc_Ifndefs";
1749 /*
1750  *  File name selection pattern
1751  */
1752 tSCC zMath_Gcc_IfndefsList[] =
1753   "|math.h|";
1754 /*
1755  *  Machine/OS name selection pattern
1756  */
1757 #define apzMath_Gcc_IfndefsMachs (const char**)NULL
1758 #define MATH_GCC_IFNDEFS_TEST_CT  0
1759 #define MATH_GCC_IFNDEFS_RE_CT    0
1760 #define aMath_Gcc_IfndefsTests   (tTestDesc*)NULL
1761
1762 /*
1763  *  Fix Command Arguments for Math_Gcc_Ifndefs
1764  */
1765 const char* apzMath_Gcc_IfndefsPatch[] = { "sh", "-c",
1766     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h 2>/dev/null`\n\
1767 \n\
1768 \tif ( test -n \"${dbl_max_def}\" \\\n\
1769 \t\t-a -n \"`egrep '#define[ \t]*HUGE_VAL[ \t]+DBL_MAX' $file`\" \\\n\
1770 \t\t-a -z \"`egrep '#define[ \t]+DBL_MAX[ \t]+' $file`\"\n\
1771 \t   ) > /dev/null 2>&1\n\
1772 \tthen sed -e '/define[ \t]HUGE_VAL[ \t]DBL_MAX/s/DBL_MAX/$dbl_max_def/'\n\
1773 \telse cat ; fi |\n\
1774 \tsed -e '/define[ \t]HUGE_VAL[ \t]/i\\\n\
1775 #ifndef HUGE_VAL\n\
1776 ' -e '/define[ \t]HUGE_VAL[ \t]/a\\\n\
1777 #endif\n\
1778 '",
1779     (char*)NULL };
1780
1781 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1782  *
1783  *  Description  49 - Nested_Comment fix
1784  */
1785 tSCC zNested_CommentName[] =
1786      "Nested_Comment";
1787 /*
1788  *  File name selection pattern
1789  */
1790 tSCC zNested_CommentList[] =
1791   "|rpc/rpc.h|";
1792 /*
1793  *  Machine/OS name selection pattern
1794  */
1795 #define apzNested_CommentMachs (const char**)NULL
1796 #define NESTED_COMMENT_TEST_CT  0
1797 #define NESTED_COMMENT_RE_CT    0
1798 #define aNested_CommentTests   (tTestDesc*)NULL
1799
1800 /*
1801  *  Fix Command Arguments for Nested_Comment
1802  */
1803 const char* apzNested_CommentPatch[] = { "sed",
1804     "-e", "s@^\\(/\\*.*rpc/auth_des.h>.*\\)/\\*@\\1*/ /*@",
1805     (char*)NULL };
1806
1807 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1808  *
1809  *  Description  50 - News_Os_Recursion fix
1810  */
1811 tSCC zNews_Os_RecursionName[] =
1812      "News_Os_Recursion";
1813 /*
1814  *  File name selection pattern
1815  */
1816 tSCC zNews_Os_RecursionList[] =
1817   "|stdlib.h|";
1818 /*
1819  *  Machine/OS name selection pattern
1820  */
1821 #define apzNews_Os_RecursionMachs (const char**)NULL
1822
1823 /*
1824  *  content selection pattern - do fix if pattern found
1825  */
1826 tSCC zNews_Os_RecursionSelect0[] =
1827        "#include <stdlib.h>";
1828
1829 #define    NEWS_OS_RECURSION_TEST_CT  1
1830 #define    NEWS_OS_RECURSION_RE_CT    1
1831 tTestDesc aNews_Os_RecursionTests[] = {
1832   { TT_EGREP,  zNews_Os_RecursionSelect0,   (regex_t*)NULL }, };
1833
1834 /*
1835  *  Fix Command Arguments for News_Os_Recursion
1836  */
1837 const char* apzNews_Os_RecursionPatch[] = { "sed",
1838     "-e", "/^#include <stdlib.h>/i\\\n\
1839 #ifdef BOGUS_RECURSION\n",
1840     "-e", "/^#include <stdlib.h>/a\\\n\
1841 #endif\n",
1842     (char*)NULL };
1843
1844 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1845  *
1846  *  Description  51 - Next_Math_Prefix fix
1847  */
1848 tSCC zNext_Math_PrefixName[] =
1849      "Next_Math_Prefix";
1850 /*
1851  *  File name selection pattern
1852  */
1853 tSCC zNext_Math_PrefixList[] =
1854   "|ansi/math.h|";
1855 /*
1856  *  Machine/OS name selection pattern
1857  */
1858 #define apzNext_Math_PrefixMachs (const char**)NULL
1859
1860 /*
1861  *  content selection pattern - do fix if pattern found
1862  */
1863 tSCC zNext_Math_PrefixSelect0[] =
1864        "^extern.*double.*__const__.*";
1865
1866 #define    NEXT_MATH_PREFIX_TEST_CT  1
1867 #define    NEXT_MATH_PREFIX_RE_CT    1
1868 tTestDesc aNext_Math_PrefixTests[] = {
1869   { TT_EGREP,  zNext_Math_PrefixSelect0,   (regex_t*)NULL }, };
1870
1871 /*
1872  *  Fix Command Arguments for Next_Math_Prefix
1873  */
1874 const char* apzNext_Math_PrefixPatch[] = { "sed",
1875     "-e", "/^extern.*double.*__const__.*sqrt(/s/__const__//",
1876     "-e", "/^extern.*double.*__const__.*fabs(/s/__const__//",
1877     "-e", "/^extern.*double.*__const__.*cos(/s/__const__//",
1878     "-e", "/^extern.*double.*__const__.*hypot(/s/__const__//",
1879     "-e", "/^extern.*double.*__const__.*sin(/s/__const__//",
1880     (char*)NULL };
1881
1882 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1883  *
1884  *  Description  52 - Next_Template fix
1885  */
1886 tSCC zNext_TemplateName[] =
1887      "Next_Template";
1888 /*
1889  *  File name selection pattern
1890  */
1891 tSCC zNext_TemplateList[] =
1892   "|bsd/libc.h|";
1893 /*
1894  *  Machine/OS name selection pattern
1895  */
1896 #define apzNext_TemplateMachs (const char**)NULL
1897
1898 /*
1899  *  content selection pattern - do fix if pattern found
1900  */
1901 tSCC zNext_TemplateSelect0[] =
1902        "template";
1903
1904 #define    NEXT_TEMPLATE_TEST_CT  1
1905 #define    NEXT_TEMPLATE_RE_CT    1
1906 tTestDesc aNext_TemplateTests[] = {
1907   { TT_EGREP,  zNext_TemplateSelect0,   (regex_t*)NULL }, };
1908
1909 /*
1910  *  Fix Command Arguments for Next_Template
1911  */
1912 const char* apzNext_TemplatePatch[] = { "sed",
1913     "-e", "/\\(.*template\\)/s/template//",
1914     "-e", "/extern.*volatile.*void.*abort/s/volatile//",
1915     (char*)NULL };
1916
1917 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1918  *
1919  *  Description  53 - Next_Volitile fix
1920  */
1921 tSCC zNext_VolitileName[] =
1922      "Next_Volitile";
1923 /*
1924  *  File name selection pattern
1925  */
1926 tSCC zNext_VolitileList[] =
1927   "|ansi/stdlib.h|";
1928 /*
1929  *  Machine/OS name selection pattern
1930  */
1931 #define apzNext_VolitileMachs (const char**)NULL
1932
1933 /*
1934  *  content selection pattern - do fix if pattern found
1935  */
1936 tSCC zNext_VolitileSelect0[] =
1937        "volatile";
1938
1939 #define    NEXT_VOLITILE_TEST_CT  1
1940 #define    NEXT_VOLITILE_RE_CT    1
1941 tTestDesc aNext_VolitileTests[] = {
1942   { TT_EGREP,  zNext_VolitileSelect0,   (regex_t*)NULL }, };
1943
1944 /*
1945  *  Fix Command Arguments for Next_Volitile
1946  */
1947 const char* apzNext_VolitilePatch[] = { "sed",
1948     "-e", "/extern.*volatile.*void.*exit/s/volatile//",
1949     "-e", "/extern.*volatile.*void.*abort/s/volatile//",
1950     (char*)NULL };
1951
1952 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1953  *
1954  *  Description  54 - Next_Wait_Union fix
1955  */
1956 tSCC zNext_Wait_UnionName[] =
1957      "Next_Wait_Union";
1958 /*
1959  *  File name selection pattern
1960  */
1961 tSCC zNext_Wait_UnionList[] =
1962   "|sys/wait.h|";
1963 /*
1964  *  Machine/OS name selection pattern
1965  */
1966 #define apzNext_Wait_UnionMachs (const char**)NULL
1967
1968 /*
1969  *  content selection pattern - do fix if pattern found
1970  */
1971 tSCC zNext_Wait_UnionSelect0[] =
1972        "wait\\(union wait";
1973
1974 #define    NEXT_WAIT_UNION_TEST_CT  1
1975 #define    NEXT_WAIT_UNION_RE_CT    1
1976 tTestDesc aNext_Wait_UnionTests[] = {
1977   { TT_EGREP,  zNext_Wait_UnionSelect0,   (regex_t*)NULL }, };
1978
1979 /*
1980  *  Fix Command Arguments for Next_Wait_Union
1981  */
1982 const char* apzNext_Wait_UnionPatch[] = { "sed",
1983     "-e", "s@wait(union wait@wait(void@",
1984     (char*)NULL };
1985
1986 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1987  *
1988  *  Description  55 - Nodeent_Syntax fix
1989  */
1990 tSCC zNodeent_SyntaxName[] =
1991      "Nodeent_Syntax";
1992 /*
1993  *  File name selection pattern
1994  */
1995 tSCC zNodeent_SyntaxList[] =
1996   "|netdnet/dnetdb.h|";
1997 /*
1998  *  Machine/OS name selection pattern
1999  */
2000 #define apzNodeent_SyntaxMachs (const char**)NULL
2001 #define NODEENT_SYNTAX_TEST_CT  0
2002 #define NODEENT_SYNTAX_RE_CT    0
2003 #define aNodeent_SyntaxTests   (tTestDesc*)NULL
2004
2005 /*
2006  *  Fix Command Arguments for Nodeent_Syntax
2007  */
2008 const char* apzNodeent_SyntaxPatch[] = { "sed",
2009     "-e", "s/char.*na_addr *$/char *na_addr;/",
2010     (char*)NULL };
2011
2012 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2013  *
2014  *  Description  56 - Osf_Namespace_A fix
2015  */
2016 tSCC zOsf_Namespace_AName[] =
2017      "Osf_Namespace_A";
2018 /*
2019  *  File name selection pattern
2020  */
2021 tSCC zOsf_Namespace_AList[] =
2022   "|reg_types.h|sys/lc_core.h|";
2023 /*
2024  *  Machine/OS name selection pattern
2025  */
2026 #define apzOsf_Namespace_AMachs (const char**)NULL
2027
2028 /*
2029  *  perform the 'test' shell command - do fix on success
2030  */
2031 tSCC zOsf_Namespace_ATest0[] =
2032        " -r reg_types.h";
2033 tSCC zOsf_Namespace_ATest1[] =
2034        " -r sys/lc_core.h";
2035 tSCC zOsf_Namespace_ATest2[] =
2036        " -n \"`grep '} regex_t;' reg_types.h`\"";
2037 tSCC zOsf_Namespace_ATest3[] =
2038        " -z \"`grep __regex_t regex.h`\"";
2039
2040 #define    OSF_NAMESPACE_A_TEST_CT  4
2041 #define    OSF_NAMESPACE_A_RE_CT    0
2042 tTestDesc aOsf_Namespace_ATests[] = {
2043   { TT_TEST,   zOsf_Namespace_ATest0,     0 /* unused */ },
2044   { TT_TEST,   zOsf_Namespace_ATest1,     0 /* unused */ },
2045   { TT_TEST,   zOsf_Namespace_ATest2,     0 /* unused */ },
2046   { TT_TEST,   zOsf_Namespace_ATest3,     0 /* unused */ }, };
2047
2048 /*
2049  *  Fix Command Arguments for Osf_Namespace_A
2050  */
2051 const char* apzOsf_Namespace_APatch[] = { "sed",
2052     "-e", "s/regex_t/__regex_t/g",
2053     "-e", "s/regoff_t/__regoff_t/g",
2054     "-e", "s/regmatch_t/__regmatch_t/g",
2055     (char*)NULL };
2056
2057 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2058  *
2059  *  Description  57 - Osf_Namespace_B fix
2060  */
2061 tSCC zOsf_Namespace_BName[] =
2062      "Osf_Namespace_B";
2063 /*
2064  *  File name selection pattern
2065  */
2066 tSCC zOsf_Namespace_BList[] =
2067   "|regex.h|";
2068 /*
2069  *  Machine/OS name selection pattern
2070  */
2071 #define apzOsf_Namespace_BMachs (const char**)NULL
2072
2073 /*
2074  *  perform the 'test' shell command - do fix on success
2075  */
2076 tSCC zOsf_Namespace_BTest0[] =
2077        " -r reg_types.h";
2078 tSCC zOsf_Namespace_BTest1[] =
2079        " -r sys/lc_core.h";
2080 tSCC zOsf_Namespace_BTest2[] =
2081        " -n \"`grep '} regex_t;' reg_types.h`\"";
2082 tSCC zOsf_Namespace_BTest3[] =
2083        " -z \"`grep __regex_t regex.h`\"";
2084
2085 #define    OSF_NAMESPACE_B_TEST_CT  4
2086 #define    OSF_NAMESPACE_B_RE_CT    0
2087 tTestDesc aOsf_Namespace_BTests[] = {
2088   { TT_TEST,   zOsf_Namespace_BTest0,     0 /* unused */ },
2089   { TT_TEST,   zOsf_Namespace_BTest1,     0 /* unused */ },
2090   { TT_TEST,   zOsf_Namespace_BTest2,     0 /* unused */ },
2091   { TT_TEST,   zOsf_Namespace_BTest3,     0 /* unused */ }, };
2092
2093 /*
2094  *  Fix Command Arguments for Osf_Namespace_B
2095  */
2096 const char* apzOsf_Namespace_BPatch[] = { "sed",
2097     "-e", "/#include <reg_types.h>/a\\\n\
2098 typedef __regex_t\tregex_t;\\\n\
2099 typedef __regoff_t\tregoff_t;\\\n\
2100 typedef __regmatch_t\tregmatch_t;\n",
2101     (char*)NULL };
2102
2103 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2104  *
2105  *  Description  58 - Pthread_Page_Size fix
2106  */
2107 tSCC zPthread_Page_SizeName[] =
2108      "Pthread_Page_Size";
2109 /*
2110  *  File name selection pattern
2111  */
2112 tSCC zPthread_Page_SizeList[] =
2113   "|pthread.h|";
2114 /*
2115  *  Machine/OS name selection pattern
2116  */
2117 #define apzPthread_Page_SizeMachs (const char**)NULL
2118
2119 /*
2120  *  content selection pattern - do fix if pattern found
2121  */
2122 tSCC zPthread_Page_SizeSelect0[] =
2123        "^int __page_size";
2124
2125 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
2126 #define    PTHREAD_PAGE_SIZE_RE_CT    1
2127 tTestDesc aPthread_Page_SizeTests[] = {
2128   { TT_EGREP,  zPthread_Page_SizeSelect0,   (regex_t*)NULL }, };
2129
2130 /*
2131  *  Fix Command Arguments for Pthread_Page_Size
2132  */
2133 const char* apzPthread_Page_SizePatch[] = { "sed",
2134     "-e", "s/^int __page_size/extern int __page_size/",
2135     (char*)NULL };
2136
2137 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2138  *
2139  *  Description  59 - Rs6000_Double fix
2140  */
2141 tSCC zRs6000_DoubleName[] =
2142      "Rs6000_Double";
2143 /*
2144  *  File name selection pattern
2145  */
2146 tSCC zRs6000_DoubleList[] =
2147   "|math.h|";
2148 /*
2149  *  Machine/OS name selection pattern
2150  */
2151 #define apzRs6000_DoubleMachs (const char**)NULL
2152
2153 /*
2154  *  content selection pattern - do fix if pattern found
2155  */
2156 tSCC zRs6000_DoubleSelect0[] =
2157        "[^a-zA-Z_]class\\(";
2158
2159 #define    RS6000_DOUBLE_TEST_CT  1
2160 #define    RS6000_DOUBLE_RE_CT    1
2161 tTestDesc aRs6000_DoubleTests[] = {
2162   { TT_EGREP,  zRs6000_DoubleSelect0,   (regex_t*)NULL }, };
2163
2164 /*
2165  *  Fix Command Arguments for Rs6000_Double
2166  */
2167 const char* apzRs6000_DoublePatch[] = { "sed",
2168     "-e", "/class[(]/i\\\n\
2169 #ifndef __cplusplus\n",
2170     "-e", "/class[(]/a\\\n\
2171 #endif\n",
2172     (char*)NULL };
2173
2174 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2175  *
2176  *  Description  60 - Rs6000_Fchmod fix
2177  */
2178 tSCC zRs6000_FchmodName[] =
2179      "Rs6000_Fchmod";
2180 /*
2181  *  File name selection pattern
2182  */
2183 tSCC zRs6000_FchmodList[] =
2184   "|sys/stat.h|";
2185 /*
2186  *  Machine/OS name selection pattern
2187  */
2188 #define apzRs6000_FchmodMachs (const char**)NULL
2189
2190 /*
2191  *  content selection pattern - do fix if pattern found
2192  */
2193 tSCC zRs6000_FchmodSelect0[] =
2194        "fchmod\\(char";
2195
2196 #define    RS6000_FCHMOD_TEST_CT  1
2197 #define    RS6000_FCHMOD_RE_CT    1
2198 tTestDesc aRs6000_FchmodTests[] = {
2199   { TT_EGREP,  zRs6000_FchmodSelect0,   (regex_t*)NULL }, };
2200
2201 /*
2202  *  Fix Command Arguments for Rs6000_Fchmod
2203  */
2204 const char* apzRs6000_FchmodPatch[] = { "sed",
2205     "-e", "s/fchmod(char \\*/fchmod(int/",
2206     (char*)NULL };
2207
2208 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2209  *
2210  *  Description  61 - Rs6000_Param fix
2211  */
2212 tSCC zRs6000_ParamName[] =
2213      "Rs6000_Param";
2214 /*
2215  *  File name selection pattern
2216  */
2217 tSCC zRs6000_ParamList[] =
2218   "|stdio.h|unistd.h|";
2219 /*
2220  *  Machine/OS name selection pattern
2221  */
2222 #define apzRs6000_ParamMachs (const char**)NULL
2223 #define RS6000_PARAM_TEST_CT  0
2224 #define RS6000_PARAM_RE_CT    0
2225 #define aRs6000_ParamTests   (tTestDesc*)NULL
2226
2227 /*
2228  *  Fix Command Arguments for Rs6000_Param
2229  */
2230 const char* apzRs6000_ParamPatch[] = { "sed",
2231     "-e", "s@rename(const char \\*old, const char \\*new)@rename(const char *_old, const char *_new)@",
2232     (char*)NULL };
2233
2234 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2235  *
2236  *  Description  62 - Sony_Include fix
2237  */
2238 tSCC zSony_IncludeName[] =
2239      "Sony_Include";
2240 /*
2241  *  File name selection pattern
2242  */
2243 tSCC zSony_IncludeList[] =
2244   "|machine/machparam.h|";
2245 /*
2246  *  Machine/OS name selection pattern
2247  */
2248 #define apzSony_IncludeMachs (const char**)NULL
2249
2250 /*
2251  *  content selection pattern - do fix if pattern found
2252  */
2253 tSCC zSony_IncludeSelect0[] =
2254        "\"\\.\\./machine/endian.h\"";
2255
2256 #define    SONY_INCLUDE_TEST_CT  1
2257 #define    SONY_INCLUDE_RE_CT    1
2258 tTestDesc aSony_IncludeTests[] = {
2259   { TT_EGREP,  zSony_IncludeSelect0,   (regex_t*)NULL }, };
2260
2261 /*
2262  *  Fix Command Arguments for Sony_Include
2263  */
2264 const char* apzSony_IncludePatch[] = { "sed",
2265     "-e", "s@\"../machine/endian.h\"@<machine/endian.h>@",
2266     (char*)NULL };
2267
2268 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2269  *
2270  *  Description  63 - Statsswtch fix
2271  */
2272 tSCC zStatsswtchName[] =
2273      "Statsswtch";
2274 /*
2275  *  File name selection pattern
2276  */
2277 tSCC zStatsswtchList[] =
2278   "|rpcsvc/rstat.h|";
2279 /*
2280  *  Machine/OS name selection pattern
2281  */
2282 #define apzStatsswtchMachs (const char**)NULL
2283
2284 /*
2285  *  content selection pattern - do fix if pattern found
2286  */
2287 tSCC zStatsswtchSelect0[] =
2288        "boottime$";
2289
2290 #define    STATSSWTCH_TEST_CT  1
2291 #define    STATSSWTCH_RE_CT    1
2292 tTestDesc aStatsswtchTests[] = {
2293   { TT_EGREP,  zStatsswtchSelect0,   (regex_t*)NULL }, };
2294
2295 /*
2296  *  Fix Command Arguments for Statsswtch
2297  */
2298 const char* apzStatsswtchPatch[] = { "sed",
2299     "-e", "s/boottime$/boottime;/",
2300     (char*)NULL };
2301
2302 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2303  *
2304  *  Description  64 - Stdio_Va_List fix
2305  */
2306 tSCC zStdio_Va_ListName[] =
2307      "Stdio_Va_List";
2308 /*
2309  *  File name selection pattern
2310  */
2311 tSCC zStdio_Va_ListList[] =
2312   "|stdio.h|";
2313 /*
2314  *  Machine/OS name selection pattern
2315  */
2316 #define apzStdio_Va_ListMachs (const char**)NULL
2317 #define STDIO_VA_LIST_TEST_CT  0
2318 #define STDIO_VA_LIST_RE_CT    0
2319 #define aStdio_Va_ListTests   (tTestDesc*)NULL
2320
2321 /*
2322  *  Fix Command Arguments for Stdio_Va_List
2323  */
2324 const char* apzStdio_Va_ListPatch[] = { "sh", "-c",
2325     "if ( egrep \"__need___va_list\" $file ) > /dev/null 2>&1 ; then\n\
2326     :\n\
2327   else\n\
2328     echo \"#define __need___va_list\"\n\
2329     echo \"#include <stdarg.h>\"\n\
2330   fi\n\
2331 \n\
2332   sed -e 's@ va_list @ __gnuc_va_list @' \\\n\
2333       -e 's@ va_list)@ __gnuc_va_list)@' \\\n\
2334       -e 's@ _BSD_VA_LIST_));@ __gnuc_va_list));@' \\\n\
2335       -e 's@ _VA_LIST_));@ __gnuc_va_list));@' \\\n\
2336       -e 's@ va_list@ __va_list__@' \\\n\
2337       -e 's@\\*va_list@*__va_list__@' \\\n\
2338       -e 's@ __va_list)@ __gnuc_va_list)@' \\\n\
2339       -e 's@GNUC_VA_LIST@GNUC_Va_LIST@' \\\n\
2340       -e 's@_NEED___VA_LIST@_NEED___Va_LIST@' \\\n\
2341       -e 's@VA_LIST@DUMMY_VA_LIST@' \\\n\
2342       -e 's@_Va_LIST@_VA_LIST@'",
2343     (char*)NULL };
2344
2345 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2346  *
2347  *  Description  65 - Sun_Bogus_Ifdef fix
2348  */
2349 tSCC zSun_Bogus_IfdefName[] =
2350      "Sun_Bogus_Ifdef";
2351 /*
2352  *  File name selection pattern
2353  */
2354 tSCC zSun_Bogus_IfdefList[] =
2355   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
2356 /*
2357  *  Machine/OS name selection pattern
2358  */
2359 #define apzSun_Bogus_IfdefMachs (const char**)NULL
2360
2361 /*
2362  *  content selection pattern - do fix if pattern found
2363  */
2364 tSCC zSun_Bogus_IfdefSelect0[] =
2365        "#ifdef __i386__ || __vax__";
2366
2367 #define    SUN_BOGUS_IFDEF_TEST_CT  1
2368 #define    SUN_BOGUS_IFDEF_RE_CT    1
2369 tTestDesc aSun_Bogus_IfdefTests[] = {
2370   { TT_EGREP,  zSun_Bogus_IfdefSelect0,   (regex_t*)NULL }, };
2371
2372 /*
2373  *  Fix Command Arguments for Sun_Bogus_Ifdef
2374  */
2375 const char* apzSun_Bogus_IfdefPatch[] = { "sed",
2376     "-e", "s/\\#ifdef __i386__ || __vax__/\\#if __i386__ || __vax__/g",
2377     (char*)NULL };
2378
2379 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2380  *
2381  *  Description  66 - Sun_Bogus_Ifdef_Sun4c fix
2382  */
2383 tSCC zSun_Bogus_Ifdef_Sun4cName[] =
2384      "Sun_Bogus_Ifdef_Sun4c";
2385 /*
2386  *  File name selection pattern
2387  */
2388 tSCC zSun_Bogus_Ifdef_Sun4cList[] =
2389   "|hsfs/hsnode.h|";
2390 /*
2391  *  Machine/OS name selection pattern
2392  */
2393 #define apzSun_Bogus_Ifdef_Sun4cMachs (const char**)NULL
2394
2395 /*
2396  *  content selection pattern - do fix if pattern found
2397  */
2398 tSCC zSun_Bogus_Ifdef_Sun4cSelect0[] =
2399        "#ifdef __i386__ || __sun4c__";
2400
2401 #define    SUN_BOGUS_IFDEF_SUN4C_TEST_CT  1
2402 #define    SUN_BOGUS_IFDEF_SUN4C_RE_CT    1
2403 tTestDesc aSun_Bogus_Ifdef_Sun4cTests[] = {
2404   { TT_EGREP,  zSun_Bogus_Ifdef_Sun4cSelect0,   (regex_t*)NULL }, };
2405
2406 /*
2407  *  Fix Command Arguments for Sun_Bogus_Ifdef_Sun4c
2408  */
2409 const char* apzSun_Bogus_Ifdef_Sun4cPatch[] = { "sed",
2410     "-e", "s/\\#ifdef __i386__ || __sun4c__/\\#if __i386__ || __sun4c__/g",
2411     (char*)NULL };
2412
2413 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2414  *
2415  *  Description  67 - Sun_Catmacro fix
2416  */
2417 tSCC zSun_CatmacroName[] =
2418      "Sun_Catmacro";
2419 /*
2420  *  File name selection pattern
2421  */
2422 tSCC zSun_CatmacroList[] =
2423   "|pixrect/memvar.h|";
2424 /*
2425  *  Machine/OS name selection pattern
2426  */
2427 #define apzSun_CatmacroMachs (const char**)NULL
2428
2429 /*
2430  *  content selection pattern - do fix if pattern found
2431  */
2432 tSCC zSun_CatmacroSelect0[] =
2433        "^#define[ \t]+CAT(a,b)";
2434
2435 #define    SUN_CATMACRO_TEST_CT  1
2436 #define    SUN_CATMACRO_RE_CT    1
2437 tTestDesc aSun_CatmacroTests[] = {
2438   { TT_EGREP,  zSun_CatmacroSelect0,   (regex_t*)NULL }, };
2439
2440 /*
2441  *  Fix Command Arguments for Sun_Catmacro
2442  */
2443 const char* apzSun_CatmacroPatch[] = { "sed",
2444     "-e", "/^#define[ \t]CAT(a,b)/ i\\\n\
2445 #ifdef __STDC__ \\\n\
2446 #define CAT(a,b) a##b\\\n\
2447 #else\n",
2448     "-e", "/^#define[ \t]CAT(a,b)/ a\\\n\
2449 #endif\n",
2450     (char*)NULL };
2451
2452 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2453  *
2454  *  Description  68 - Sun_Malloc fix
2455  */
2456 tSCC zSun_MallocName[] =
2457      "Sun_Malloc";
2458 /*
2459  *  File name selection pattern
2460  */
2461 tSCC zSun_MallocList[] =
2462   "|malloc.h|";
2463 /*
2464  *  Machine/OS name selection pattern
2465  */
2466 #define apzSun_MallocMachs (const char**)NULL
2467 #define SUN_MALLOC_TEST_CT  0
2468 #define SUN_MALLOC_RE_CT    0
2469 #define aSun_MallocTests   (tTestDesc*)NULL
2470
2471 /*
2472  *  Fix Command Arguments for Sun_Malloc
2473  */
2474 const char* apzSun_MallocPatch[] = { "sed",
2475     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
2476     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
2477     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
2478     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
2479     (char*)NULL };
2480
2481 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2482  *
2483  *  Description  69 - Sun_Memcpy fix
2484  */
2485 tSCC zSun_MemcpyName[] =
2486      "Sun_Memcpy";
2487 /*
2488  *  File name selection pattern
2489  */
2490 tSCC zSun_MemcpyList[] =
2491   "|memory.h|";
2492 /*
2493  *  Machine/OS name selection pattern
2494  */
2495 #define apzSun_MemcpyMachs (const char**)NULL
2496
2497 /*
2498  *  content selection pattern - do fix if pattern found
2499  */
2500 tSCC zSun_MemcpySelect0[] =
2501        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
2502
2503 #define    SUN_MEMCPY_TEST_CT  1
2504 #define    SUN_MEMCPY_RE_CT    1
2505 tTestDesc aSun_MemcpyTests[] = {
2506   { TT_EGREP,  zSun_MemcpySelect0,   (regex_t*)NULL }, };
2507
2508 /*
2509  *  Fix Command Arguments for Sun_Memcpy
2510  */
2511 const char* apzSun_MemcpyPatch[] = { "sed",
2512     "-e", "1i\\\n\
2513 /* This file was generated by fixincludes */\\\n\
2514 #ifndef __memory_h__\\\n\
2515 #define __memory_h__\\\n\
2516 \\\n\
2517 #ifdef __STDC__\\\n\
2518 extern void *memccpy();\\\n\
2519 extern void *memchr();\\\n\
2520 extern void *memcpy();\\\n\
2521 extern void *memset();\\\n\
2522 #else\\\n\
2523 extern char *memccpy();\\\n\
2524 extern char *memchr();\\\n\
2525 extern char *memcpy();\\\n\
2526 extern char *memset();\\\n\
2527 #endif /* __STDC__ */\\\n\
2528 \\\n\
2529 extern int memcmp();\\\n\
2530 \\\n\
2531 #endif /* __memory_h__ */\n",
2532     "-e", "1,$d",
2533     (char*)NULL };
2534
2535 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2536  *
2537  *  Description  70 - Sun_Rusers_Semi fix
2538  */
2539 tSCC zSun_Rusers_SemiName[] =
2540      "Sun_Rusers_Semi";
2541 /*
2542  *  File name selection pattern
2543  */
2544 tSCC zSun_Rusers_SemiList[] =
2545   "|rpcsvc/rusers.h|";
2546 /*
2547  *  Machine/OS name selection pattern
2548  */
2549 #define apzSun_Rusers_SemiMachs (const char**)NULL
2550
2551 /*
2552  *  content selection pattern - do fix if pattern found
2553  */
2554 tSCC zSun_Rusers_SemiSelect0[] =
2555        "_cnt$";
2556
2557 #define    SUN_RUSERS_SEMI_TEST_CT  1
2558 #define    SUN_RUSERS_SEMI_RE_CT    1
2559 tTestDesc aSun_Rusers_SemiTests[] = {
2560   { TT_EGREP,  zSun_Rusers_SemiSelect0,   (regex_t*)NULL }, };
2561
2562 /*
2563  *  Fix Command Arguments for Sun_Rusers_Semi
2564  */
2565 const char* apzSun_Rusers_SemiPatch[] = { "sed",
2566     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
2567     (char*)NULL };
2568
2569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2570  *
2571  *  Description  71 - Sun_Signal fix
2572  */
2573 tSCC zSun_SignalName[] =
2574      "Sun_Signal";
2575 /*
2576  *  File name selection pattern
2577  */
2578 tSCC zSun_SignalList[] =
2579   "|sys/signal.h|signal.h|";
2580 /*
2581  *  Machine/OS name selection pattern
2582  */
2583 #define apzSun_SignalMachs (const char**)NULL
2584
2585 /*
2586  *  content selection pattern - do fix if pattern found
2587  */
2588 tSCC zSun_SignalSelect0[] =
2589        "^void\t\\(\\*signal\\(\\)\\)\\(\\);";
2590
2591 #define    SUN_SIGNAL_TEST_CT  1
2592 #define    SUN_SIGNAL_RE_CT    1
2593 tTestDesc aSun_SignalTests[] = {
2594   { TT_EGREP,  zSun_SignalSelect0,   (regex_t*)NULL }, };
2595
2596 /*
2597  *  Fix Command Arguments for Sun_Signal
2598  */
2599 const char* apzSun_SignalPatch[] = { "sed",
2600     "-e", "/^void\t(\\*signal())();$/i\\\n\
2601 #ifdef __cplusplus\\\n\
2602 void\t(*signal(...))(...);\\\n\
2603 #else\n",
2604     "-e", "/^void\t(\\*signal())();$/a\\\n\
2605 #endif\n",
2606     (char*)NULL };
2607
2608 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2609  *
2610  *  Description  72 - Sun_Auth_Proto fix
2611  */
2612 tSCC zSun_Auth_ProtoName[] =
2613      "Sun_Auth_Proto";
2614 /*
2615  *  File name selection pattern
2616  */
2617 tSCC zSun_Auth_ProtoList[] =
2618   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
2619 /*
2620  *  Machine/OS name selection pattern
2621  */
2622 #define apzSun_Auth_ProtoMachs (const char**)NULL
2623
2624 /*
2625  *  content selection pattern - do fix if pattern found
2626  */
2627 tSCC zSun_Auth_ProtoSelect0[] =
2628        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
2629
2630 /*
2631  *  content bypass pattern - skip fix if pattern found
2632  */
2633 tSCC zSun_Auth_ProtoBypass0[] =
2634        "\\(\\*[a-z][a-z_]*\\)\\([ \t]*[a-zA-Z.].*\\)";
2635
2636 #define    SUN_AUTH_PROTO_TEST_CT  2
2637 #define    SUN_AUTH_PROTO_RE_CT    2
2638 tTestDesc aSun_Auth_ProtoTests[] = {
2639   { TT_NEGREP, zSun_Auth_ProtoBypass0,   (regex_t*)NULL },
2640   { TT_EGREP,  zSun_Auth_ProtoSelect0,   (regex_t*)NULL }, };
2641
2642 /*
2643  *  Fix Command Arguments for Sun_Auth_Proto
2644  */
2645 const char* apzSun_Auth_ProtoPatch[] = { "sed",
2646     "-e", "s/^\\(.*(\\*[a-z][a-z_]*)(\\)\\();.*\\)/\\\n\
2647 #ifdef __cplusplus\\\n\
2648 \\1...\\2\\\n\
2649 #else\\\n\
2650 \\1\\2\\\n\
2651 #endif/",
2652     (char*)NULL };
2653
2654 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2655  *
2656  *  Description  73 - Sunos_Matherr_Decl fix
2657  */
2658 tSCC zSunos_Matherr_DeclName[] =
2659      "Sunos_Matherr_Decl";
2660 /*
2661  *  File name selection pattern
2662  */
2663 tSCC zSunos_Matherr_DeclList[] =
2664   "|math.h|";
2665 /*
2666  *  Machine/OS name selection pattern
2667  */
2668 #define apzSunos_Matherr_DeclMachs (const char**)NULL
2669 #define SUNOS_MATHERR_DECL_TEST_CT  0
2670 #define SUNOS_MATHERR_DECL_RE_CT    0
2671 #define aSunos_Matherr_DeclTests   (tTestDesc*)NULL
2672
2673 /*
2674  *  Fix Command Arguments for Sunos_Matherr_Decl
2675  */
2676 const char* apzSunos_Matherr_DeclPatch[] = { "sed",
2677     "-e", "/^struct exception/,$b",
2678     "-e", "/matherr/i\\\n\
2679 struct exception;\n",
2680     (char*)NULL };
2681
2682 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2683  *
2684  *  Description  74 - Sunos_Strlen fix
2685  */
2686 tSCC zSunos_StrlenName[] =
2687      "Sunos_Strlen";
2688 /*
2689  *  File name selection pattern
2690  */
2691 tSCC zSunos_StrlenList[] =
2692   "|strings.h|";
2693 /*
2694  *  Machine/OS name selection pattern
2695  */
2696 #define apzSunos_StrlenMachs (const char**)NULL
2697 #define SUNOS_STRLEN_TEST_CT  0
2698 #define SUNOS_STRLEN_RE_CT    0
2699 #define aSunos_StrlenTests   (tTestDesc*)NULL
2700
2701 /*
2702  *  Fix Command Arguments for Sunos_Strlen
2703  */
2704 const char* apzSunos_StrlenPatch[] = { "sed",
2705     "-e", "s/int[ \t]*strlen();/__SIZE_TYPE__ strlen();/",
2706     (char*)NULL };
2707
2708 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2709  *
2710  *  Description  75 - Systypes fix
2711  */
2712 tSCC zSystypesName[] =
2713      "Systypes";
2714 /*
2715  *  File name selection pattern
2716  */
2717 tSCC zSystypesList[] =
2718   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
2719 /*
2720  *  Machine/OS name selection pattern
2721  */
2722 #define apzSystypesMachs (const char**)NULL
2723
2724 /*
2725  *  content selection pattern - do fix if pattern found
2726  */
2727 tSCC zSystypesSelect0[] =
2728        "typedef[ \t]+[a-z_][ \ta-z_]*[ \t](size|ptrdiff|wchar)_t";
2729
2730 #define    SYSTYPES_TEST_CT  1
2731 #define    SYSTYPES_RE_CT    1
2732 tTestDesc aSystypesTests[] = {
2733   { TT_EGREP,  zSystypesSelect0,   (regex_t*)NULL }, };
2734
2735 /*
2736  *  Fix Command Arguments for Systypes
2737  */
2738 const char* apzSystypesPatch[] = { "sed",
2739     "-e", "/^[ \t]*\\*[ \t]*typedef unsigned int size_t;/N",
2740     "-e", "s/^\\([ \t]*\\*[ \t]*typedef unsigned int size_t;\\n[ \t]*\\*\\/\\)/\\1\\\n\
2741 #ifndef __SIZE_TYPE__\\\n\
2742 #define __SIZE_TYPE__ long unsigned int\\\n\
2743 #endif\\\n\
2744 typedef __SIZE_TYPE__ size_t;\\\n\
2745 /",
2746     "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]size_t/i\\\n\
2747 #ifndef __SIZE_TYPE__\\\n\
2748 #define __SIZE_TYPE__ long unsigned int\\\n\
2749 #endif\n",
2750     "-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]size_t/typedef __SIZE_TYPE__ size_t/",
2751     "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]ptrdiff_t/i\\\n\
2752 #ifndef __PTRDIFF_TYPE__\\\n\
2753 #define __PTRDIFF_TYPE__ long int\\\n\
2754 #endif\n",
2755     "-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]ptrdiff_t/typedef __PTRDIFF_TYPE__ ptrdiff_t/",
2756     "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/i\\\n\
2757 #ifndef __WCHAR_TYPE__\\\n\
2758 #define __WCHAR_TYPE__ int\\\n\
2759 #endif\\\n\
2760 #ifndef __cplusplus\n",
2761     "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/a\\\n\
2762 #endif\n",
2763     "-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/typedef __WCHAR_TYPE__ wchar_t/",
2764     (char*)NULL };
2765
2766 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2767  *
2768  *  Description  76 - Systypes_For_Aix fix
2769  */
2770 tSCC zSystypes_For_AixName[] =
2771      "Systypes_For_Aix";
2772 /*
2773  *  File name selection pattern
2774  */
2775 tSCC zSystypes_For_AixList[] =
2776   "|sys/types.h|";
2777 /*
2778  *  Machine/OS name selection pattern
2779  */
2780 #define apzSystypes_For_AixMachs (const char**)NULL
2781
2782 /*
2783  *  content selection pattern - do fix if pattern found
2784  */
2785 tSCC zSystypes_For_AixSelect0[] =
2786        "typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t";
2787
2788 /*
2789  *  content bypass pattern - skip fix if pattern found
2790  */
2791 tSCC zSystypes_For_AixBypass0[] =
2792        "_GCC_SIZE_T";
2793
2794 #define    SYSTYPES_FOR_AIX_TEST_CT  2
2795 #define    SYSTYPES_FOR_AIX_RE_CT    2
2796 tTestDesc aSystypes_For_AixTests[] = {
2797   { TT_NEGREP, zSystypes_For_AixBypass0,   (regex_t*)NULL },
2798   { TT_EGREP,  zSystypes_For_AixSelect0,   (regex_t*)NULL }, };
2799
2800 /*
2801  *  Fix Command Arguments for Systypes_For_Aix
2802  */
2803 const char* apzSystypes_For_AixPatch[] = { "sed",
2804     "-e", "/typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t/i\\\n\
2805 #ifndef _GCC_SIZE_T\\\n\
2806 #define _GCC_SIZE_T\n",
2807     "-e", "/typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t/a\\\n\
2808 #endif\n",
2809     (char*)NULL };
2810
2811 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2812  *
2813  *  Description  77 - Sysv68_String fix
2814  */
2815 tSCC zSysv68_StringName[] =
2816      "Sysv68_String";
2817 /*
2818  *  File name selection pattern
2819  */
2820 tSCC zSysv68_StringList[] =
2821   "|string.h|";
2822 /*
2823  *  Machine/OS name selection pattern
2824  */
2825 #define apzSysv68_StringMachs (const char**)NULL
2826 #define SYSV68_STRING_TEST_CT  0
2827 #define SYSV68_STRING_RE_CT    0
2828 #define aSysv68_StringTests   (tTestDesc*)NULL
2829
2830 /*
2831  *  Fix Command Arguments for Sysv68_String
2832  */
2833 const char* apzSysv68_StringPatch[] = { "sed",
2834     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
2835     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
2836     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
2837     "-e", "/^extern char$/N",
2838     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
2839     "-e", "/^\tstrncmp(),$/N",
2840     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
2841 extern unsigned int\\\n\
2842 \\2/",
2843     "-e", "/^extern int$/N",
2844     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
2845     (char*)NULL };
2846
2847 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2848  *
2849  *  Description  78 - Sysz_Stdlib_For_Sun fix
2850  */
2851 tSCC zSysz_Stdlib_For_SunName[] =
2852      "Sysz_Stdlib_For_Sun";
2853 /*
2854  *  File name selection pattern
2855  */
2856 tSCC zSysz_Stdlib_For_SunList[] =
2857   "|stdlib.h|";
2858 /*
2859  *  Machine/OS name selection pattern
2860  */
2861 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
2862 #define SYSZ_STDLIB_FOR_SUN_TEST_CT  0
2863 #define SYSZ_STDLIB_FOR_SUN_RE_CT    0
2864 #define aSysz_Stdlib_For_SunTests   (tTestDesc*)NULL
2865
2866 /*
2867  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
2868  */
2869 const char* apzSysz_Stdlib_For_SunPatch[] = { "sed",
2870     "-e", "s/int\tabort/void\tabort/g",
2871     "-e", "s/int\tfree/void\tfree/g",
2872     "-e", "s/char[ \t]*\\*[ \t]*calloc/void \\*\tcalloc/g",
2873     "-e", "s/char[ \t]*\\*[ \t]*malloc/void \\*\tmalloc/g",
2874     "-e", "s/char[ \t]*\\*[ \t]*realloc/void \\*\trealloc/g",
2875     "-e", "s/int[ \t][ \t]*exit/void\texit/g",
2876     "-e", "/typedef[ \ta-zA-Z_]*[ \t]size_t[ \t]*;/i\\\n\
2877 #ifndef _GCC_SIZE_T\\\n\
2878 #define _GCC_SIZE_T\n",
2879     "-e", "/typedef[ \ta-zA-Z_]*[ \t]size_t[ \t]*;/a\\\n\
2880 #endif\n",
2881     (char*)NULL };
2882
2883 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2884  *
2885  *  Description  79 - Sysz_Stdtypes_For_Sun fix
2886  */
2887 tSCC zSysz_Stdtypes_For_SunName[] =
2888      "Sysz_Stdtypes_For_Sun";
2889 /*
2890  *  File name selection pattern
2891  */
2892 tSCC zSysz_Stdtypes_For_SunList[] =
2893   "|sys/stdtypes.h|";
2894 /*
2895  *  Machine/OS name selection pattern
2896  */
2897 #define apzSysz_Stdtypes_For_SunMachs (const char**)NULL
2898 #define SYSZ_STDTYPES_FOR_SUN_TEST_CT  0
2899 #define SYSZ_STDTYPES_FOR_SUN_RE_CT    0
2900 #define aSysz_Stdtypes_For_SunTests   (tTestDesc*)NULL
2901
2902 /*
2903  *  Fix Command Arguments for Sysz_Stdtypes_For_Sun
2904  */
2905 const char* apzSysz_Stdtypes_For_SunPatch[] = { "sed",
2906     "-e", "/[\t ]size_t.*;/i\\\n\
2907 #ifndef _GCC_SIZE_T\\\n\
2908 #define _GCC_SIZE_T\n",
2909     "-e", "/[\t ]size_t.*;/a\\\n\
2910 #endif\n",
2911     "-e", "/[\t ]ptrdiff_t.*;/i\\\n\
2912 #ifndef _GCC_PTRDIFF_T\\\n\
2913 #define _GCC_PTRDIFF_T\n",
2914     "-e", "/[\t ]ptrdiff_t.*;/a\\\n\
2915 #endif\n",
2916     "-e", "/[\t ]wchar_t.*;/i\\\n\
2917 #ifndef _GCC_WCHAR_T\\\n\
2918 #define _GCC_WCHAR_T\n",
2919     "-e", "/[\t ]wchar_t.*;/a\\\n\
2920 #endif\n",
2921     (char*)NULL };
2922
2923 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2924  *
2925  *  Description  80 - Tinfo_Cplusplus fix
2926  */
2927 tSCC zTinfo_CplusplusName[] =
2928      "Tinfo_Cplusplus";
2929 /*
2930  *  File name selection pattern
2931  */
2932 tSCC zTinfo_CplusplusList[] =
2933   "|tinfo.h|";
2934 /*
2935  *  Machine/OS name selection pattern
2936  */
2937 #define apzTinfo_CplusplusMachs (const char**)NULL
2938 #define TINFO_CPLUSPLUS_TEST_CT  0
2939 #define TINFO_CPLUSPLUS_RE_CT    0
2940 #define aTinfo_CplusplusTests   (tTestDesc*)NULL
2941
2942 /*
2943  *  Fix Command Arguments for Tinfo_Cplusplus
2944  */
2945 const char* apzTinfo_CplusplusPatch[] = { "sed",
2946     "-e", "s/[ \t]_cplusplus/ __cplusplus/",
2947     (char*)NULL };
2948
2949 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2950  *
2951  *  Description  81 - Ultrix_Ansi_Compat fix
2952  */
2953 tSCC zUltrix_Ansi_CompatName[] =
2954      "Ultrix_Ansi_Compat";
2955 /*
2956  *  File name selection pattern
2957  */
2958 tSCC zUltrix_Ansi_CompatList[] =
2959   "|ansi_compat.h|";
2960 /*
2961  *  Machine/OS name selection pattern
2962  */
2963 #define apzUltrix_Ansi_CompatMachs (const char**)NULL
2964
2965 /*
2966  *  content selection pattern - do fix if pattern found
2967  */
2968 tSCC zUltrix_Ansi_CompatSelect0[] =
2969        "ULTRIX";
2970
2971 #define    ULTRIX_ANSI_COMPAT_TEST_CT  1
2972 #define    ULTRIX_ANSI_COMPAT_RE_CT    1
2973 tTestDesc aUltrix_Ansi_CompatTests[] = {
2974   { TT_EGREP,  zUltrix_Ansi_CompatSelect0,   (regex_t*)NULL }, };
2975
2976 /*
2977  *  Fix Command Arguments for Ultrix_Ansi_Compat
2978  */
2979 const char* apzUltrix_Ansi_CompatPatch[] = { "sed",
2980     "-e", "1i\\\n\
2981 /* This file intentionally left blank. */\n",
2982     "-e", "1,$d",
2983     (char*)NULL };
2984
2985 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2986  *
2987  *  Description  82 - Ultrix_Fix_Fixproto fix
2988  */
2989 tSCC zUltrix_Fix_FixprotoName[] =
2990      "Ultrix_Fix_Fixproto";
2991 /*
2992  *  File name selection pattern
2993  */
2994 tSCC zUltrix_Fix_FixprotoList[] =
2995   "|sys/utsname.h|";
2996 /*
2997  *  Machine/OS name selection pattern
2998  */
2999 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
3000
3001 /*
3002  *  content selection pattern - do fix if pattern found
3003  */
3004 tSCC zUltrix_Fix_FixprotoSelect0[] =
3005        "ULTRIX";
3006
3007 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
3008 #define    ULTRIX_FIX_FIXPROTO_RE_CT    1
3009 tTestDesc aUltrix_Fix_FixprotoTests[] = {
3010   { TT_EGREP,  zUltrix_Fix_FixprotoSelect0,   (regex_t*)NULL }, };
3011
3012 /*
3013  *  Fix Command Arguments for Ultrix_Fix_Fixproto
3014  */
3015 const char* apzUltrix_Fix_FixprotoPatch[] = { "sed",
3016     "-e", "/^[ \t]*extern[ \t]*int[ \t]*uname();$/i\\\n\
3017 struct utsname;\n",
3018     (char*)NULL };
3019
3020 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3021  *
3022  *  Description  83 - Ultrix_Atof_Param fix
3023  */
3024 tSCC zUltrix_Atof_ParamName[] =
3025      "Ultrix_Atof_Param";
3026 /*
3027  *  File name selection pattern
3028  */
3029 tSCC zUltrix_Atof_ParamList[] =
3030   "|math.h|";
3031 /*
3032  *  Machine/OS name selection pattern
3033  */
3034 #define apzUltrix_Atof_ParamMachs (const char**)NULL
3035 #define ULTRIX_ATOF_PARAM_TEST_CT  0
3036 #define ULTRIX_ATOF_PARAM_RE_CT    0
3037 #define aUltrix_Atof_ParamTests   (tTestDesc*)NULL
3038
3039 /*
3040  *  Fix Command Arguments for Ultrix_Atof_Param
3041  */
3042 const char* apzUltrix_Atof_ParamPatch[] = { "sed",
3043     "-e", "s@atof(\\([ \t]*char[ \t]*\\*[^)]*\\))@atof(const \\1)@",
3044     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
3045     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
3046     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
3047     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
3048     (char*)NULL };
3049
3050 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3051  *
3052  *  Description  84 - Ultrix_Const fix
3053  */
3054 tSCC zUltrix_ConstName[] =
3055      "Ultrix_Const";
3056 /*
3057  *  File name selection pattern
3058  */
3059 tSCC zUltrix_ConstList[] =
3060   "|stdio.h|";
3061 /*
3062  *  Machine/OS name selection pattern
3063  */
3064 #define apzUltrix_ConstMachs (const char**)NULL
3065 #define ULTRIX_CONST_TEST_CT  0
3066 #define ULTRIX_CONST_RE_CT    0
3067 #define aUltrix_ConstTests   (tTestDesc*)NULL
3068
3069 /*
3070  *  Fix Command Arguments for Ultrix_Const
3071  */
3072 const char* apzUltrix_ConstPatch[] = { "sed",
3073     "-e", "s@perror( char \\*__s );@perror( const char *__s );@",
3074     "-e", "s@fputs( char \\*__s,@fputs( const char *__s,@",
3075     "-e", "s@fopen( char \\*__filename, char \\*__type );@fopen( const char *__filename, const char *__type );@",
3076     "-e", "s@fwrite( void \\*__ptr,@fwrite( const void *__ptr,@",
3077     "-e", "s@fscanf( FILE \\*__stream, char \\*__format,@fscanf( FILE *__stream, const char *__format,@",
3078     "-e", "s@scanf( char \\*__format,@scanf( const char *__format,@",
3079     "-e", "s@sscanf( char \\*__s, char \\*__format,@sscanf( const char *__s, const char *__format,@",
3080     "-e", "s@popen(char \\*, char \\*);@popen(const char *, const char *);@",
3081     "-e", "s@tempnam(char\\*,char\\*);@tempnam(const char*,const char*);@",
3082     (char*)NULL };
3083
3084 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3085  *
3086  *  Description  85 - Ultrix_Ifdef fix
3087  */
3088 tSCC zUltrix_IfdefName[] =
3089      "Ultrix_Ifdef";
3090 /*
3091  *  File name selection pattern
3092  */
3093 tSCC zUltrix_IfdefList[] =
3094   "|sys/file.h|";
3095 /*
3096  *  Machine/OS name selection pattern
3097  */
3098 #define apzUltrix_IfdefMachs (const char**)NULL
3099
3100 /*
3101  *  content selection pattern - do fix if pattern found
3102  */
3103 tSCC zUltrix_IfdefSelect0[] =
3104        "#ifdef KERNEL";
3105
3106 #define    ULTRIX_IFDEF_TEST_CT  1
3107 #define    ULTRIX_IFDEF_RE_CT    1
3108 tTestDesc aUltrix_IfdefTests[] = {
3109   { TT_EGREP,  zUltrix_IfdefSelect0,   (regex_t*)NULL }, };
3110
3111 /*
3112  *  Fix Command Arguments for Ultrix_Ifdef
3113  */
3114 const char* apzUltrix_IfdefPatch[] = { "sed",
3115     "-e", "s/#ifdef KERNEL/#if defined(KERNEL)/",
3116     (char*)NULL };
3117
3118 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3119  *
3120  *  Description  86 - Ultrix_Nested_Cmnt fix
3121  */
3122 tSCC zUltrix_Nested_CmntName[] =
3123      "Ultrix_Nested_Cmnt";
3124 /*
3125  *  File name selection pattern
3126  */
3127 tSCC zUltrix_Nested_CmntList[] =
3128   "|rpc/svc.h|";
3129 /*
3130  *  Machine/OS name selection pattern
3131  */
3132 #define apzUltrix_Nested_CmntMachs (const char**)NULL
3133 #define ULTRIX_NESTED_CMNT_TEST_CT  0
3134 #define ULTRIX_NESTED_CMNT_RE_CT    0
3135 #define aUltrix_Nested_CmntTests   (tTestDesc*)NULL
3136
3137 /*
3138  *  Fix Command Arguments for Ultrix_Nested_Cmnt
3139  */
3140 const char* apzUltrix_Nested_CmntPatch[] = { "sed",
3141     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
3142     (char*)NULL };
3143
3144 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3145  *
3146  *  Description  87 - Ultrix_Static fix
3147  */
3148 tSCC zUltrix_StaticName[] =
3149      "Ultrix_Static";
3150 /*
3151  *  File name selection pattern
3152  */
3153 tSCC zUltrix_StaticList[] =
3154   "|machine/cpu.h|";
3155 /*
3156  *  Machine/OS name selection pattern
3157  */
3158 #define apzUltrix_StaticMachs (const char**)NULL
3159
3160 /*
3161  *  content selection pattern - do fix if pattern found
3162  */
3163 tSCC zUltrix_StaticSelect0[] =
3164        "#include \"r[34]_cpu";
3165
3166 #define    ULTRIX_STATIC_TEST_CT  1
3167 #define    ULTRIX_STATIC_RE_CT    1
3168 tTestDesc aUltrix_StaticTests[] = {
3169   { TT_EGREP,  zUltrix_StaticSelect0,   (regex_t*)NULL }, };
3170
3171 /*
3172  *  Fix Command Arguments for Ultrix_Static
3173  */
3174 const char* apzUltrix_StaticPatch[] = { "sed",
3175     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
3176     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
3177     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
3178     (char*)NULL };
3179
3180 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3181  *
3182  *  Description  88 - Undefine_Null fix
3183  */
3184 tSCC zUndefine_NullName[] =
3185      "Undefine_Null";
3186 /*
3187  *  File name selection pattern
3188  */
3189 #define zUndefine_NullList (char*)NULL
3190 /*
3191  *  Machine/OS name selection pattern
3192  */
3193 #define apzUndefine_NullMachs (const char**)NULL
3194
3195 /*
3196  *  content selection pattern - do fix if pattern found
3197  */
3198 tSCC zUndefine_NullSelect0[] =
3199        "^#[ \t]*define[ \t]*[ \t]NULL[ \t]";
3200
3201 /*
3202  *  content bypass pattern - skip fix if pattern found
3203  */
3204 tSCC zUndefine_NullBypass0[] =
3205        "#[ \t]*(ifn|un)def[ \t]*[ \t]NULL($|[ \t])";
3206
3207 #define    UNDEFINE_NULL_TEST_CT  2
3208 #define    UNDEFINE_NULL_RE_CT    2
3209 tTestDesc aUndefine_NullTests[] = {
3210   { TT_NEGREP, zUndefine_NullBypass0,   (regex_t*)NULL },
3211   { TT_EGREP,  zUndefine_NullSelect0,   (regex_t*)NULL }, };
3212
3213 /*
3214  *  Fix Command Arguments for Undefine_Null
3215  */
3216 const char* apzUndefine_NullPatch[] = { "sed",
3217     "-e", "/^#[ \t]*define[ \t][ \t]*NULL[ \t]/i\\\n\
3218 #undef NULL\n",
3219     (char*)NULL };
3220
3221 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3222  *
3223  *  Description  89 - Va_I960_Macro fix
3224  */
3225 tSCC zVa_I960_MacroName[] =
3226      "Va_I960_Macro";
3227 /*
3228  *  File name selection pattern
3229  */
3230 tSCC zVa_I960_MacroList[] =
3231   "|arch/i960/archI960.h|";
3232 /*
3233  *  Machine/OS name selection pattern
3234  */
3235 #define apzVa_I960_MacroMachs (const char**)NULL
3236
3237 /*
3238  *  content selection pattern - do fix if pattern found
3239  */
3240 tSCC zVa_I960_MacroSelect0[] =
3241        "__(vsiz|vali|vpad|alignof__)";
3242
3243 #define    VA_I960_MACRO_TEST_CT  1
3244 #define    VA_I960_MACRO_RE_CT    1
3245 tTestDesc aVa_I960_MacroTests[] = {
3246   { TT_EGREP,  zVa_I960_MacroSelect0,   (regex_t*)NULL }, };
3247
3248 /*
3249  *  Fix Command Arguments for Va_I960_Macro
3250  */
3251 const char* apzVa_I960_MacroPatch[] = { "sed",
3252     "-e", "s/__vsiz/__vxvsiz/",
3253     "-e", "s/__vali/__vxvali/",
3254     "-e", "s/__vpad/__vxvpad/",
3255     "-e", "s/__alignof__/__vxalignof__/",
3256     (char*)NULL };
3257
3258 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3259  *
3260  *  Description  90 - Void_Null fix
3261  */
3262 tSCC zVoid_NullName[] =
3263      "Void_Null";
3264 /*
3265  *  File name selection pattern
3266  */
3267 tSCC zVoid_NullList[] =
3268   "|curses.h|dbm.h|locale.h|stdio.h|stdlib.h|string.h|time.h|unistd.h|sys/dir.h|sys/param.h|sys/types.h|";
3269 /*
3270  *  Machine/OS name selection pattern
3271  */
3272 #define apzVoid_NullMachs (const char**)NULL
3273
3274 /*
3275  *  content selection pattern - do fix if pattern found
3276  */
3277 tSCC zVoid_NullSelect0[] =
3278        "#[ \t]*define[ \t][ \t]*NULL[ \t].*void";
3279
3280 #define    VOID_NULL_TEST_CT  1
3281 #define    VOID_NULL_RE_CT    1
3282 tTestDesc aVoid_NullTests[] = {
3283   { TT_EGREP,  zVoid_NullSelect0,   (regex_t*)NULL }, };
3284
3285 /*
3286  *  Fix Command Arguments for Void_Null
3287  */
3288 const char* apzVoid_NullPatch[] = { "sed",
3289     "-e", "s/^#[ \t]*define[ \t]*NULL[ \t]*((void[ \t]*\\*)0)/#define NULL 0/",
3290     (char*)NULL };
3291
3292 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3293  *
3294  *  Description  91 - Vxworks_Gcc_Problem fix
3295  */
3296 tSCC zVxworks_Gcc_ProblemName[] =
3297      "Vxworks_Gcc_Problem";
3298 /*
3299  *  File name selection pattern
3300  */
3301 tSCC zVxworks_Gcc_ProblemList[] =
3302   "|types/vxTypesBase.h|";
3303 /*
3304  *  Machine/OS name selection pattern
3305  */
3306 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
3307
3308 /*
3309  *  content selection pattern - do fix if pattern found
3310  */
3311 tSCC zVxworks_Gcc_ProblemSelect0[] =
3312        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
3313
3314 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
3315 #define    VXWORKS_GCC_PROBLEM_RE_CT    1
3316 tTestDesc aVxworks_Gcc_ProblemTests[] = {
3317   { TT_EGREP,  zVxworks_Gcc_ProblemSelect0,   (regex_t*)NULL }, };
3318
3319 /*
3320  *  Fix Command Arguments for Vxworks_Gcc_Problem
3321  */
3322 const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
3323     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
3324     "-e", "/[ \t]size_t/i\\\n\
3325 #ifndef _GCC_SIZE_T\\\n\
3326 #define _GCC_SIZE_T\n",
3327     "-e", "/[ \t]size_t/a\\\n\
3328 #endif\n",
3329     "-e", "/[ \t]ptrdiff_t/i\\\n\
3330 #ifndef _GCC_PTRDIFF_T\\\n\
3331 #define _GCC_PTRDIFF_T\n",
3332     "-e", "/[ \t]ptrdiff_t/a\\\n\
3333 #endif\n",
3334     "-e", "/[ \t]wchar_t/i\\\n\
3335 #ifndef _GCC_WCHAR_T\\\n\
3336 #define _GCC_WCHAR_T\n",
3337     "-e", "/[ \t]wchar_t/a\\\n\
3338 #endif\n",
3339     (char*)NULL };
3340
3341 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3342  *
3343  *  Description  92 - Vxworks_Needs_Vxtypes fix
3344  */
3345 tSCC zVxworks_Needs_VxtypesName[] =
3346      "Vxworks_Needs_Vxtypes";
3347 /*
3348  *  File name selection pattern
3349  */
3350 tSCC zVxworks_Needs_VxtypesList[] =
3351   "|time.h|";
3352 /*
3353  *  Machine/OS name selection pattern
3354  */
3355 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
3356
3357 /*
3358  *  content selection pattern - do fix if pattern found
3359  */
3360 tSCC zVxworks_Needs_VxtypesSelect0[] =
3361        "uint_t[ \t][ \t]*_clocks_per_sec";
3362
3363 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
3364 #define    VXWORKS_NEEDS_VXTYPES_RE_CT    1
3365 tTestDesc aVxworks_Needs_VxtypesTests[] = {
3366   { TT_EGREP,  zVxworks_Needs_VxtypesSelect0,   (regex_t*)NULL }, };
3367
3368 /*
3369  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
3370  */
3371 const char* apzVxworks_Needs_VxtypesPatch[] = { "sed",
3372     "-e", "s/uint_t/unsigned int/",
3373     (char*)NULL };
3374
3375 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3376  *
3377  *  Description  93 - Vxworks_Needs_Vxworks fix
3378  */
3379 tSCC zVxworks_Needs_VxworksName[] =
3380      "Vxworks_Needs_Vxworks";
3381 /*
3382  *  File name selection pattern
3383  */
3384 tSCC zVxworks_Needs_VxworksList[] =
3385   "|sys/stat.h|";
3386 /*
3387  *  Machine/OS name selection pattern
3388  */
3389 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
3390
3391 /*
3392  *  content selection pattern - do fix if pattern found
3393  */
3394 tSCC zVxworks_Needs_VxworksSelect0[] =
3395        "#[ \t]define[ \t][ \t]*__INCstath";
3396
3397 /*
3398  *  perform the 'test' shell command - do fix on success
3399  */
3400 tSCC zVxworks_Needs_VxworksTest0[] =
3401        " -r types/vxTypesOld.h";
3402 tSCC zVxworks_Needs_VxworksTest1[] =
3403        " -n \"`egrep '#include' $file`\"";
3404 tSCC zVxworks_Needs_VxworksTest2[] =
3405        " -n \"`egrep ULONG $file`\"";
3406
3407 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
3408 #define    VXWORKS_NEEDS_VXWORKS_RE_CT    1
3409 tTestDesc aVxworks_Needs_VxworksTests[] = {
3410   { TT_TEST,   zVxworks_Needs_VxworksTest0,     0 /* unused */ },
3411   { TT_TEST,   zVxworks_Needs_VxworksTest1,     0 /* unused */ },
3412   { TT_TEST,   zVxworks_Needs_VxworksTest2,     0 /* unused */ },
3413   { TT_EGREP,  zVxworks_Needs_VxworksSelect0,   (regex_t*)NULL }, };
3414
3415 /*
3416  *  Fix Command Arguments for Vxworks_Needs_Vxworks
3417  */
3418 const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
3419     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
3420 #include <types/vxTypesOld.h>\n",
3421     (char*)NULL };
3422
3423 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3424  *
3425  *  Description  94 - Vxworks_Time fix
3426  */
3427 tSCC zVxworks_TimeName[] =
3428      "Vxworks_Time";
3429 /*
3430  *  File name selection pattern
3431  */
3432 tSCC zVxworks_TimeList[] =
3433   "|time.h|";
3434 /*
3435  *  Machine/OS name selection pattern
3436  */
3437 #define apzVxworks_TimeMachs (const char**)NULL
3438
3439 /*
3440  *  content selection pattern - do fix if pattern found
3441  */
3442 tSCC zVxworks_TimeSelect0[] =
3443        "VOIDFUNCPTR";
3444
3445 /*
3446  *  perform the 'test' shell command - do fix on success
3447  */
3448 tSCC zVxworks_TimeTest0[] =
3449        " -r vxWorks.h";
3450
3451 #define    VXWORKS_TIME_TEST_CT  2
3452 #define    VXWORKS_TIME_RE_CT    1
3453 tTestDesc aVxworks_TimeTests[] = {
3454   { TT_TEST,   zVxworks_TimeTest0,     0 /* unused */ },
3455   { TT_EGREP,  zVxworks_TimeSelect0,   (regex_t*)NULL }, };
3456
3457 /*
3458  *  Fix Command Arguments for Vxworks_Time
3459  */
3460 const char* apzVxworks_TimePatch[] = { "sed",
3461     "-e", "/VOIDFUNCPTR/i\\\n\
3462 #ifndef __gcc_VOIDFUNCPTR_defined\\\n\
3463 #ifdef __cplusplus\\\n\
3464 typedef void (*__gcc_VOIDFUNCPTR) (...);\\\n\
3465 #else\\\n\
3466 typedef void (*__gcc_VOIDFUNCPTR) ();\\\n\
3467 #endif\\\n\
3468 #define __gcc_VOIDFUNCPTR_defined\\\n\
3469 #endif\n",
3470     "-e", "s/VOIDFUNCPTR/__gcc_VOIDFUNCPTR/g",
3471     (char*)NULL };
3472
3473 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3474  *
3475  *  Description  95 - X11_Class fix
3476  */
3477 tSCC zX11_ClassName[] =
3478      "X11_Class";
3479 /*
3480  *  File name selection pattern
3481  */
3482 tSCC zX11_ClassList[] =
3483   "|X11/ShellP.h|";
3484 /*
3485  *  Machine/OS name selection pattern
3486  */
3487 #define apzX11_ClassMachs (const char**)NULL
3488
3489 /*
3490  *  content bypass pattern - skip fix if pattern found
3491  */
3492 tSCC zX11_ClassBypass0[] =
3493        "__cplusplus";
3494
3495 #define    X11_CLASS_TEST_CT  1
3496 #define    X11_CLASS_RE_CT    1
3497 tTestDesc aX11_ClassTests[] = {
3498   { TT_NEGREP, zX11_ClassBypass0,   (regex_t*)NULL }, };
3499
3500 /*
3501  *  Fix Command Arguments for X11_Class
3502  */
3503 const char* apzX11_ClassPatch[] = { "sed",
3504     "-e", "/char \\*class;/i\\\n\
3505 #ifdef __cplusplus\\\n\
3506 \tchar *c_class;\\\n\
3507 #else\n",
3508     "-e", "/char \\*class;/a\\\n\
3509 #endif\n",
3510     (char*)NULL };
3511
3512 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3513  *
3514  *  Description  96 - X11_Class_Usage fix
3515  */
3516 tSCC zX11_Class_UsageName[] =
3517      "X11_Class_Usage";
3518 /*
3519  *  File name selection pattern
3520  */
3521 tSCC zX11_Class_UsageList[] =
3522   "|Xm/BaseClassI.h|";
3523 /*
3524  *  Machine/OS name selection pattern
3525  */
3526 #define apzX11_Class_UsageMachs (const char**)NULL
3527
3528 /*
3529  *  content bypass pattern - skip fix if pattern found
3530  */
3531 tSCC zX11_Class_UsageBypass0[] =
3532        "__cplusplus";
3533
3534 #define    X11_CLASS_USAGE_TEST_CT  1
3535 #define    X11_CLASS_USAGE_RE_CT    1
3536 tTestDesc aX11_Class_UsageTests[] = {
3537   { TT_NEGREP, zX11_Class_UsageBypass0,   (regex_t*)NULL }, };
3538
3539 /*
3540  *  Fix Command Arguments for X11_Class_Usage
3541  */
3542 const char* apzX11_Class_UsagePatch[] = { "sed",
3543     "-e", "s/ class[)]/ c_class)/g",
3544     (char*)NULL };
3545
3546 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3547  *
3548  *  Description  97 - X11_New fix
3549  */
3550 tSCC zX11_NewName[] =
3551      "X11_New";
3552 /*
3553  *  File name selection pattern
3554  */
3555 tSCC zX11_NewList[] =
3556   "|Xm/Traversal.h|";
3557 /*
3558  *  Machine/OS name selection pattern
3559  */
3560 #define apzX11_NewMachs (const char**)NULL
3561
3562 /*
3563  *  content bypass pattern - skip fix if pattern found
3564  */
3565 tSCC zX11_NewBypass0[] =
3566        "__cplusplus";
3567
3568 #define    X11_NEW_TEST_CT  1
3569 #define    X11_NEW_RE_CT    1
3570 tTestDesc aX11_NewTests[] = {
3571   { TT_NEGREP, zX11_NewBypass0,   (regex_t*)NULL }, };
3572
3573 /*
3574  *  Fix Command Arguments for X11_New
3575  */
3576 const char* apzX11_NewPatch[] = { "sed",
3577     "-e", "/Widget\told, new;/i\\\n\
3578 #ifdef __cplusplus\\\n\
3579 \tWidget\told, c_new;\\\n\
3580 #else\n",
3581     "-e", "/Widget\told, new;/a\\\n\
3582 #endif\n",
3583     "-e", "s/Widget new,/Widget c_new,/g",
3584     (char*)NULL };
3585
3586 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3587  *
3588  *  Description  98 - X11_Sprintf fix
3589  */
3590 tSCC zX11_SprintfName[] =
3591      "X11_Sprintf";
3592 /*
3593  *  File name selection pattern
3594  */
3595 tSCC zX11_SprintfList[] =
3596   "|X11*/Xmu.h|";
3597 /*
3598  *  Machine/OS name selection pattern
3599  */
3600 #define apzX11_SprintfMachs (const char**)NULL
3601 #define X11_SPRINTF_TEST_CT  0
3602 #define X11_SPRINTF_RE_CT    0
3603 #define aX11_SprintfTests   (tTestDesc*)NULL
3604
3605 /*
3606  *  Fix Command Arguments for X11_Sprintf
3607  */
3608 const char* apzX11_SprintfPatch[] = { "sed",
3609     "-e", "s,^extern char \\*\tsprintf();$,#ifndef __STDC__\\\n\
3610 extern char *\tsprintf();\\\n\
3611 #endif /* !defined __STDC__ */,",
3612     (char*)NULL };
3613
3614 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3615  *
3616  *  Description  99 - Zzz_Ki_Iface fix
3617  */
3618 tSCC zZzz_Ki_IfaceName[] =
3619      "Zzz_Ki_Iface";
3620 /*
3621  *  File name selection pattern
3622  */
3623 tSCC zZzz_Ki_IfaceList[] =
3624   "|sys/ki_iface.h|";
3625 /*
3626  *  Machine/OS name selection pattern
3627  */
3628 #define apzZzz_Ki_IfaceMachs (const char**)NULL
3629
3630 /*
3631  *  content selection pattern - do fix if pattern found
3632  */
3633 tSCC zZzz_Ki_IfaceSelect0[] =
3634        "These definitions are for HP Internal developers";
3635
3636 #define    ZZZ_KI_IFACE_TEST_CT  1
3637 #define    ZZZ_KI_IFACE_RE_CT    1
3638 tTestDesc aZzz_Ki_IfaceTests[] = {
3639   { TT_EGREP,  zZzz_Ki_IfaceSelect0,   (regex_t*)NULL }, };
3640
3641 /*
3642  *  Fix Command Arguments for Zzz_Ki_Iface
3643  */
3644 const char* apzZzz_Ki_IfacePatch[] = { "sh", "-c",
3645     "echo \"Removing incorrect fix to <$file>\" >&2\n\
3646 rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
3647 cat > /dev/null",
3648     (char*)NULL };
3649
3650 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3651  *
3652  *  Description 100 - Zzz_Ki fix
3653  */
3654 tSCC zZzz_KiName[] =
3655      "Zzz_Ki";
3656 /*
3657  *  File name selection pattern
3658  */
3659 tSCC zZzz_KiList[] =
3660   "|sys/ki.h|";
3661 /*
3662  *  Machine/OS name selection pattern
3663  */
3664 #define apzZzz_KiMachs (const char**)NULL
3665
3666 /*
3667  *  content selection pattern - do fix if pattern found
3668  */
3669 tSCC zZzz_KiSelect0[] =
3670        "11.00 HP-UX LP64";
3671
3672 #define    ZZZ_KI_TEST_CT  1
3673 #define    ZZZ_KI_RE_CT    1
3674 tTestDesc aZzz_KiTests[] = {
3675   { TT_EGREP,  zZzz_KiSelect0,   (regex_t*)NULL }, };
3676
3677 /*
3678  *  Fix Command Arguments for Zzz_Ki
3679  */
3680 const char* apzZzz_KiPatch[] = { "sh", "-c",
3681     "echo \"Removing incorrect fix to <$file>\" >&2\n\
3682 rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
3683 cat > /dev/null",
3684     (char*)NULL };
3685
3686 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3687  *
3688  *  Description 101 - Zzz_Ki_Calls fix
3689  */
3690 tSCC zZzz_Ki_CallsName[] =
3691      "Zzz_Ki_Calls";
3692 /*
3693  *  File name selection pattern
3694  */
3695 tSCC zZzz_Ki_CallsList[] =
3696   "|sys/ki_calls.h|";
3697 /*
3698  *  Machine/OS name selection pattern
3699  */
3700 #define apzZzz_Ki_CallsMachs (const char**)NULL
3701
3702 /*
3703  *  content selection pattern - do fix if pattern found
3704  */
3705 tSCC zZzz_Ki_CallsSelect0[] =
3706        "kthread_create_caller_t";
3707
3708 #define    ZZZ_KI_CALLS_TEST_CT  1
3709 #define    ZZZ_KI_CALLS_RE_CT    1
3710 tTestDesc aZzz_Ki_CallsTests[] = {
3711   { TT_EGREP,  zZzz_Ki_CallsSelect0,   (regex_t*)NULL }, };
3712
3713 /*
3714  *  Fix Command Arguments for Zzz_Ki_Calls
3715  */
3716 const char* apzZzz_Ki_CallsPatch[] = { "sh", "-c",
3717     "echo \"Removing incorrect fix to <$file>\" >&2\n\
3718 rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
3719 cat > /dev/null",
3720     (char*)NULL };
3721
3722 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3723  *
3724  *  Description 102 - Zzz_Ki_Defs fix
3725  */
3726 tSCC zZzz_Ki_DefsName[] =
3727      "Zzz_Ki_Defs";
3728 /*
3729  *  File name selection pattern
3730  */
3731 tSCC zZzz_Ki_DefsList[] =
3732   "|sys/ki_defs.h|";
3733 /*
3734  *  Machine/OS name selection pattern
3735  */
3736 #define apzZzz_Ki_DefsMachs (const char**)NULL
3737
3738 /*
3739  *  content selection pattern - do fix if pattern found
3740  */
3741 tSCC zZzz_Ki_DefsSelect0[] =
3742        "Kernel Instrumentation Definitions";
3743
3744 #define    ZZZ_KI_DEFS_TEST_CT  1
3745 #define    ZZZ_KI_DEFS_RE_CT    1
3746 tTestDesc aZzz_Ki_DefsTests[] = {
3747   { TT_EGREP,  zZzz_Ki_DefsSelect0,   (regex_t*)NULL }, };
3748
3749 /*
3750  *  Fix Command Arguments for Zzz_Ki_Defs
3751  */
3752 const char* apzZzz_Ki_DefsPatch[] = { "sh", "-c",
3753     "echo \"Removing incorrect fix to <$file>\" >&2\n\
3754 rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
3755 cat > /dev/null",
3756     (char*)NULL };
3757
3758 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3759  *
3760  *  Description 103 - Zzz_Bad_Fixes fix
3761  */
3762 tSCC zZzz_Bad_FixesName[] =
3763      "Zzz_Bad_Fixes";
3764 /*
3765  *  File name selection pattern
3766  */
3767 tSCC zZzz_Bad_FixesList[] =
3768   "|sundev/ipi_error.h|";
3769 /*
3770  *  Machine/OS name selection pattern
3771  */
3772 #define apzZzz_Bad_FixesMachs (const char**)NULL
3773 #define ZZZ_BAD_FIXES_TEST_CT  0
3774 #define ZZZ_BAD_FIXES_RE_CT    0
3775 #define aZzz_Bad_FixesTests   (tTestDesc*)NULL
3776
3777 /*
3778  *  Fix Command Arguments for Zzz_Bad_Fixes
3779  */
3780 const char* apzZzz_Bad_FixesPatch[] = { "sh", "-c",
3781     "echo \"Removing incorrect fix to <$file>\" >&2\n\
3782 rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
3783 cat > /dev/null",
3784     (char*)NULL };
3785
3786 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3787  *
3788  *  Description 104 - Zzz_Time fix
3789  */
3790 tSCC zZzz_TimeName[] =
3791      "Zzz_Time";
3792 /*
3793  *  File name selection pattern
3794  */
3795 tSCC zZzz_TimeList[] =
3796   "|sys/time.h|";
3797 /*
3798  *  Machine/OS name selection pattern
3799  */
3800 #define apzZzz_TimeMachs (const char**)NULL
3801
3802 /*
3803  *  content selection pattern - do fix if pattern found
3804  */
3805 tSCC zZzz_TimeSelect0[] =
3806        "11.0 and later representation of ki time";
3807
3808 #define    ZZZ_TIME_TEST_CT  1
3809 #define    ZZZ_TIME_RE_CT    1
3810 tTestDesc aZzz_TimeTests[] = {
3811   { TT_EGREP,  zZzz_TimeSelect0,   (regex_t*)NULL }, };
3812
3813 /*
3814  *  Fix Command Arguments for Zzz_Time
3815  */
3816 const char* apzZzz_TimePatch[] = { "sh", "-c",
3817     "echo \"Removing incorrect fix to <$file>\" >&2\n\
3818 rm -f ${DESTDIR}/$file ${DESTDIR}/fixinc.tmp\n\
3819 cat > /dev/null",
3820     (char*)NULL };
3821
3822 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3823  *
3824  *  List of all fixes
3825  */
3826 #define  REGEX_COUNT  76
3827 #define  FIX_COUNT    104
3828 tFixDesc fixDescList[ FIX_COUNT ] = {
3829   {  zAix_SyswaitName,    zAix_SyswaitList,
3830      apzAix_SyswaitMachs, (regex_t*)NULL,
3831      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY,
3832      aAix_SyswaitTests,   apzAix_SyswaitPatch },
3833
3834   {  zAix_VolatileName,    zAix_VolatileList,
3835      apzAix_VolatileMachs, (regex_t*)NULL,
3836      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY,
3837      aAix_VolatileTests,   apzAix_VolatilePatch },
3838
3839   {  zAlpha_GetoptName,    zAlpha_GetoptList,
3840      apzAlpha_GetoptMachs, (regex_t*)NULL,
3841      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY,
3842      aAlpha_GetoptTests,   apzAlpha_GetoptPatch },
3843
3844   {  zAlpha_ParensName,    zAlpha_ParensList,
3845      apzAlpha_ParensMachs, (regex_t*)NULL,
3846      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY,
3847      aAlpha_ParensTests,   apzAlpha_ParensPatch },
3848
3849   {  zAlpha_SbrkName,    zAlpha_SbrkList,
3850      apzAlpha_SbrkMachs, (regex_t*)NULL,
3851      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY,
3852      aAlpha_SbrkTests,   apzAlpha_SbrkPatch },
3853
3854   {  zArm_Norcroft_HintName,    zArm_Norcroft_HintList,
3855      apzArm_Norcroft_HintMachs, (regex_t*)NULL,
3856      ARM_NORCROFT_HINT_TEST_CT, FD_MACH_ONLY,
3857      aArm_Norcroft_HintTests,   apzArm_Norcroft_HintPatch },
3858
3859   {  zArm_WcharName,    zArm_WcharList,
3860      apzArm_WcharMachs, (regex_t*)NULL,
3861      ARM_WCHAR_TEST_CT, FD_MACH_ONLY,
3862      aArm_WcharTests,   apzArm_WcharPatch },
3863
3864   {  zAux_AsmName,    zAux_AsmList,
3865      apzAux_AsmMachs, (regex_t*)NULL,
3866      AUX_ASM_TEST_CT, FD_MACH_ONLY,
3867      aAux_AsmTests,   apzAux_AsmPatch },
3868
3869   {  zAvoid_BoolName,    zAvoid_BoolList,
3870      apzAvoid_BoolMachs, (regex_t*)NULL,
3871      AVOID_BOOL_TEST_CT, FD_MACH_ONLY,
3872      aAvoid_BoolTests,   apzAvoid_BoolPatch },
3873
3874   {  zBad_Struct_TermName,    zBad_Struct_TermList,
3875      apzBad_Struct_TermMachs, (regex_t*)NULL,
3876      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY,
3877      aBad_Struct_TermTests,   apzBad_Struct_TermPatch },
3878
3879   {  zBadquoteName,    zBadquoteList,
3880      apzBadquoteMachs, (regex_t*)NULL,
3881      BADQUOTE_TEST_CT, FD_MACH_ONLY,
3882      aBadquoteTests,   apzBadquotePatch },
3883
3884   {  zBad_LvalName,    zBad_LvalList,
3885      apzBad_LvalMachs, (regex_t*)NULL,
3886      BAD_LVAL_TEST_CT, FD_MACH_ONLY,
3887      aBad_LvalTests,   apzBad_LvalPatch },
3888
3889   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
3890      apzBroken_Assert_StdioMachs, (regex_t*)NULL,
3891      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY,
3892      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch },
3893
3894   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
3895      apzBroken_Assert_StdlibMachs, (regex_t*)NULL,
3896      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY,
3897      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch },
3898
3899   {  zBsd43_Io_MacrosName,    zBsd43_Io_MacrosList,
3900      apzBsd43_Io_MacrosMachs, (regex_t*)NULL,
3901      BSD43_IO_MACROS_TEST_CT, FD_MACH_ONLY,
3902      aBsd43_Io_MacrosTests,   apzBsd43_Io_MacrosPatch },
3903
3904   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
3905      apzDec_Intern_AsmMachs, (regex_t*)NULL,
3906      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
3907      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch },
3908
3909   {  zNo_Double_SlashName,    zNo_Double_SlashList,
3910      apzNo_Double_SlashMachs, (regex_t*)NULL,
3911      NO_DOUBLE_SLASH_TEST_CT, FD_MACH_ONLY,
3912      aNo_Double_SlashTests,   apzNo_Double_SlashPatch },
3913
3914   {  zEcd_CursorName,    zEcd_CursorList,
3915      apzEcd_CursorMachs, (regex_t*)NULL,
3916      ECD_CURSOR_TEST_CT, FD_MACH_ONLY,
3917      aEcd_CursorTests,   apzEcd_CursorPatch },
3918
3919   {  zSco5_Stat_WrappersName,    zSco5_Stat_WrappersList,
3920      apzSco5_Stat_WrappersMachs, (regex_t*)NULL,
3921      SCO5_STAT_WRAPPERS_TEST_CT, FD_MACH_ONLY,
3922      aSco5_Stat_WrappersTests,   apzSco5_Stat_WrappersPatch },
3923
3924   {  zElse_LabelName,    zElse_LabelList,
3925      apzElse_LabelMachs, (regex_t*)NULL,
3926      ELSE_LABEL_TEST_CT, FD_MACH_ONLY,
3927      aElse_LabelTests,   apzElse_LabelPatch },
3928
3929   {  zEndif_LabelName,    zEndif_LabelList,
3930      apzEndif_LabelMachs, (regex_t*)NULL,
3931      ENDIF_LABEL_TEST_CT, FD_MACH_ONLY,
3932      aEndif_LabelTests,   apzEndif_LabelPatch },
3933
3934   {  zHp_InlineName,    zHp_InlineList,
3935      apzHp_InlineMachs, (regex_t*)NULL,
3936      HP_INLINE_TEST_CT, FD_MACH_ONLY,
3937      aHp_InlineTests,   apzHp_InlinePatch },
3938
3939   {  zHp_SysfileName,    zHp_SysfileList,
3940      apzHp_SysfileMachs, (regex_t*)NULL,
3941      HP_SYSFILE_TEST_CT, FD_MACH_ONLY,
3942      aHp_SysfileTests,   apzHp_SysfilePatch },
3943
3944   {  zCxx_UnreadyName,    zCxx_UnreadyList,
3945      apzCxx_UnreadyMachs, (regex_t*)NULL,
3946      CXX_UNREADY_TEST_CT, FD_MACH_ONLY,
3947      aCxx_UnreadyTests,   apzCxx_UnreadyPatch },
3948
3949   {  zHpux_MaxintName,    zHpux_MaxintList,
3950      apzHpux_MaxintMachs, (regex_t*)NULL,
3951      HPUX_MAXINT_TEST_CT, FD_MACH_ONLY,
3952      aHpux_MaxintTests,   apzHpux_MaxintPatch },
3953
3954   {  zHpux_SystimeName,    zHpux_SystimeList,
3955      apzHpux_SystimeMachs, (regex_t*)NULL,
3956      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY,
3957      aHpux_SystimeTests,   apzHpux_SystimePatch },
3958
3959   {  zInteractv_Add1Name,    zInteractv_Add1List,
3960      apzInteractv_Add1Machs, (regex_t*)NULL,
3961      INTERACTV_ADD1_TEST_CT, FD_MACH_ONLY,
3962      aInteractv_Add1Tests,   apzInteractv_Add1Patch },
3963
3964   {  zInteractv_Add2Name,    zInteractv_Add2List,
3965      apzInteractv_Add2Machs, (regex_t*)NULL,
3966      INTERACTV_ADD2_TEST_CT, FD_MACH_ONLY,
3967      aInteractv_Add2Tests,   apzInteractv_Add2Patch },
3968
3969   {  zInteractv_Add3Name,    zInteractv_Add3List,
3970      apzInteractv_Add3Machs, (regex_t*)NULL,
3971      INTERACTV_ADD3_TEST_CT, FD_MACH_ONLY,
3972      aInteractv_Add3Tests,   apzInteractv_Add3Patch },
3973
3974   {  zIo_Def_QuotesName,    zIo_Def_QuotesList,
3975      apzIo_Def_QuotesMachs, (regex_t*)NULL,
3976      IO_DEF_QUOTES_TEST_CT, FD_MACH_ONLY,
3977      aIo_Def_QuotesTests,   apzIo_Def_QuotesPatch },
3978
3979   {  zIoctl_Fix_CtrlName,    zIoctl_Fix_CtrlList,
3980      apzIoctl_Fix_CtrlMachs, (regex_t*)NULL,
3981      IOCTL_FIX_CTRL_TEST_CT, FD_MACH_ONLY,
3982      aIoctl_Fix_CtrlTests,   apzIoctl_Fix_CtrlPatch },
3983
3984   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
3985      apzIp_Missing_SemiMachs, (regex_t*)NULL,
3986      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
3987      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch },
3988
3989   {  zIrix_Multiline_CmntName,    zIrix_Multiline_CmntList,
3990      apzIrix_Multiline_CmntMachs, (regex_t*)NULL,
3991      IRIX_MULTILINE_CMNT_TEST_CT, FD_MACH_ONLY,
3992      aIrix_Multiline_CmntTests,   apzIrix_Multiline_CmntPatch },
3993
3994   {  zIrix_SockaddrName,    zIrix_SockaddrList,
3995      apzIrix_SockaddrMachs, (regex_t*)NULL,
3996      IRIX_SOCKADDR_TEST_CT, FD_MACH_ONLY,
3997      aIrix_SockaddrTests,   apzIrix_SockaddrPatch },
3998
3999   {  zIrix_Struct__FileName,    zIrix_Struct__FileList,
4000      apzIrix_Struct__FileMachs, (regex_t*)NULL,
4001      IRIX_STRUCT__FILE_TEST_CT, FD_MACH_ONLY,
4002      aIrix_Struct__FileTests,   apzIrix_Struct__FilePatch },
4003
4004   {  zIsc_FmodName,    zIsc_FmodList,
4005      apzIsc_FmodMachs, (regex_t*)NULL,
4006      ISC_FMOD_TEST_CT, FD_MACH_ONLY,
4007      aIsc_FmodTests,   apzIsc_FmodPatch },
4008
4009   {  zMotorola_NestedName,    zMotorola_NestedList,
4010      apzMotorola_NestedMachs, (regex_t*)NULL,
4011      MOTOROLA_NESTED_TEST_CT, FD_MACH_ONLY,
4012      aMotorola_NestedTests,   apzMotorola_NestedPatch },
4013
4014   {  zIsc_Sys_LimitsName,    zIsc_Sys_LimitsList,
4015      apzIsc_Sys_LimitsMachs, (regex_t*)NULL,
4016      ISC_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
4017      aIsc_Sys_LimitsTests,   apzIsc_Sys_LimitsPatch },
4018
4019   {  zKandr_ConcatName,    zKandr_ConcatList,
4020      apzKandr_ConcatMachs, (regex_t*)NULL,
4021      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY,
4022      aKandr_ConcatTests,   apzKandr_ConcatPatch },
4023
4024   {  zLimits_IfndefsName,    zLimits_IfndefsList,
4025      apzLimits_IfndefsMachs, (regex_t*)NULL,
4026      LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY,
4027      aLimits_IfndefsTests,   apzLimits_IfndefsPatch },
4028
4029   {  zLynx_Void_IntName,    zLynx_Void_IntList,
4030      apzLynx_Void_IntMachs, (regex_t*)NULL,
4031      LYNX_VOID_INT_TEST_CT, FD_MACH_ONLY,
4032      aLynx_Void_IntTests,   apzLynx_Void_IntPatch },
4033
4034   {  zLynxos_Fcntl_ProtoName,    zLynxos_Fcntl_ProtoList,
4035      apzLynxos_Fcntl_ProtoMachs, (regex_t*)NULL,
4036      LYNXOS_FCNTL_PROTO_TEST_CT, FD_MACH_ONLY,
4037      aLynxos_Fcntl_ProtoTests,   apzLynxos_Fcntl_ProtoPatch },
4038
4039   {  zM88k_Bad_Hypot_OptName,    zM88k_Bad_Hypot_OptList,
4040      apzM88k_Bad_Hypot_OptMachs, (regex_t*)NULL,
4041      M88K_BAD_HYPOT_OPT_TEST_CT, FD_MACH_ONLY,
4042      aM88k_Bad_Hypot_OptTests,   apzM88k_Bad_Hypot_OptPatch },
4043
4044   {  zM88k_Bad_S_IfName,    zM88k_Bad_S_IfList,
4045      apzM88k_Bad_S_IfMachs, (regex_t*)NULL,
4046      M88K_BAD_S_IF_TEST_CT, FD_MACH_ONLY,
4047      aM88k_Bad_S_IfTests,   apzM88k_Bad_S_IfPatch },
4048
4049   {  zM88k_Multi_InclName,    zM88k_Multi_InclList,
4050      apzM88k_Multi_InclMachs, (regex_t*)NULL,
4051      M88K_MULTI_INCL_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4052      aM88k_Multi_InclTests,   apzM88k_Multi_InclPatch },
4053
4054   {  zMachine_NameName,    zMachine_NameList,
4055      apzMachine_NameMachs, (regex_t*)NULL,
4056      MACHINE_NAME_TEST_CT, FD_MACH_ONLY,
4057      aMachine_NameTests,   apzMachine_NamePatch },
4058
4059   {  zMath_ExceptionName,    zMath_ExceptionList,
4060      apzMath_ExceptionMachs, (regex_t*)NULL,
4061      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY,
4062      aMath_ExceptionTests,   apzMath_ExceptionPatch },
4063
4064   {  zMath_Gcc_IfndefsName,    zMath_Gcc_IfndefsList,
4065      apzMath_Gcc_IfndefsMachs, (regex_t*)NULL,
4066      MATH_GCC_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4067      aMath_Gcc_IfndefsTests,   apzMath_Gcc_IfndefsPatch },
4068
4069   {  zNested_CommentName,    zNested_CommentList,
4070      apzNested_CommentMachs, (regex_t*)NULL,
4071      NESTED_COMMENT_TEST_CT, FD_MACH_ONLY,
4072      aNested_CommentTests,   apzNested_CommentPatch },
4073
4074   {  zNews_Os_RecursionName,    zNews_Os_RecursionList,
4075      apzNews_Os_RecursionMachs, (regex_t*)NULL,
4076      NEWS_OS_RECURSION_TEST_CT, FD_MACH_ONLY,
4077      aNews_Os_RecursionTests,   apzNews_Os_RecursionPatch },
4078
4079   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
4080      apzNext_Math_PrefixMachs, (regex_t*)NULL,
4081      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY,
4082      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch },
4083
4084   {  zNext_TemplateName,    zNext_TemplateList,
4085      apzNext_TemplateMachs, (regex_t*)NULL,
4086      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY,
4087      aNext_TemplateTests,   apzNext_TemplatePatch },
4088
4089   {  zNext_VolitileName,    zNext_VolitileList,
4090      apzNext_VolitileMachs, (regex_t*)NULL,
4091      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY,
4092      aNext_VolitileTests,   apzNext_VolitilePatch },
4093
4094   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
4095      apzNext_Wait_UnionMachs, (regex_t*)NULL,
4096      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY,
4097      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch },
4098
4099   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
4100      apzNodeent_SyntaxMachs, (regex_t*)NULL,
4101      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY,
4102      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch },
4103
4104   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
4105      apzOsf_Namespace_AMachs, (regex_t*)NULL,
4106      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY,
4107      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch },
4108
4109   {  zOsf_Namespace_BName,    zOsf_Namespace_BList,
4110      apzOsf_Namespace_BMachs, (regex_t*)NULL,
4111      OSF_NAMESPACE_B_TEST_CT, FD_MACH_ONLY,
4112      aOsf_Namespace_BTests,   apzOsf_Namespace_BPatch },
4113
4114   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
4115      apzPthread_Page_SizeMachs, (regex_t*)NULL,
4116      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY,
4117      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch },
4118
4119   {  zRs6000_DoubleName,    zRs6000_DoubleList,
4120      apzRs6000_DoubleMachs, (regex_t*)NULL,
4121      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY,
4122      aRs6000_DoubleTests,   apzRs6000_DoublePatch },
4123
4124   {  zRs6000_FchmodName,    zRs6000_FchmodList,
4125      apzRs6000_FchmodMachs, (regex_t*)NULL,
4126      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY,
4127      aRs6000_FchmodTests,   apzRs6000_FchmodPatch },
4128
4129   {  zRs6000_ParamName,    zRs6000_ParamList,
4130      apzRs6000_ParamMachs, (regex_t*)NULL,
4131      RS6000_PARAM_TEST_CT, FD_MACH_ONLY,
4132      aRs6000_ParamTests,   apzRs6000_ParamPatch },
4133
4134   {  zSony_IncludeName,    zSony_IncludeList,
4135      apzSony_IncludeMachs, (regex_t*)NULL,
4136      SONY_INCLUDE_TEST_CT, FD_MACH_ONLY,
4137      aSony_IncludeTests,   apzSony_IncludePatch },
4138
4139   {  zStatsswtchName,    zStatsswtchList,
4140      apzStatsswtchMachs, (regex_t*)NULL,
4141      STATSSWTCH_TEST_CT, FD_MACH_ONLY,
4142      aStatsswtchTests,   apzStatsswtchPatch },
4143
4144   {  zStdio_Va_ListName,    zStdio_Va_ListList,
4145      apzStdio_Va_ListMachs, (regex_t*)NULL,
4146      STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4147      aStdio_Va_ListTests,   apzStdio_Va_ListPatch },
4148
4149   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
4150      apzSun_Bogus_IfdefMachs, (regex_t*)NULL,
4151      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY,
4152      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch },
4153
4154   {  zSun_Bogus_Ifdef_Sun4cName,    zSun_Bogus_Ifdef_Sun4cList,
4155      apzSun_Bogus_Ifdef_Sun4cMachs, (regex_t*)NULL,
4156      SUN_BOGUS_IFDEF_SUN4C_TEST_CT, FD_MACH_ONLY,
4157      aSun_Bogus_Ifdef_Sun4cTests,   apzSun_Bogus_Ifdef_Sun4cPatch },
4158
4159   {  zSun_CatmacroName,    zSun_CatmacroList,
4160      apzSun_CatmacroMachs, (regex_t*)NULL,
4161      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY,
4162      aSun_CatmacroTests,   apzSun_CatmacroPatch },
4163
4164   {  zSun_MallocName,    zSun_MallocList,
4165      apzSun_MallocMachs, (regex_t*)NULL,
4166      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
4167      aSun_MallocTests,   apzSun_MallocPatch },
4168
4169   {  zSun_MemcpyName,    zSun_MemcpyList,
4170      apzSun_MemcpyMachs, (regex_t*)NULL,
4171      SUN_MEMCPY_TEST_CT, FD_MACH_ONLY,
4172      aSun_MemcpyTests,   apzSun_MemcpyPatch },
4173
4174   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
4175      apzSun_Rusers_SemiMachs, (regex_t*)NULL,
4176      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
4177      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch },
4178
4179   {  zSun_SignalName,    zSun_SignalList,
4180      apzSun_SignalMachs, (regex_t*)NULL,
4181      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY,
4182      aSun_SignalTests,   apzSun_SignalPatch },
4183
4184   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
4185      apzSun_Auth_ProtoMachs, (regex_t*)NULL,
4186      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY,
4187      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch },
4188
4189   {  zSunos_Matherr_DeclName,    zSunos_Matherr_DeclList,
4190      apzSunos_Matherr_DeclMachs, (regex_t*)NULL,
4191      SUNOS_MATHERR_DECL_TEST_CT, FD_MACH_ONLY,
4192      aSunos_Matherr_DeclTests,   apzSunos_Matherr_DeclPatch },
4193
4194   {  zSunos_StrlenName,    zSunos_StrlenList,
4195      apzSunos_StrlenMachs, (regex_t*)NULL,
4196      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY,
4197      aSunos_StrlenTests,   apzSunos_StrlenPatch },
4198
4199   {  zSystypesName,    zSystypesList,
4200      apzSystypesMachs, (regex_t*)NULL,
4201      SYSTYPES_TEST_CT, FD_MACH_ONLY,
4202      aSystypesTests,   apzSystypesPatch },
4203
4204   {  zSystypes_For_AixName,    zSystypes_For_AixList,
4205      apzSystypes_For_AixMachs, (regex_t*)NULL,
4206      SYSTYPES_FOR_AIX_TEST_CT, FD_MACH_ONLY,
4207      aSystypes_For_AixTests,   apzSystypes_For_AixPatch },
4208
4209   {  zSysv68_StringName,    zSysv68_StringList,
4210      apzSysv68_StringMachs, (regex_t*)NULL,
4211      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
4212      aSysv68_StringTests,   apzSysv68_StringPatch },
4213
4214   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
4215      apzSysz_Stdlib_For_SunMachs, (regex_t*)NULL,
4216      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY,
4217      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch },
4218
4219   {  zSysz_Stdtypes_For_SunName,    zSysz_Stdtypes_For_SunList,
4220      apzSysz_Stdtypes_For_SunMachs, (regex_t*)NULL,
4221      SYSZ_STDTYPES_FOR_SUN_TEST_CT, FD_MACH_ONLY,
4222      aSysz_Stdtypes_For_SunTests,   apzSysz_Stdtypes_For_SunPatch },
4223
4224   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
4225      apzTinfo_CplusplusMachs, (regex_t*)NULL,
4226      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY,
4227      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch },
4228
4229   {  zUltrix_Ansi_CompatName,    zUltrix_Ansi_CompatList,
4230      apzUltrix_Ansi_CompatMachs, (regex_t*)NULL,
4231      ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY,
4232      aUltrix_Ansi_CompatTests,   apzUltrix_Ansi_CompatPatch },
4233
4234   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
4235      apzUltrix_Fix_FixprotoMachs, (regex_t*)NULL,
4236      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY,
4237      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch },
4238
4239   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
4240      apzUltrix_Atof_ParamMachs, (regex_t*)NULL,
4241      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY,
4242      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch },
4243
4244   {  zUltrix_ConstName,    zUltrix_ConstList,
4245      apzUltrix_ConstMachs, (regex_t*)NULL,
4246      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY,
4247      aUltrix_ConstTests,   apzUltrix_ConstPatch },
4248
4249   {  zUltrix_IfdefName,    zUltrix_IfdefList,
4250      apzUltrix_IfdefMachs, (regex_t*)NULL,
4251      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY,
4252      aUltrix_IfdefTests,   apzUltrix_IfdefPatch },
4253
4254   {  zUltrix_Nested_CmntName,    zUltrix_Nested_CmntList,
4255      apzUltrix_Nested_CmntMachs, (regex_t*)NULL,
4256      ULTRIX_NESTED_CMNT_TEST_CT, FD_MACH_ONLY,
4257      aUltrix_Nested_CmntTests,   apzUltrix_Nested_CmntPatch },
4258
4259   {  zUltrix_StaticName,    zUltrix_StaticList,
4260      apzUltrix_StaticMachs, (regex_t*)NULL,
4261      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
4262      aUltrix_StaticTests,   apzUltrix_StaticPatch },
4263
4264   {  zUndefine_NullName,    zUndefine_NullList,
4265      apzUndefine_NullMachs, (regex_t*)NULL,
4266      UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY,
4267      aUndefine_NullTests,   apzUndefine_NullPatch },
4268
4269   {  zVa_I960_MacroName,    zVa_I960_MacroList,
4270      apzVa_I960_MacroMachs, (regex_t*)NULL,
4271      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY,
4272      aVa_I960_MacroTests,   apzVa_I960_MacroPatch },
4273
4274   {  zVoid_NullName,    zVoid_NullList,
4275      apzVoid_NullMachs, (regex_t*)NULL,
4276      VOID_NULL_TEST_CT, FD_MACH_ONLY,
4277      aVoid_NullTests,   apzVoid_NullPatch },
4278
4279   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
4280      apzVxworks_Gcc_ProblemMachs, (regex_t*)NULL,
4281      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
4282      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch },
4283
4284   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
4285      apzVxworks_Needs_VxtypesMachs, (regex_t*)NULL,
4286      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY,
4287      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch },
4288
4289   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
4290      apzVxworks_Needs_VxworksMachs, (regex_t*)NULL,
4291      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
4292      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch },
4293
4294   {  zVxworks_TimeName,    zVxworks_TimeList,
4295      apzVxworks_TimeMachs, (regex_t*)NULL,
4296      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY,
4297      aVxworks_TimeTests,   apzVxworks_TimePatch },
4298
4299   {  zX11_ClassName,    zX11_ClassList,
4300      apzX11_ClassMachs, (regex_t*)NULL,
4301      X11_CLASS_TEST_CT, FD_MACH_ONLY,
4302      aX11_ClassTests,   apzX11_ClassPatch },
4303
4304   {  zX11_Class_UsageName,    zX11_Class_UsageList,
4305      apzX11_Class_UsageMachs, (regex_t*)NULL,
4306      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY,
4307      aX11_Class_UsageTests,   apzX11_Class_UsagePatch },
4308
4309   {  zX11_NewName,    zX11_NewList,
4310      apzX11_NewMachs, (regex_t*)NULL,
4311      X11_NEW_TEST_CT, FD_MACH_ONLY,
4312      aX11_NewTests,   apzX11_NewPatch },
4313
4314   {  zX11_SprintfName,    zX11_SprintfList,
4315      apzX11_SprintfMachs, (regex_t*)NULL,
4316      X11_SPRINTF_TEST_CT, FD_MACH_ONLY,
4317      aX11_SprintfTests,   apzX11_SprintfPatch },
4318
4319   {  zZzz_Ki_IfaceName,    zZzz_Ki_IfaceList,
4320      apzZzz_Ki_IfaceMachs, (regex_t*)NULL,
4321      ZZZ_KI_IFACE_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4322      aZzz_Ki_IfaceTests,   apzZzz_Ki_IfacePatch },
4323
4324   {  zZzz_KiName,    zZzz_KiList,
4325      apzZzz_KiMachs, (regex_t*)NULL,
4326      ZZZ_KI_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4327      aZzz_KiTests,   apzZzz_KiPatch },
4328
4329   {  zZzz_Ki_CallsName,    zZzz_Ki_CallsList,
4330      apzZzz_Ki_CallsMachs, (regex_t*)NULL,
4331      ZZZ_KI_CALLS_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4332      aZzz_Ki_CallsTests,   apzZzz_Ki_CallsPatch },
4333
4334   {  zZzz_Ki_DefsName,    zZzz_Ki_DefsList,
4335      apzZzz_Ki_DefsMachs, (regex_t*)NULL,
4336      ZZZ_KI_DEFS_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4337      aZzz_Ki_DefsTests,   apzZzz_Ki_DefsPatch },
4338
4339   {  zZzz_Bad_FixesName,    zZzz_Bad_FixesList,
4340      apzZzz_Bad_FixesMachs, (regex_t*)NULL,
4341      ZZZ_BAD_FIXES_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4342      aZzz_Bad_FixesTests,   apzZzz_Bad_FixesPatch },
4343
4344   {  zZzz_TimeName,    zZzz_TimeList,
4345      apzZzz_TimeMachs, (regex_t*)NULL,
4346      ZZZ_TIME_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4347      aZzz_TimeTests,   apzZzz_TimePatch }
4348 };