OSDN Git Service

15087ae01fa2425f5e8ea0d60b639cadf78a43e7
[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 139 fixup descriptions.
9  *
10  * See README for more information.
11  *
12  *  inclhack copyright (c) 1998, 1999, 2000, 2001
13  *  The Free Software Foundation, Inc.
14  *
15   *  inclhack is free software.
16  *  
17  *  You may redistribute it and/or modify it under the terms of the
18  *  GNU General Public License, as published by the Free Software
19  *  Foundation; either version 2, or (at your option) any later version.
20  *  
21  *  inclhack is distributed in the hope that it will be useful,
22  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
23  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
24  *  See the GNU General Public License for more details.
25  *  
26  *  You should have received a copy of the GNU General Public License
27  *  along with inclhack.  See the file "COPYING".  If not,
28  *  write to:  The Free Software Foundation, Inc.,
29  *             59 Temple Place - Suite 330,
30  *             Boston,  MA  02111-1307, USA.
31  */
32
33 /* * * * * * * * * * * * * * * * * * * * * * * * * *
34  *
35  *  Description of Aaa_Ki_Iface fix
36  */
37 #define AAA_KI_IFACE_FIXIDX              0
38 tSCC zAaa_Ki_IfaceName[] =
39      "AAA_ki_iface";
40
41 /*
42  *  File name selection pattern
43  */
44 tSCC zAaa_Ki_IfaceList[] =
45   "|sys/ki_iface.h|";
46 /*
47  *  Machine/OS name selection pattern
48  */
49 #define apzAaa_Ki_IfaceMachs (const char**)NULL
50
51 /*
52  *  content selection pattern - do fix if pattern found
53  */
54 tSCC zAaa_Ki_IfaceSelect0[] =
55        "These definitions are for HP Internal developers";
56
57 #define    AAA_KI_IFACE_TEST_CT  1
58 static tTestDesc aAaa_Ki_IfaceTests[] = {
59   { TT_EGREP,    zAaa_Ki_IfaceSelect0, (regex_t*)NULL }, };
60
61 /*
62  *  Fix Command Arguments for Aaa_Ki_Iface
63  */
64 static const char* apzAaa_Ki_IfacePatch[] = {
65     (char*)NULL };
66
67 /* * * * * * * * * * * * * * * * * * * * * * * * * *
68  *
69  *  Description of Aaa_Ki fix
70  */
71 #define AAA_KI_FIXIDX                    1
72 tSCC zAaa_KiName[] =
73      "AAA_ki";
74
75 /*
76  *  File name selection pattern
77  */
78 tSCC zAaa_KiList[] =
79   "|sys/ki.h|";
80 /*
81  *  Machine/OS name selection pattern
82  */
83 #define apzAaa_KiMachs (const char**)NULL
84
85 /*
86  *  content selection pattern - do fix if pattern found
87  */
88 tSCC zAaa_KiSelect0[] =
89        "11.00 HP-UX LP64";
90
91 #define    AAA_KI_TEST_CT  1
92 static tTestDesc aAaa_KiTests[] = {
93   { TT_EGREP,    zAaa_KiSelect0, (regex_t*)NULL }, };
94
95 /*
96  *  Fix Command Arguments for Aaa_Ki
97  */
98 static const char* apzAaa_KiPatch[] = {
99     (char*)NULL };
100
101 /* * * * * * * * * * * * * * * * * * * * * * * * * *
102  *
103  *  Description of Aaa_Ki_Calls fix
104  */
105 #define AAA_KI_CALLS_FIXIDX              2
106 tSCC zAaa_Ki_CallsName[] =
107      "AAA_ki_calls";
108
109 /*
110  *  File name selection pattern
111  */
112 tSCC zAaa_Ki_CallsList[] =
113   "|sys/ki_calls.h|";
114 /*
115  *  Machine/OS name selection pattern
116  */
117 #define apzAaa_Ki_CallsMachs (const char**)NULL
118
119 /*
120  *  content selection pattern - do fix if pattern found
121  */
122 tSCC zAaa_Ki_CallsSelect0[] =
123        "kthread_create_caller_t";
124
125 #define    AAA_KI_CALLS_TEST_CT  1
126 static tTestDesc aAaa_Ki_CallsTests[] = {
127   { TT_EGREP,    zAaa_Ki_CallsSelect0, (regex_t*)NULL }, };
128
129 /*
130  *  Fix Command Arguments for Aaa_Ki_Calls
131  */
132 static const char* apzAaa_Ki_CallsPatch[] = {
133     (char*)NULL };
134
135 /* * * * * * * * * * * * * * * * * * * * * * * * * *
136  *
137  *  Description of Aaa_Ki_Defs fix
138  */
139 #define AAA_KI_DEFS_FIXIDX               3
140 tSCC zAaa_Ki_DefsName[] =
141      "AAA_ki_defs";
142
143 /*
144  *  File name selection pattern
145  */
146 tSCC zAaa_Ki_DefsList[] =
147   "|sys/ki_defs.h|";
148 /*
149  *  Machine/OS name selection pattern
150  */
151 #define apzAaa_Ki_DefsMachs (const char**)NULL
152
153 /*
154  *  content selection pattern - do fix if pattern found
155  */
156 tSCC zAaa_Ki_DefsSelect0[] =
157        "Kernel Instrumentation Definitions";
158
159 #define    AAA_KI_DEFS_TEST_CT  1
160 static tTestDesc aAaa_Ki_DefsTests[] = {
161   { TT_EGREP,    zAaa_Ki_DefsSelect0, (regex_t*)NULL }, };
162
163 /*
164  *  Fix Command Arguments for Aaa_Ki_Defs
165  */
166 static const char* apzAaa_Ki_DefsPatch[] = {
167     (char*)NULL };
168
169 /* * * * * * * * * * * * * * * * * * * * * * * * * *
170  *
171  *  Description of Aaa_Standards fix
172  */
173 #define AAA_STANDARDS_FIXIDX             4
174 tSCC zAaa_StandardsName[] =
175      "AAA_standards";
176
177 /*
178  *  File name selection pattern
179  */
180 tSCC zAaa_StandardsList[] =
181   "|standards.h|";
182 /*
183  *  Machine/OS name selection pattern
184  */
185 #define apzAaa_StandardsMachs (const char**)NULL
186
187 /*
188  *  content selection pattern - do fix if pattern found
189  */
190 tSCC zAaa_StandardsSelect0[] =
191        "GNU and MIPS C compilers define __STDC__ differently";
192
193 #define    AAA_STANDARDS_TEST_CT  1
194 static tTestDesc aAaa_StandardsTests[] = {
195   { TT_EGREP,    zAaa_StandardsSelect0, (regex_t*)NULL }, };
196
197 /*
198  *  Fix Command Arguments for Aaa_Standards
199  */
200 static const char* apzAaa_StandardsPatch[] = {
201     (char*)NULL };
202
203 /* * * * * * * * * * * * * * * * * * * * * * * * * *
204  *
205  *  Description of Aaa_Bad_Fixes fix
206  */
207 #define AAA_BAD_FIXES_FIXIDX             5
208 tSCC zAaa_Bad_FixesName[] =
209      "AAA_bad_fixes";
210
211 /*
212  *  File name selection pattern
213  */
214 tSCC zAaa_Bad_FixesList[] =
215   "|sundev/ipi_error.h|";
216 /*
217  *  Machine/OS name selection pattern
218  */
219 #define apzAaa_Bad_FixesMachs (const char**)NULL
220 #define AAA_BAD_FIXES_TEST_CT  0
221 #define aAaa_Bad_FixesTests   (tTestDesc*)NULL
222
223 /*
224  *  Fix Command Arguments for Aaa_Bad_Fixes
225  */
226 static const char* apzAaa_Bad_FixesPatch[] = {
227     (char*)NULL };
228
229 /* * * * * * * * * * * * * * * * * * * * * * * * * *
230  *
231  *  Description of Aaa_Time fix
232  */
233 #define AAA_TIME_FIXIDX                  6
234 tSCC zAaa_TimeName[] =
235      "AAA_time";
236
237 /*
238  *  File name selection pattern
239  */
240 tSCC zAaa_TimeList[] =
241   "|sys/time.h|";
242 /*
243  *  Machine/OS name selection pattern
244  */
245 #define apzAaa_TimeMachs (const char**)NULL
246
247 /*
248  *  content selection pattern - do fix if pattern found
249  */
250 tSCC zAaa_TimeSelect0[] =
251        "11.0 and later representation of ki time";
252
253 #define    AAA_TIME_TEST_CT  1
254 static tTestDesc aAaa_TimeTests[] = {
255   { TT_EGREP,    zAaa_TimeSelect0, (regex_t*)NULL }, };
256
257 /*
258  *  Fix Command Arguments for Aaa_Time
259  */
260 static const char* apzAaa_TimePatch[] = {
261     (char*)NULL };
262
263 /* * * * * * * * * * * * * * * * * * * * * * * * * *
264  *
265  *  Description of Aab_Dgux_Int_Varargs fix
266  */
267 #define AAB_DGUX_INT_VARARGS_FIXIDX      7
268 tSCC zAab_Dgux_Int_VarargsName[] =
269      "AAB_dgux_int_varargs";
270
271 /*
272  *  File name selection pattern
273  */
274 tSCC zAab_Dgux_Int_VarargsList[] =
275   "|_int_varargs.h|";
276 /*
277  *  Machine/OS name selection pattern
278  */
279 #define apzAab_Dgux_Int_VarargsMachs (const char**)NULL
280 #define AAB_DGUX_INT_VARARGS_TEST_CT  0
281 #define aAab_Dgux_Int_VarargsTests   (tTestDesc*)NULL
282
283 /*
284  *  Fix Command Arguments for Aab_Dgux_Int_Varargs
285  */
286 static const char* apzAab_Dgux_Int_VarargsPatch[] = {
287 "#ifndef __INT_VARARGS_H\n\
288 #define __INT_VARARGS_H\n\n\
289 /************************************************************************/\n\
290 /* _INT_VARARGS.H - Define the common stuff for varargs/stdarg/stdio.   */\n\
291 /************************************************************************/\n\n\
292 /*\n\
293 ** This file is a DG internal header.  Never include this\n\
294 ** file directly.\n\
295 */\n\n\
296 #ifndef ___int_features_h\n\
297 #include <sys/_int_features.h>\n\
298 #endif\n\n\
299 #if !(defined(_VA_LIST) || defined(_VA_LIST_))\n\
300 #define _VA_LIST\n\
301 #define _VA_LIST_\n\n\
302 #ifdef __LINT__\n\n\
303 #ifdef __STDC__\n\
304 typedef void * va_list;\n\
305 #else\n\
306 typedef char * va_list;\n\
307 #endif\n\n\
308 #else\n\
309 #if _M88K_ANY\n\n\
310 #if defined(__DCC__)\n\n\
311 typedef struct {\n\
312       int     next_arg;\n\
313       int     *mem_ptr;\n\
314       int     *reg_ptr;\n\
315 } va_list;\n\n\
316 #else  /* ! defined(__DCC__) */\n\n\
317 typedef struct {\n\
318       int  __va_arg;       /* argument number */\n\
319       int *__va_stk;       /* start of args passed on stack */\n\
320       int *__va_reg;       /* start of args passed in regs */\n\
321 } va_list;\n\n\
322 #endif  /* ! defined(__DCC__) */\n\n\
323 #elif _IX86_ANY\n\n\
324 #if defined(__GNUC__) || defined(__STDC__)\n\
325 typedef void * va_list;\n\
326 #else\n\
327 typedef char * va_list;\n\
328 #endif\n\n\
329 #endif  /*  _IX86_ANY */\n\n\
330 #endif /* __LINT__ */\n\
331 #endif /*  !(defined(_VA_LIST) || defined(_VA_LIST_)) */\n\
332 #endif /*  #ifndef __INT_VARARGS_H  */\n",
333     (char*)NULL };
334
335 /* * * * * * * * * * * * * * * * * * * * * * * * * *
336  *
337  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
338  */
339 #define AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX 8
340 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
341      "AAB_fd_zero_asm_posix_types_h";
342
343 /*
344  *  File name selection pattern
345  */
346 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
347   "|asm/posix_types.h|";
348 /*
349  *  Machine/OS name selection pattern
350  */
351 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
352         "i[34567]86-*-linux*",
353         (const char*)NULL };
354
355 /*
356  *  content bypass pattern - skip fix if pattern found
357  */
358 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
359        "} while";
360
361 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  1
362 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
363   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
364
365 /*
366  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
367  */
368 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
369 "/* This file fixes a bug in the __FD_ZERO macro\n\
370    for older versions of the Linux kernel. */\n\
371 #ifndef _POSIX_TYPES_H_WRAPPER\n\
372 #include <features.h>\n\
373  #include_next <asm/posix_types.h>\n\n\
374 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
375 #undef __FD_ZERO\n\
376 #define __FD_ZERO(fdsetp) \\\n\
377   do { \\\n\
378     int __d0, __d1; \\\n\
379 \t\t__asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
380 \t\t\t: \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
381 \t\t\t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
382 \t\t\t  \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
383   } while (0)\n\
384 #endif\n\n\
385 #define _POSIX_TYPES_H_WRAPPER\n\
386 #endif /* _POSIX_TYPES_H_WRAPPER */\n",
387     (char*)NULL };
388
389 /* * * * * * * * * * * * * * * * * * * * * * * * * *
390  *
391  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
392  */
393 #define AAB_FD_ZERO_GNU_TYPES_H_FIXIDX   9
394 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
395      "AAB_fd_zero_gnu_types_h";
396
397 /*
398  *  File name selection pattern
399  */
400 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
401   "|gnu/types.h|";
402 /*
403  *  Machine/OS name selection pattern
404  */
405 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
406         "i[34567]86-*-linux*",
407         (const char*)NULL };
408 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
409 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
410
411 /*
412  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
413  */
414 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
415 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
416 #ifndef _TYPES_H_WRAPPER\n\
417 #include <features.h>\n\
418  #include_next <gnu/types.h>\n\n\
419 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
420 #undef __FD_ZERO\n\
421 # define __FD_ZERO(fdsetp) \\\n\
422   do { \\\n\
423     int __d0, __d1; \\\n\
424 \t__asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
425         \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
426         \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
427 \t\t  \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
428   } while (0)\n\
429 #endif\n\n\
430 #define _TYPES_H_WRAPPER\n\
431 #endif /* _TYPES_H_WRAPPER */\n",
432     (char*)NULL };
433
434 /* * * * * * * * * * * * * * * * * * * * * * * * * *
435  *
436  *  Description of Aab_Fd_Zero_Selectbits_H fix
437  */
438 #define AAB_FD_ZERO_SELECTBITS_H_FIXIDX  10
439 tSCC zAab_Fd_Zero_Selectbits_HName[] =
440      "AAB_fd_zero_selectbits_h";
441
442 /*
443  *  File name selection pattern
444  */
445 tSCC zAab_Fd_Zero_Selectbits_HList[] =
446   "|selectbits.h|";
447 /*
448  *  Machine/OS name selection pattern
449  */
450 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
451         "i[34567]86-*-linux*",
452         (const char*)NULL };
453 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
454 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
455
456 /*
457  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
458  */
459 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
460 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
461 #ifndef _SELECTBITS_H_WRAPPER\n\
462 #include <features.h>\n\
463  #include_next <selectbits.h>\n\n\
464 #if defined(__FD_ZERO) && defined(__GLIBC__) \\\n\
465 \t&& defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\n\
466 \t&& __GLIBC_MINOR__ == 0\n\
467 #undef __FD_ZERO\n\
468 #define __FD_ZERO(fdsetp) \\\n\
469   do { \\\n\
470     int __d0, __d1; \\\n\
471   __asm__ __volatile__ (\"cld; rep; stosl\" \\\n\
472                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
473                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\n\
474                                         / sizeof (__fd_mask)), \\\n\
475                           \"1\" ((__fd_mask *) (fdsetp)) \\\n\
476                         : \"memory\"); \\\n\
477   } while (0)\n\
478 #endif\n\n\
479 #define _SELECTBITS_H_WRAPPER\n\
480 #endif /* _SELECTBITS_H_WRAPPER */\n",
481     (char*)NULL };
482
483 /* * * * * * * * * * * * * * * * * * * * * * * * * *
484  *
485  *  Description of Aab_Sun_Memcpy fix
486  */
487 #define AAB_SUN_MEMCPY_FIXIDX            11
488 tSCC zAab_Sun_MemcpyName[] =
489      "AAB_sun_memcpy";
490
491 /*
492  *  File name selection pattern
493  */
494 tSCC zAab_Sun_MemcpyList[] =
495   "|memory.h|";
496 /*
497  *  Machine/OS name selection pattern
498  */
499 #define apzAab_Sun_MemcpyMachs (const char**)NULL
500
501 /*
502  *  content selection pattern - do fix if pattern found
503  */
504 tSCC zAab_Sun_MemcpySelect0[] =
505        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
506
507 #define    AAB_SUN_MEMCPY_TEST_CT  1
508 static tTestDesc aAab_Sun_MemcpyTests[] = {
509   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
510
511 /*
512  *  Fix Command Arguments for Aab_Sun_Memcpy
513  */
514 static const char* apzAab_Sun_MemcpyPatch[] = {
515 "/* This file was generated by fixincludes */\n\
516 #ifndef __memory_h__\n\
517 #define __memory_h__\n\n\
518 #ifdef __STDC__\n\
519 extern void *memccpy();\n\
520 extern void *memchr();\n\
521 extern void *memcpy();\n\
522 extern void *memset();\n\
523 #else\n\
524 extern char *memccpy();\n\
525 extern char *memchr();\n\
526 extern char *memcpy();\n\
527 extern char *memset();\n\
528 #endif /* __STDC__ */\n\n\
529 extern int memcmp();\n\n\
530 #endif /* __memory_h__ */\n",
531     (char*)NULL };
532
533 /* * * * * * * * * * * * * * * * * * * * * * * * * *
534  *
535  *  Description of Aab_Svr4_Replace_Byteorder fix
536  */
537 #define AAB_SVR4_REPLACE_BYTEORDER_FIXIDX 12
538 tSCC zAab_Svr4_Replace_ByteorderName[] =
539      "AAB_svr4_replace_byteorder";
540
541 /*
542  *  File name selection pattern
543  */
544 tSCC zAab_Svr4_Replace_ByteorderList[] =
545   "|sys/byteorder.h|";
546 /*
547  *  Machine/OS name selection pattern
548  */
549 tSCC* apzAab_Svr4_Replace_ByteorderMachs[] = {
550         "*-*-sysv4*",
551         "i[34567]86-*-sysv5*",
552         "i[34567]86-*-udk*",
553         "i[34567]86-*-solaris2.[0-4]",
554         "powerpcle-*-solaris2.[0-4]",
555         "sparc-*-solaris2.[0-4]",
556         (const char*)NULL };
557 #define AAB_SVR4_REPLACE_BYTEORDER_TEST_CT  0
558 #define aAab_Svr4_Replace_ByteorderTests   (tTestDesc*)NULL
559
560 /*
561  *  Fix Command Arguments for Aab_Svr4_Replace_Byteorder
562  */
563 static const char* apzAab_Svr4_Replace_ByteorderPatch[] = {
564 "#ifndef _SYS_BYTEORDER_H\n\
565 #define _SYS_BYTEORDER_H\n\n\
566 /* Functions to convert `short' and `long' quantities from host byte order\n\
567    to (internet) network byte order (i.e. big-endian).\n\n\
568    Written by Ron Guilmette (rfg@ncd.com).\n\n\
569    This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\n\
570    For big-endian machines these functions are essentially no-ops.\n\n\
571    For little-endian machines, we define the functions using specialized\n\
572    asm sequences in cases where doing so yields better code (e.g. i386).  */\n\n\
573 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
574 #error You lose!  This file is only useful with GNU compilers.\n\
575 #endif\n\n\
576 #ifndef __BYTE_ORDER__\n\
577 /* Byte order defines.  These are as defined on UnixWare 1.1, but with\n\
578    double underscores added at the front and back.  */\n\
579 #define __LITTLE_ENDIAN__   1234\n\
580 #define __BIG_ENDIAN__      4321\n\
581 #define __PDP_ENDIAN__      3412\n\
582 #endif\n\n\
583 #ifdef __STDC__\n\
584 static __inline__ unsigned long htonl (unsigned long);\n\
585 static __inline__ unsigned short htons (unsigned int);\n\
586 static __inline__ unsigned long ntohl (unsigned long);\n\
587 static __inline__ unsigned short ntohs (unsigned int);\n\
588 #endif /* defined (__STDC__) */\n\n\
589 #if defined (__i386__)\n\n\
590 #ifndef __BYTE_ORDER__\n\
591 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
592 #endif\n\n\
593 /* Convert a host long to a network long.  */\n\n\
594 /* We must use a new-style function definition, so that this will also\n\
595    be valid for C++.  */\n\
596 static __inline__ unsigned long\n\
597 htonl (unsigned long __arg)\n\
598 {\n\
599   register unsigned long __result;\n\n\
600   __asm__ (\"xchg%B0 %b0,%h0\n\
601 \tror%L0 $16,%0\n\
602 \txchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
603   return __result;\n\
604 }\n\n\
605 /* Convert a host short to a network short.  */\n\n\
606 static __inline__ unsigned short\n\
607 htons (unsigned int __arg)\n\
608 {\n\
609   register unsigned short __result;\n\n\
610   __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
611   return __result;\n\
612 }\n\n\
613 #elif ((defined (__i860__) && !defined (__i860_big_endian__))\t\\\n\
614        || defined (__ns32k__) || defined (__vax__)\t\t\\\n\
615        || defined (__spur__) || defined (__arm__))\n\n\
616 #ifndef __BYTE_ORDER__\n\
617 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
618 #endif\n\n\
619 /* For other little-endian machines, using C code is just as efficient as\n\
620    using assembly code.  */\n\n\
621 /* Convert a host long to a network long.  */\n\n\
622 static __inline__ unsigned long\n\
623 htonl (unsigned long __arg)\n\
624 {\n\
625   register unsigned long __result;\n\n\
626   __result = (__arg >> 24) & 0x000000ff;\n\
627   __result |= (__arg >> 8) & 0x0000ff00;\n\
628   __result |= (__arg << 8) & 0x00ff0000;\n\
629   __result |= (__arg << 24) & 0xff000000;\n\
630   return __result;\n\
631 }\n\n\
632 /* Convert a host short to a network short.  */\n\n\
633 static __inline__ unsigned short\n\
634 htons (unsigned int __arg)\n\
635 {\n\
636   register unsigned short __result;\n\n\
637   __result = (__arg << 8) & 0xff00;\n\
638   __result |= (__arg >> 8) & 0x00ff;\n\
639   return __result;\n\
640 }\n\n\
641 #else /* must be a big-endian machine */\n\n\
642 #ifndef __BYTE_ORDER__\n\
643 #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
644 #endif\n\n\
645 /* Convert a host long to a network long.  */\n\n\
646 static __inline__ unsigned long\n\
647 htonl (unsigned long __arg)\n\
648 {\n\
649   return __arg;\n\
650 }\n\n\
651 /* Convert a host short to a network short.  */\n\n\
652 static __inline__ unsigned short\n\
653 htons (unsigned int __arg)\n\
654 {\n\
655   return __arg;\n\
656 }\n\n\
657 #endif /* big-endian */\n\n\
658 /* Convert a network long to a host long.  */\n\n\
659 static __inline__ unsigned long\n\
660 ntohl (unsigned long __arg)\n\
661 {\n\
662   return htonl (__arg);\n\
663 }\n\n\
664 /* Convert a network short to a host short.  */\n\n\
665 static __inline__ unsigned short\n\
666 ntohs (unsigned int __arg)\n\
667 {\n\
668   return htons (__arg);\n\
669 }\n\
670 #endif\n",
671     (char*)NULL };
672
673 /* * * * * * * * * * * * * * * * * * * * * * * * * *
674  *
675  *  Description of Aab_Ultrix_Ansi_Compat fix
676  */
677 #define AAB_ULTRIX_ANSI_COMPAT_FIXIDX    13
678 tSCC zAab_Ultrix_Ansi_CompatName[] =
679      "AAB_ultrix_ansi_compat";
680
681 /*
682  *  File name selection pattern
683  */
684 tSCC zAab_Ultrix_Ansi_CompatList[] =
685   "|ansi_compat.h|";
686 /*
687  *  Machine/OS name selection pattern
688  */
689 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
690
691 /*
692  *  content selection pattern - do fix if pattern found
693  */
694 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
695        "ULTRIX";
696
697 #define    AAB_ULTRIX_ANSI_COMPAT_TEST_CT  1
698 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
699   { TT_EGREP,    zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
700
701 /*
702  *  Fix Command Arguments for Aab_Ultrix_Ansi_Compat
703  */
704 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
705 "/* This file intentionally left blank.  */\n",
706     (char*)NULL };
707
708 /* * * * * * * * * * * * * * * * * * * * * * * * * *
709  *
710  *  Description of Aab_Ultrix_Limits fix
711  */
712 #define AAB_ULTRIX_LIMITS_FIXIDX         14
713 tSCC zAab_Ultrix_LimitsName[] =
714      "AAB_ultrix_limits";
715
716 /*
717  *  File name selection pattern
718  */
719 tSCC zAab_Ultrix_LimitsList[] =
720   "|limits.h|";
721 /*
722  *  Machine/OS name selection pattern
723  */
724 tSCC* apzAab_Ultrix_LimitsMachs[] = {
725         "*-*-ultrix4.3",
726         (const char*)NULL };
727 #define AAB_ULTRIX_LIMITS_TEST_CT  0
728 #define aAab_Ultrix_LimitsTests   (tTestDesc*)NULL
729
730 /*
731  *  Fix Command Arguments for Aab_Ultrix_Limits
732  */
733 static const char* apzAab_Ultrix_LimitsPatch[] = {
734 "/*\t@(#)limits.h\t\t\t\t*/\n\
735 /* This file was generated by fixincludes\t*/\n\
736 #ifndef _LIMITS_INCLUDED\n\
737 #define _LIMITS_INCLUDED\n\
738 #include <sys/limits.h>\n\
739 #endif /* _LIMITS_INCLUDED */\n",
740     (char*)NULL };
741
742 /* * * * * * * * * * * * * * * * * * * * * * * * * *
743  *
744  *  Description of Aab_Ultrix_Memory fix
745  */
746 #define AAB_ULTRIX_MEMORY_FIXIDX         15
747 tSCC zAab_Ultrix_MemoryName[] =
748      "AAB_ultrix_memory";
749
750 /*
751  *  File name selection pattern
752  */
753 tSCC zAab_Ultrix_MemoryList[] =
754   "|memory.h|";
755 /*
756  *  Machine/OS name selection pattern
757  */
758 tSCC* apzAab_Ultrix_MemoryMachs[] = {
759         "*-*-ultrix4.3",
760         (const char*)NULL };
761 #define AAB_ULTRIX_MEMORY_TEST_CT  0
762 #define aAab_Ultrix_MemoryTests   (tTestDesc*)NULL
763
764 /*
765  *  Fix Command Arguments for Aab_Ultrix_Memory
766  */
767 static const char* apzAab_Ultrix_MemoryPatch[] = {
768 "/*\t@(#)memory.h\t\t\t\t*/\n\
769 /* This file was generated by fixincludes\t*/\n\
770 #ifndef _MEMORY_INCLUDED\n\
771 #define _MEMORY_INCLUDED\n\
772 #include <strings.h>\n\
773 #endif /* _MEMORY_INCLUDED */\n",
774     (char*)NULL };
775
776 /* * * * * * * * * * * * * * * * * * * * * * * * * *
777  *
778  *  Description of Aab_Ultrix_String fix
779  */
780 #define AAB_ULTRIX_STRING_FIXIDX         16
781 tSCC zAab_Ultrix_StringName[] =
782      "AAB_ultrix_string";
783
784 /*
785  *  File name selection pattern
786  */
787 tSCC zAab_Ultrix_StringList[] =
788   "|string.h|";
789 /*
790  *  Machine/OS name selection pattern
791  */
792 tSCC* apzAab_Ultrix_StringMachs[] = {
793         "*-*-ultrix4.3",
794         (const char*)NULL };
795 #define AAB_ULTRIX_STRING_TEST_CT  0
796 #define aAab_Ultrix_StringTests   (tTestDesc*)NULL
797
798 /*
799  *  Fix Command Arguments for Aab_Ultrix_String
800  */
801 static const char* apzAab_Ultrix_StringPatch[] = {
802 "/*\t@(#)string.h\t\t\t\t*/\n\
803 /* This file was generated by fixincludes\t*/\n\
804 #ifndef _STRING_INCLUDED\n\
805 #define _STRING_INCLUDED\n\
806 #include <strings.h>\n\
807 #endif /* _STRING_INCLUDED */\n",
808     (char*)NULL };
809
810 /* * * * * * * * * * * * * * * * * * * * * * * * * *
811  *
812  *  Description of Aix_Pthread fix
813  */
814 #define AIX_PTHREAD_FIXIDX               17
815 tSCC zAix_PthreadName[] =
816      "aix_pthread";
817
818 /*
819  *  File name selection pattern
820  */
821 tSCC zAix_PthreadList[] =
822   "|pthread.h|";
823 /*
824  *  Machine/OS name selection pattern
825  */
826 #define apzAix_PthreadMachs (const char**)NULL
827
828 /*
829  *  content selection pattern - do fix if pattern found
830  */
831 tSCC zAix_PthreadSelect0[] =
832        "(#define [A-Za-z_0-9]+)(\\\\\n\
833 [^A-Za-z_0-9 \t\n\
834 (])";
835
836 #define    AIX_PTHREAD_TEST_CT  1
837 static tTestDesc aAix_PthreadTests[] = {
838   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
839
840 /*
841  *  Fix Command Arguments for Aix_Pthread
842  */
843 static const char* apzAix_PthreadPatch[] = {
844     "format",
845     "%1 %2",
846     (char*)NULL };
847
848 /* * * * * * * * * * * * * * * * * * * * * * * * * *
849  *
850  *  Description of Aix_Sysmachine fix
851  */
852 #define AIX_SYSMACHINE_FIXIDX            18
853 tSCC zAix_SysmachineName[] =
854      "aix_sysmachine";
855
856 /*
857  *  File name selection pattern
858  */
859 tSCC zAix_SysmachineList[] =
860   "|sys/machine.h|";
861 /*
862  *  Machine/OS name selection pattern
863  */
864 #define apzAix_SysmachineMachs (const char**)NULL
865
866 /*
867  *  content selection pattern - do fix if pattern found
868  */
869 tSCC zAix_SysmachineSelect0[] =
870        "\\\\ +\n";
871
872 #define    AIX_SYSMACHINE_TEST_CT  1
873 static tTestDesc aAix_SysmachineTests[] = {
874   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
875
876 /*
877  *  Fix Command Arguments for Aix_Sysmachine
878  */
879 static const char* apzAix_SysmachinePatch[] = {
880     "format",
881     "\\\n",
882     (char*)NULL };
883
884 /* * * * * * * * * * * * * * * * * * * * * * * * * *
885  *
886  *  Description of Aix_Syswait fix
887  */
888 #define AIX_SYSWAIT_FIXIDX               19
889 tSCC zAix_SyswaitName[] =
890      "aix_syswait";
891
892 /*
893  *  File name selection pattern
894  */
895 tSCC zAix_SyswaitList[] =
896   "|sys/wait.h|";
897 /*
898  *  Machine/OS name selection pattern
899  */
900 #define apzAix_SyswaitMachs (const char**)NULL
901
902 /*
903  *  content selection pattern - do fix if pattern found
904  */
905 tSCC zAix_SyswaitSelect0[] =
906        "^extern pid_t wait3\\(\\);\n";
907 tSCC zAix_SyswaitSelect1[] =
908        "bos325,";
909
910 #define    AIX_SYSWAIT_TEST_CT  2
911 static tTestDesc aAix_SyswaitTests[] = {
912   { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL },
913   { TT_EGREP,    zAix_SyswaitSelect1, (regex_t*)NULL }, };
914
915 /*
916  *  Fix Command Arguments for Aix_Syswait
917  */
918 static const char* apzAix_SyswaitPatch[] = {
919     "format",
920     "struct rusage;\n\
921 %0",
922     (char*)NULL };
923
924 /* * * * * * * * * * * * * * * * * * * * * * * * * *
925  *
926  *  Description of Aix_Volatile fix
927  */
928 #define AIX_VOLATILE_FIXIDX              20
929 tSCC zAix_VolatileName[] =
930      "aix_volatile";
931
932 /*
933  *  File name selection pattern
934  */
935 tSCC zAix_VolatileList[] =
936   "|sys/signal.h|";
937 /*
938  *  Machine/OS name selection pattern
939  */
940 #define apzAix_VolatileMachs (const char**)NULL
941
942 /*
943  *  content selection pattern - do fix if pattern found
944  */
945 tSCC zAix_VolatileSelect0[] =
946        "typedef volatile int sig_atomic_t";
947
948 #define    AIX_VOLATILE_TEST_CT  1
949 static tTestDesc aAix_VolatileTests[] = {
950   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
951
952 /*
953  *  Fix Command Arguments for Aix_Volatile
954  */
955 static const char* apzAix_VolatilePatch[] = {
956     "format",
957     "typedef int sig_atomic_t",
958     (char*)NULL };
959
960 /* * * * * * * * * * * * * * * * * * * * * * * * * *
961  *
962  *  Description of Alpha___Assert fix
963  */
964 #define ALPHA___ASSERT_FIXIDX            21
965 tSCC zAlpha___AssertName[] =
966      "alpha___assert";
967
968 /*
969  *  File name selection pattern
970  */
971 tSCC zAlpha___AssertList[] =
972   "|assert.h|";
973 /*
974  *  Machine/OS name selection pattern
975  */
976 #define apzAlpha___AssertMachs (const char**)NULL
977
978 /*
979  *  content selection pattern - do fix if pattern found
980  */
981 tSCC zAlpha___AssertSelect0[] =
982        "__assert\\(char \\*, char \\*, int\\)";
983
984 #define    ALPHA___ASSERT_TEST_CT  1
985 static tTestDesc aAlpha___AssertTests[] = {
986   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
987
988 /*
989  *  Fix Command Arguments for Alpha___Assert
990  */
991 static const char* apzAlpha___AssertPatch[] = {
992     "format",
993     "__assert(const char *, const char *, int)",
994     (char*)NULL };
995
996 /* * * * * * * * * * * * * * * * * * * * * * * * * *
997  *
998  *  Description of Alpha_Getopt fix
999  */
1000 #define ALPHA_GETOPT_FIXIDX              22
1001 tSCC zAlpha_GetoptName[] =
1002      "alpha_getopt";
1003
1004 /*
1005  *  File name selection pattern
1006  */
1007 tSCC zAlpha_GetoptList[] =
1008   "|stdio.h|stdlib.h|";
1009 /*
1010  *  Machine/OS name selection pattern
1011  */
1012 #define apzAlpha_GetoptMachs (const char**)NULL
1013
1014 /*
1015  *  content selection pattern - do fix if pattern found
1016  */
1017 tSCC zAlpha_GetoptSelect0[] =
1018        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
1019
1020 #define    ALPHA_GETOPT_TEST_CT  1
1021 static tTestDesc aAlpha_GetoptTests[] = {
1022   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
1023
1024 /*
1025  *  Fix Command Arguments for Alpha_Getopt
1026  */
1027 static const char* apzAlpha_GetoptPatch[] = {
1028     "format",
1029     "getopt(int, char *const[], const char *)",
1030     (char*)NULL };
1031
1032 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1033  *
1034  *  Description of Alpha_Parens fix
1035  */
1036 #define ALPHA_PARENS_FIXIDX              23
1037 tSCC zAlpha_ParensName[] =
1038      "alpha_parens";
1039
1040 /*
1041  *  File name selection pattern
1042  */
1043 tSCC zAlpha_ParensList[] =
1044   "|sym.h|";
1045 /*
1046  *  Machine/OS name selection pattern
1047  */
1048 #define apzAlpha_ParensMachs (const char**)NULL
1049
1050 /*
1051  *  content selection pattern - do fix if pattern found
1052  */
1053 tSCC zAlpha_ParensSelect0[] =
1054        "#ifndef\\(__mips64\\)";
1055
1056 #define    ALPHA_PARENS_TEST_CT  1
1057 static tTestDesc aAlpha_ParensTests[] = {
1058   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
1059
1060 /*
1061  *  Fix Command Arguments for Alpha_Parens
1062  */
1063 static const char* apzAlpha_ParensPatch[] = {
1064     "format",
1065     "#ifndef __mips64",
1066     (char*)NULL };
1067
1068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1069  *
1070  *  Description of Alpha_Sbrk fix
1071  */
1072 #define ALPHA_SBRK_FIXIDX                24
1073 tSCC zAlpha_SbrkName[] =
1074      "alpha_sbrk";
1075
1076 /*
1077  *  File name selection pattern
1078  */
1079 tSCC zAlpha_SbrkList[] =
1080   "|unistd.h|";
1081 /*
1082  *  Machine/OS name selection pattern
1083  */
1084 #define apzAlpha_SbrkMachs (const char**)NULL
1085
1086 /*
1087  *  content selection pattern - do fix if pattern found
1088  */
1089 tSCC zAlpha_SbrkSelect0[] =
1090        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1091
1092 #define    ALPHA_SBRK_TEST_CT  1
1093 static tTestDesc aAlpha_SbrkTests[] = {
1094   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1095
1096 /*
1097  *  Fix Command Arguments for Alpha_Sbrk
1098  */
1099 static const char* apzAlpha_SbrkPatch[] = {
1100     "format",
1101     "void *sbrk(",
1102     (char*)NULL };
1103
1104 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1105  *
1106  *  Description of Arm_Norcroft_Hint fix
1107  */
1108 #define ARM_NORCROFT_HINT_FIXIDX         25
1109 tSCC zArm_Norcroft_HintName[] =
1110      "arm_norcroft_hint";
1111
1112 /*
1113  *  File name selection pattern
1114  */
1115 tSCC zArm_Norcroft_HintList[] =
1116   "|X11/Intrinsic.h|";
1117 /*
1118  *  Machine/OS name selection pattern
1119  */
1120 #define apzArm_Norcroft_HintMachs (const char**)NULL
1121
1122 /*
1123  *  content selection pattern - do fix if pattern found
1124  */
1125 tSCC zArm_Norcroft_HintSelect0[] =
1126        "___type p_type";
1127
1128 #define    ARM_NORCROFT_HINT_TEST_CT  1
1129 static tTestDesc aArm_Norcroft_HintTests[] = {
1130   { TT_EGREP,    zArm_Norcroft_HintSelect0, (regex_t*)NULL }, };
1131
1132 /*
1133  *  Fix Command Arguments for Arm_Norcroft_Hint
1134  */
1135 static const char* apzArm_Norcroft_HintPatch[] = {
1136     "format",
1137     "p_type",
1138     (char*)NULL };
1139
1140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1141  *
1142  *  Description of Arm_Wchar fix
1143  */
1144 #define ARM_WCHAR_FIXIDX                 26
1145 tSCC zArm_WcharName[] =
1146      "arm_wchar";
1147
1148 /*
1149  *  File name selection pattern
1150  */
1151 tSCC zArm_WcharList[] =
1152   "|stdlib.h|";
1153 /*
1154  *  Machine/OS name selection pattern
1155  */
1156 #define apzArm_WcharMachs (const char**)NULL
1157
1158 /*
1159  *  content selection pattern - do fix if pattern found
1160  */
1161 tSCC zArm_WcharSelect0[] =
1162        "#[ \t]*define[ \t]*__wchar_t";
1163
1164 #define    ARM_WCHAR_TEST_CT  1
1165 static tTestDesc aArm_WcharTests[] = {
1166   { TT_EGREP,    zArm_WcharSelect0, (regex_t*)NULL }, };
1167
1168 /*
1169  *  Fix Command Arguments for Arm_Wchar
1170  */
1171 static const char* apzArm_WcharPatch[] = {
1172     "format",
1173     "%1_GCC_WCHAR_T",
1174     "(#[ \t]*(ifndef|define)[ \t]+)__wchar_t",
1175     (char*)NULL };
1176
1177 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1178  *
1179  *  Description of Aux_Asm fix
1180  */
1181 #define AUX_ASM_FIXIDX                   27
1182 tSCC zAux_AsmName[] =
1183      "aux_asm";
1184
1185 /*
1186  *  File name selection pattern
1187  */
1188 tSCC zAux_AsmList[] =
1189   "|sys/param.h|";
1190 /*
1191  *  Machine/OS name selection pattern
1192  */
1193 #define apzAux_AsmMachs (const char**)NULL
1194
1195 /*
1196  *  content selection pattern - do fix if pattern found
1197  */
1198 tSCC zAux_AsmSelect0[] =
1199        "#ifndef NOINLINE";
1200
1201 #define    AUX_ASM_TEST_CT  1
1202 static tTestDesc aAux_AsmTests[] = {
1203   { TT_EGREP,    zAux_AsmSelect0, (regex_t*)NULL }, };
1204
1205 /*
1206  *  Fix Command Arguments for Aux_Asm
1207  */
1208 static const char* apzAux_AsmPatch[] = {
1209     "format",
1210     "#if !defined(NOINLINE) && !defined(__GNUC__)",
1211     (char*)NULL };
1212
1213 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1214  *
1215  *  Description of Avoid_Bool_Define fix
1216  */
1217 #define AVOID_BOOL_DEFINE_FIXIDX         28
1218 tSCC zAvoid_Bool_DefineName[] =
1219      "avoid_bool_define";
1220
1221 /*
1222  *  File name selection pattern
1223  */
1224 tSCC zAvoid_Bool_DefineList[] =
1225   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1226 /*
1227  *  Machine/OS name selection pattern
1228  */
1229 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1230
1231 /*
1232  *  content selection pattern - do fix if pattern found
1233  */
1234 tSCC zAvoid_Bool_DefineSelect0[] =
1235        "#[ \t]*define[ \t]+bool[ \t]";
1236
1237 /*
1238  *  content bypass pattern - skip fix if pattern found
1239  */
1240 tSCC zAvoid_Bool_DefineBypass0[] =
1241        "we must use the C\\+\\+ compiler's type";
1242
1243 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1244 static tTestDesc aAvoid_Bool_DefineTests[] = {
1245   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1246   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1247
1248 /*
1249  *  Fix Command Arguments for Avoid_Bool_Define
1250  */
1251 static const char* apzAvoid_Bool_DefinePatch[] = {
1252     "format",
1253     "#ifndef __cplusplus\n\
1254 %0\n\
1255 #endif",
1256     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1257     (char*)NULL };
1258
1259 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1260  *
1261  *  Description of Avoid_Bool_Type fix
1262  */
1263 #define AVOID_BOOL_TYPE_FIXIDX           29
1264 tSCC zAvoid_Bool_TypeName[] =
1265      "avoid_bool_type";
1266
1267 /*
1268  *  File name selection pattern
1269  */
1270 tSCC zAvoid_Bool_TypeList[] =
1271   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1272 /*
1273  *  Machine/OS name selection pattern
1274  */
1275 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1276
1277 /*
1278  *  content selection pattern - do fix if pattern found
1279  */
1280 tSCC zAvoid_Bool_TypeSelect0[] =
1281        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1282
1283 /*
1284  *  content bypass pattern - skip fix if pattern found
1285  */
1286 tSCC zAvoid_Bool_TypeBypass0[] =
1287        "we must use the C\\+\\+ compiler's type";
1288
1289 #define    AVOID_BOOL_TYPE_TEST_CT  2
1290 static tTestDesc aAvoid_Bool_TypeTests[] = {
1291   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1292   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1293
1294 /*
1295  *  Fix Command Arguments for Avoid_Bool_Type
1296  */
1297 static const char* apzAvoid_Bool_TypePatch[] = {
1298     "format",
1299     "#ifndef __cplusplus\n\
1300 %0\n\
1301 #endif",
1302     (char*)NULL };
1303
1304 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1305  *
1306  *  Description of Avoid_Wchar_T_Type fix
1307  */
1308 #define AVOID_WCHAR_T_TYPE_FIXIDX        30
1309 tSCC zAvoid_Wchar_T_TypeName[] =
1310      "avoid_wchar_t_type";
1311
1312 /*
1313  *  File name selection pattern
1314  */
1315 #define zAvoid_Wchar_T_TypeList (char*)NULL
1316 /*
1317  *  Machine/OS name selection pattern
1318  */
1319 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1320
1321 /*
1322  *  content selection pattern - do fix if pattern found
1323  */
1324 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1325        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1326
1327 #define    AVOID_WCHAR_T_TYPE_TEST_CT  1
1328 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1329   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1330
1331 /*
1332  *  Fix Command Arguments for Avoid_Wchar_T_Type
1333  */
1334 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1335     "format",
1336     "#ifndef __cplusplus\n\
1337 %0\n\
1338 #endif",
1339     (char*)NULL };
1340
1341 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1342  *
1343  *  Description of Bad_Lval fix
1344  */
1345 #define BAD_LVAL_FIXIDX                  31
1346 tSCC zBad_LvalName[] =
1347      "bad_lval";
1348
1349 /*
1350  *  File name selection pattern
1351  */
1352 tSCC zBad_LvalList[] =
1353   "|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|";
1354 /*
1355  *  Machine/OS name selection pattern
1356  */
1357 #define apzBad_LvalMachs (const char**)NULL
1358
1359 /*
1360  *  content selection pattern - do fix if pattern found
1361  */
1362 tSCC zBad_LvalSelect0[] =
1363        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
1364
1365 #define    BAD_LVAL_TEST_CT  1
1366 static tTestDesc aBad_LvalTests[] = {
1367   { TT_EGREP,    zBad_LvalSelect0, (regex_t*)NULL }, };
1368
1369 /*
1370  *  Fix Command Arguments for Bad_Lval
1371  */
1372 static const char* apzBad_LvalPatch[] = { "sed",
1373     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1374     (char*)NULL };
1375
1376 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1377  *
1378  *  Description of Bad_Struct_Term fix
1379  */
1380 #define BAD_STRUCT_TERM_FIXIDX           32
1381 tSCC zBad_Struct_TermName[] =
1382      "bad_struct_term";
1383
1384 /*
1385  *  File name selection pattern
1386  */
1387 tSCC zBad_Struct_TermList[] =
1388   "|curses.h|";
1389 /*
1390  *  Machine/OS name selection pattern
1391  */
1392 #define apzBad_Struct_TermMachs (const char**)NULL
1393
1394 /*
1395  *  content selection pattern - do fix if pattern found
1396  */
1397 tSCC zBad_Struct_TermSelect0[] =
1398        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1399
1400 #define    BAD_STRUCT_TERM_TEST_CT  1
1401 static tTestDesc aBad_Struct_TermTests[] = {
1402   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1403
1404 /*
1405  *  Fix Command Arguments for Bad_Struct_Term
1406  */
1407 static const char* apzBad_Struct_TermPatch[] = {
1408     "format",
1409     "struct term;",
1410     (char*)NULL };
1411
1412 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1413  *
1414  *  Description of Badquote fix
1415  */
1416 #define BADQUOTE_FIXIDX                  33
1417 tSCC zBadquoteName[] =
1418      "badquote";
1419
1420 /*
1421  *  File name selection pattern
1422  */
1423 tSCC zBadquoteList[] =
1424   "|sundev/vuid_event.h|";
1425 /*
1426  *  Machine/OS name selection pattern
1427  */
1428 #define apzBadquoteMachs (const char**)NULL
1429
1430 /*
1431  *  content selection pattern - do fix if pattern found
1432  */
1433 tSCC zBadquoteSelect0[] =
1434        "doesn't";
1435
1436 #define    BADQUOTE_TEST_CT  1
1437 static tTestDesc aBadquoteTests[] = {
1438   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1439
1440 /*
1441  *  Fix Command Arguments for Badquote
1442  */
1443 static const char* apzBadquotePatch[] = {
1444     "format",
1445     "does not",
1446     (char*)NULL };
1447
1448 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1449  *
1450  *  Description of Broken_Assert_Stdio fix
1451  */
1452 #define BROKEN_ASSERT_STDIO_FIXIDX       34
1453 tSCC zBroken_Assert_StdioName[] =
1454      "broken_assert_stdio";
1455
1456 /*
1457  *  File name selection pattern
1458  */
1459 tSCC zBroken_Assert_StdioList[] =
1460   "|assert.h|";
1461 /*
1462  *  Machine/OS name selection pattern
1463  */
1464 #define apzBroken_Assert_StdioMachs (const char**)NULL
1465
1466 /*
1467  *  content selection pattern - do fix if pattern found
1468  */
1469 tSCC zBroken_Assert_StdioSelect0[] =
1470        "stderr";
1471
1472 /*
1473  *  content bypass pattern - skip fix if pattern found
1474  */
1475 tSCC zBroken_Assert_StdioBypass0[] =
1476        "include.*stdio\\.h";
1477
1478 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1479 static tTestDesc aBroken_Assert_StdioTests[] = {
1480   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1481   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1482
1483 /*
1484  *  Fix Command Arguments for Broken_Assert_Stdio
1485  */
1486 static const char* apzBroken_Assert_StdioPatch[] = {
1487     "wrap",
1488     "#include <stdio.h>\n",
1489     (char*)NULL };
1490
1491 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1492  *
1493  *  Description of Broken_Assert_Stdlib fix
1494  */
1495 #define BROKEN_ASSERT_STDLIB_FIXIDX      35
1496 tSCC zBroken_Assert_StdlibName[] =
1497      "broken_assert_stdlib";
1498
1499 /*
1500  *  File name selection pattern
1501  */
1502 tSCC zBroken_Assert_StdlibList[] =
1503   "|assert.h|";
1504 /*
1505  *  Machine/OS name selection pattern
1506  */
1507 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1508
1509 /*
1510  *  content selection pattern - do fix if pattern found
1511  */
1512 tSCC zBroken_Assert_StdlibSelect0[] =
1513        "exit *\\(|abort *\\(";
1514
1515 /*
1516  *  content bypass pattern - skip fix if pattern found
1517  */
1518 tSCC zBroken_Assert_StdlibBypass0[] =
1519        "include.*stdlib\\.h";
1520
1521 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1522 static tTestDesc aBroken_Assert_StdlibTests[] = {
1523   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1524   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1525
1526 /*
1527  *  Fix Command Arguments for Broken_Assert_Stdlib
1528  */
1529 static const char* apzBroken_Assert_StdlibPatch[] = {
1530     "wrap",
1531     "#ifdef __cplusplus\n\
1532 #include <stdlib.h>\n\
1533 #endif\n",
1534     (char*)NULL };
1535
1536 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1537  *
1538  *  Description of Broken_Cabs fix
1539  */
1540 #define BROKEN_CABS_FIXIDX               36
1541 tSCC zBroken_CabsName[] =
1542      "broken_cabs";
1543
1544 /*
1545  *  File name selection pattern
1546  */
1547 tSCC zBroken_CabsList[] =
1548   "|math.h|";
1549 /*
1550  *  Machine/OS name selection pattern
1551  */
1552 #define apzBroken_CabsMachs (const char**)NULL
1553
1554 /*
1555  *  content selection pattern - do fix if pattern found
1556  */
1557 tSCC zBroken_CabsSelect0[] =
1558        "^extern[ \\t]+double[ \\t]+cabs";
1559
1560 #define    BROKEN_CABS_TEST_CT  1
1561 static tTestDesc aBroken_CabsTests[] = {
1562   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1563
1564 /*
1565  *  Fix Command Arguments for Broken_Cabs
1566  */
1567 static const char* apzBroken_CabsPatch[] = {
1568     "format",
1569     "",
1570     "^extern[ \t]+double[ \t]+cabs\\((struct dbl_hypot|)\\);",
1571     (char*)NULL };
1572
1573 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1574  *
1575  *  Description of Ctrl_Quotes_Def fix
1576  */
1577 #define CTRL_QUOTES_DEF_FIXIDX           37
1578 tSCC zCtrl_Quotes_DefName[] =
1579      "ctrl_quotes_def";
1580
1581 /*
1582  *  File name selection pattern
1583  */
1584 #define zCtrl_Quotes_DefList (char*)NULL
1585 /*
1586  *  Machine/OS name selection pattern
1587  */
1588 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1589
1590 /*
1591  *  content selection pattern - do fix if pattern found
1592  */
1593 tSCC zCtrl_Quotes_DefSelect0[] =
1594        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1595
1596 #define    CTRL_QUOTES_DEF_TEST_CT  1
1597 static tTestDesc aCtrl_Quotes_DefTests[] = {
1598   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1599
1600 /*
1601  *  Fix Command Arguments for Ctrl_Quotes_Def
1602  */
1603 static const char* apzCtrl_Quotes_DefPatch[] = {
1604     "char_macro_def",
1605     "CTRL",
1606     (char*)NULL };
1607
1608 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1609  *
1610  *  Description of Ctrl_Quotes_Use fix
1611  */
1612 #define CTRL_QUOTES_USE_FIXIDX           38
1613 tSCC zCtrl_Quotes_UseName[] =
1614      "ctrl_quotes_use";
1615
1616 /*
1617  *  File name selection pattern
1618  */
1619 #define zCtrl_Quotes_UseList (char*)NULL
1620 /*
1621  *  Machine/OS name selection pattern
1622  */
1623 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1624
1625 /*
1626  *  content selection pattern - do fix if pattern found
1627  */
1628 tSCC zCtrl_Quotes_UseSelect0[] =
1629        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1630
1631 #define    CTRL_QUOTES_USE_TEST_CT  1
1632 static tTestDesc aCtrl_Quotes_UseTests[] = {
1633   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1634
1635 /*
1636  *  Fix Command Arguments for Ctrl_Quotes_Use
1637  */
1638 static const char* apzCtrl_Quotes_UsePatch[] = {
1639     "char_macro_use",
1640     "CTRL",
1641     (char*)NULL };
1642
1643 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1644  *
1645  *  Description of Cxx_Unready fix
1646  */
1647 #define CXX_UNREADY_FIXIDX               39
1648 tSCC zCxx_UnreadyName[] =
1649      "cxx_unready";
1650
1651 /*
1652  *  File name selection pattern
1653  */
1654 tSCC zCxx_UnreadyList[] =
1655   "|sys/mman.h|rpc/types.h|";
1656 /*
1657  *  Machine/OS name selection pattern
1658  */
1659 #define apzCxx_UnreadyMachs (const char**)NULL
1660
1661 /*
1662  *  content selection pattern - do fix if pattern found
1663  */
1664 tSCC zCxx_UnreadySelect0[] =
1665        "[^#]+malloc.*;";
1666
1667 /*
1668  *  content bypass pattern - skip fix if pattern found
1669  */
1670 tSCC zCxx_UnreadyBypass0[] =
1671        "\"C\"|__BEGIN_DECLS";
1672
1673 #define    CXX_UNREADY_TEST_CT  2
1674 static tTestDesc aCxx_UnreadyTests[] = {
1675   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1676   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1677
1678 /*
1679  *  Fix Command Arguments for Cxx_Unready
1680  */
1681 static const char* apzCxx_UnreadyPatch[] = {
1682     "wrap",
1683     "#ifdef __cplusplus\n\
1684 extern \"C\" {\n\
1685 #endif\n",
1686     "#ifdef __cplusplus\n\
1687 }\n\
1688 #endif\n",
1689     (char*)NULL };
1690
1691 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1692  *
1693  *  Description of Dec_Intern_Asm fix
1694  */
1695 #define DEC_INTERN_ASM_FIXIDX            40
1696 tSCC zDec_Intern_AsmName[] =
1697      "dec_intern_asm";
1698
1699 /*
1700  *  File name selection pattern
1701  */
1702 tSCC zDec_Intern_AsmList[] =
1703   "|c_asm.h|";
1704 /*
1705  *  Machine/OS name selection pattern
1706  */
1707 #define apzDec_Intern_AsmMachs (const char**)NULL
1708 #define DEC_INTERN_ASM_TEST_CT  0
1709 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1710
1711 /*
1712  *  Fix Command Arguments for Dec_Intern_Asm
1713  */
1714 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1715     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1716 #ifdef __DECC\n",
1717     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1718 #endif\n",
1719     (char*)NULL };
1720
1721 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1722  *
1723  *  Description of Djgpp_Wchar_H fix
1724  */
1725 #define DJGPP_WCHAR_H_FIXIDX             41
1726 tSCC zDjgpp_Wchar_HName[] =
1727      "djgpp_wchar_h";
1728
1729 /*
1730  *  File name selection pattern
1731  */
1732 #define zDjgpp_Wchar_HList (char*)NULL
1733 /*
1734  *  Machine/OS name selection pattern
1735  */
1736 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1737
1738 /*
1739  *  content selection pattern - do fix if pattern found
1740  */
1741 tSCC zDjgpp_Wchar_HSelect0[] =
1742        "__DJ_wint_t";
1743
1744 /*
1745  *  content bypass pattern - skip fix if pattern found
1746  */
1747 tSCC zDjgpp_Wchar_HBypass0[] =
1748        "sys/djtypes.h";
1749
1750 #define    DJGPP_WCHAR_H_TEST_CT  2
1751 static tTestDesc aDjgpp_Wchar_HTests[] = {
1752   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1753   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1754
1755 /*
1756  *  Fix Command Arguments for Djgpp_Wchar_H
1757  */
1758 static const char* apzDjgpp_Wchar_HPatch[] = {
1759     "format",
1760     "%0\n\
1761 #include <sys/djtypes.h>",
1762     "#include <stddef.h>",
1763     (char*)NULL };
1764
1765 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1766  *
1767  *  Description of Ecd_Cursor fix
1768  */
1769 #define ECD_CURSOR_FIXIDX                42
1770 tSCC zEcd_CursorName[] =
1771      "ecd_cursor";
1772
1773 /*
1774  *  File name selection pattern
1775  */
1776 tSCC zEcd_CursorList[] =
1777   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1778 /*
1779  *  Machine/OS name selection pattern
1780  */
1781 #define apzEcd_CursorMachs (const char**)NULL
1782
1783 /*
1784  *  content selection pattern - do fix if pattern found
1785  */
1786 tSCC zEcd_CursorSelect0[] =
1787        "ecd\\.cursor";
1788
1789 #define    ECD_CURSOR_TEST_CT  1
1790 static tTestDesc aEcd_CursorTests[] = {
1791   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
1792
1793 /*
1794  *  Fix Command Arguments for Ecd_Cursor
1795  */
1796 static const char* apzEcd_CursorPatch[] = {
1797     "format",
1798     "ecd_cursor",
1799     (char*)NULL };
1800
1801 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1802  *
1803  *  Description of Fix_Header_Breakage fix
1804  */
1805 #define FIX_HEADER_BREAKAGE_FIXIDX       43
1806 tSCC zFix_Header_BreakageName[] =
1807      "fix_header_breakage";
1808
1809 /*
1810  *  File name selection pattern
1811  */
1812 tSCC zFix_Header_BreakageList[] =
1813   "|math.h|";
1814 /*
1815  *  Machine/OS name selection pattern
1816  */
1817 tSCC* apzFix_Header_BreakageMachs[] = {
1818         "m88k-motorola-sysv3*",
1819         (const char*)NULL };
1820
1821 /*
1822  *  content selection pattern - do fix if pattern found
1823  */
1824 tSCC zFix_Header_BreakageSelect0[] =
1825        "extern double floor\\(\\), ceil\\(\\), fmod\\(\\), fabs\\(\\);";
1826
1827 #define    FIX_HEADER_BREAKAGE_TEST_CT  1
1828 static tTestDesc aFix_Header_BreakageTests[] = {
1829   { TT_EGREP,    zFix_Header_BreakageSelect0, (regex_t*)NULL }, };
1830
1831 /*
1832  *  Fix Command Arguments for Fix_Header_Breakage
1833  */
1834 static const char* apzFix_Header_BreakagePatch[] = {
1835     "format",
1836     "extern double floor(), ceil(), fmod(), fabs _PARAMS((double));",
1837     (char*)NULL };
1838
1839 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1840  *
1841  *  Description of Freebsd_Gcc3_Breakage fix
1842  */
1843 #define FREEBSD_GCC3_BREAKAGE_FIXIDX     44
1844 tSCC zFreebsd_Gcc3_BreakageName[] =
1845      "freebsd_gcc3_breakage";
1846
1847 /*
1848  *  File name selection pattern
1849  */
1850 tSCC zFreebsd_Gcc3_BreakageList[] =
1851   "|sys/cdefs.h|";
1852 /*
1853  *  Machine/OS name selection pattern
1854  */
1855 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1856         "*-*-freebsd*",
1857         (const char*)NULL };
1858
1859 /*
1860  *  content selection pattern - do fix if pattern found
1861  */
1862 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1863        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1864
1865 /*
1866  *  content bypass pattern - skip fix if pattern found
1867  */
1868 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1869        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1870
1871 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
1872 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1873   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1874   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1875
1876 /*
1877  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
1878  */
1879 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1880     "format",
1881     "%0 || __GNUC__ >= 3",
1882     (char*)NULL };
1883
1884 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1885  *
1886  *  Description of Hp_Inline fix
1887  */
1888 #define HP_INLINE_FIXIDX                 45
1889 tSCC zHp_InlineName[] =
1890      "hp_inline";
1891
1892 /*
1893  *  File name selection pattern
1894  */
1895 tSCC zHp_InlineList[] =
1896   "|sys/spinlock.h|machine/machparam.h|";
1897 /*
1898  *  Machine/OS name selection pattern
1899  */
1900 #define apzHp_InlineMachs (const char**)NULL
1901
1902 /*
1903  *  content selection pattern - do fix if pattern found
1904  */
1905 tSCC zHp_InlineSelect0[] =
1906        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
1907
1908 #define    HP_INLINE_TEST_CT  1
1909 static tTestDesc aHp_InlineTests[] = {
1910   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
1911
1912 /*
1913  *  Fix Command Arguments for Hp_Inline
1914  */
1915 static const char* apzHp_InlinePatch[] = {
1916     "format",
1917     "%1<machine/%2.h>",
1918     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
1919     (char*)NULL };
1920
1921 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1922  *
1923  *  Description of Hp_Sysfile fix
1924  */
1925 #define HP_SYSFILE_FIXIDX                46
1926 tSCC zHp_SysfileName[] =
1927      "hp_sysfile";
1928
1929 /*
1930  *  File name selection pattern
1931  */
1932 tSCC zHp_SysfileList[] =
1933   "|sys/file.h|";
1934 /*
1935  *  Machine/OS name selection pattern
1936  */
1937 #define apzHp_SysfileMachs (const char**)NULL
1938
1939 /*
1940  *  content selection pattern - do fix if pattern found
1941  */
1942 tSCC zHp_SysfileSelect0[] =
1943        "HPUX_SOURCE";
1944
1945 #define    HP_SYSFILE_TEST_CT  1
1946 static tTestDesc aHp_SysfileTests[] = {
1947   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
1948
1949 /*
1950  *  Fix Command Arguments for Hp_Sysfile
1951  */
1952 static const char* apzHp_SysfilePatch[] = {
1953     "format",
1954     "(struct file *, ...)",
1955     "\\(\\.\\.\\.\\)",
1956     (char*)NULL };
1957
1958 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1959  *
1960  *  Description of Hpux11_Fabsf fix
1961  */
1962 #define HPUX11_FABSF_FIXIDX              47
1963 tSCC zHpux11_FabsfName[] =
1964      "hpux11_fabsf";
1965
1966 /*
1967  *  File name selection pattern
1968  */
1969 tSCC zHpux11_FabsfList[] =
1970   "|math.h|";
1971 /*
1972  *  Machine/OS name selection pattern
1973  */
1974 #define apzHpux11_FabsfMachs (const char**)NULL
1975
1976 /*
1977  *  content selection pattern - do fix if pattern found
1978  */
1979 tSCC zHpux11_FabsfSelect0[] =
1980        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
1981
1982 /*
1983  *  content bypass pattern - skip fix if pattern found
1984  */
1985 tSCC zHpux11_FabsfBypass0[] =
1986        "__cplusplus";
1987
1988 #define    HPUX11_FABSF_TEST_CT  2
1989 static tTestDesc aHpux11_FabsfTests[] = {
1990   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
1991   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
1992
1993 /*
1994  *  Fix Command Arguments for Hpux11_Fabsf
1995  */
1996 static const char* apzHpux11_FabsfPatch[] = {
1997     "format",
1998     "#ifndef __cplusplus\n\
1999 %0\n\
2000 #endif",
2001     (char*)NULL };
2002
2003 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2004  *
2005  *  Description of Hpux11_Uint32_C fix
2006  */
2007 #define HPUX11_UINT32_C_FIXIDX           48
2008 tSCC zHpux11_Uint32_CName[] =
2009      "hpux11_uint32_c";
2010
2011 /*
2012  *  File name selection pattern
2013  */
2014 tSCC zHpux11_Uint32_CList[] =
2015   "|inttypes.h|";
2016 /*
2017  *  Machine/OS name selection pattern
2018  */
2019 #define apzHpux11_Uint32_CMachs (const char**)NULL
2020
2021 /*
2022  *  content selection pattern - do fix if pattern found
2023  */
2024 tSCC zHpux11_Uint32_CSelect0[] =
2025        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2026
2027 #define    HPUX11_UINT32_C_TEST_CT  1
2028 static tTestDesc aHpux11_Uint32_CTests[] = {
2029   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2030
2031 /*
2032  *  Fix Command Arguments for Hpux11_Uint32_C
2033  */
2034 static const char* apzHpux11_Uint32_CPatch[] = {
2035     "format",
2036     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2037     (char*)NULL };
2038
2039 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2040  *
2041  *  Description of Hpux8_Bogus_Inlines fix
2042  */
2043 #define HPUX8_BOGUS_INLINES_FIXIDX       49
2044 tSCC zHpux8_Bogus_InlinesName[] =
2045      "hpux8_bogus_inlines";
2046
2047 /*
2048  *  File name selection pattern
2049  */
2050 tSCC zHpux8_Bogus_InlinesList[] =
2051   "|math.h|";
2052 /*
2053  *  Machine/OS name selection pattern
2054  */
2055 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2056
2057 /*
2058  *  content selection pattern - do fix if pattern found
2059  */
2060 tSCC zHpux8_Bogus_InlinesSelect0[] =
2061        "inline";
2062
2063 #define    HPUX8_BOGUS_INLINES_TEST_CT  1
2064 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2065   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2066
2067 /*
2068  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2069  */
2070 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2071     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2072     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2073     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2074     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2075     (char*)NULL };
2076
2077 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2078  *
2079  *  Description of Int_Abort_Free_And_Exit fix
2080  */
2081 #define INT_ABORT_FREE_AND_EXIT_FIXIDX   50
2082 tSCC zInt_Abort_Free_And_ExitName[] =
2083      "int_abort_free_and_exit";
2084
2085 /*
2086  *  File name selection pattern
2087  */
2088 tSCC zInt_Abort_Free_And_ExitList[] =
2089   "|stdlib.h|";
2090 /*
2091  *  Machine/OS name selection pattern
2092  */
2093 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2094
2095 /*
2096  *  content selection pattern - do fix if pattern found
2097  */
2098 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2099        "int[ \t]+(abort|free|exit)[ \t]*\\(";
2100
2101 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  1
2102 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2103   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2104
2105 /*
2106  *  Fix Command Arguments for Int_Abort_Free_And_Exit
2107  */
2108 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2109     "format",
2110     "void\t%1(",
2111     (char*)NULL };
2112
2113 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2114  *
2115  *  Description of Isc_Omits_With_Stdc fix
2116  */
2117 #define ISC_OMITS_WITH_STDC_FIXIDX       51
2118 tSCC zIsc_Omits_With_StdcName[] =
2119      "isc_omits_with_stdc";
2120
2121 /*
2122  *  File name selection pattern
2123  */
2124 tSCC zIsc_Omits_With_StdcList[] =
2125   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
2126 /*
2127  *  Machine/OS name selection pattern
2128  */
2129 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
2130
2131 /*
2132  *  content selection pattern - do fix if pattern found
2133  */
2134 tSCC zIsc_Omits_With_StdcSelect0[] =
2135        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
2136
2137 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
2138 static tTestDesc aIsc_Omits_With_StdcTests[] = {
2139   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
2140
2141 /*
2142  *  Fix Command Arguments for Isc_Omits_With_Stdc
2143  */
2144 static const char* apzIsc_Omits_With_StdcPatch[] = {
2145     "format",
2146     "!defined(_POSIX_SOURCE)",
2147     (char*)NULL };
2148
2149 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2150  *
2151  *  Description of Io_Quotes_Def fix
2152  */
2153 #define IO_QUOTES_DEF_FIXIDX             52
2154 tSCC zIo_Quotes_DefName[] =
2155      "io_quotes_def";
2156
2157 /*
2158  *  File name selection pattern
2159  */
2160 #define zIo_Quotes_DefList (char*)NULL
2161 /*
2162  *  Machine/OS name selection pattern
2163  */
2164 #define apzIo_Quotes_DefMachs (const char**)NULL
2165
2166 /*
2167  *  content selection pattern - do fix if pattern found
2168  */
2169 tSCC zIo_Quotes_DefSelect0[] =
2170        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2171
2172 #define    IO_QUOTES_DEF_TEST_CT  1
2173 static tTestDesc aIo_Quotes_DefTests[] = {
2174   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2175
2176 /*
2177  *  Fix Command Arguments for Io_Quotes_Def
2178  */
2179 static const char* apzIo_Quotes_DefPatch[] = {
2180     "char_macro_def",
2181     "IO",
2182     (char*)NULL };
2183
2184 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2185  *
2186  *  Description of Io_Quotes_Use fix
2187  */
2188 #define IO_QUOTES_USE_FIXIDX             53
2189 tSCC zIo_Quotes_UseName[] =
2190      "io_quotes_use";
2191
2192 /*
2193  *  File name selection pattern
2194  */
2195 #define zIo_Quotes_UseList (char*)NULL
2196 /*
2197  *  Machine/OS name selection pattern
2198  */
2199 #define apzIo_Quotes_UseMachs (const char**)NULL
2200
2201 /*
2202  *  content selection pattern - do fix if pattern found
2203  */
2204 tSCC zIo_Quotes_UseSelect0[] =
2205        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2206
2207 #define    IO_QUOTES_USE_TEST_CT  1
2208 static tTestDesc aIo_Quotes_UseTests[] = {
2209   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2210
2211 /*
2212  *  Fix Command Arguments for Io_Quotes_Use
2213  */
2214 static const char* apzIo_Quotes_UsePatch[] = {
2215     "char_macro_use",
2216     "IO",
2217     (char*)NULL };
2218
2219 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2220  *
2221  *  Description of Hpux_Maxint fix
2222  */
2223 #define HPUX_MAXINT_FIXIDX               54
2224 tSCC zHpux_MaxintName[] =
2225      "hpux_maxint";
2226
2227 /*
2228  *  File name selection pattern
2229  */
2230 tSCC zHpux_MaxintList[] =
2231   "|sys/param.h|values.h|";
2232 /*
2233  *  Machine/OS name selection pattern
2234  */
2235 #define apzHpux_MaxintMachs (const char**)NULL
2236
2237 /*
2238  *  content selection pattern - do fix if pattern found
2239  */
2240 tSCC zHpux_MaxintSelect0[] =
2241        "^#[ \t]*define[ \t]+MAXINT[ \t]";
2242
2243 /*
2244  *  content bypass pattern - skip fix if pattern found
2245  */
2246 tSCC zHpux_MaxintBypass0[] =
2247        "^#[ \t]*ifndef[ \t]+MAXINT";
2248
2249 /*
2250  *  perform the 'test' shell command - do fix on success
2251  */
2252 tSCC zHpux_MaxintTest0[] =
2253        "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
2254
2255 #define    HPUX_MAXINT_TEST_CT  3
2256 static tTestDesc aHpux_MaxintTests[] = {
2257   { TT_TEST,     zHpux_MaxintTest0,   0 /* unused */ },
2258   { TT_NEGREP,   zHpux_MaxintBypass0, (regex_t*)NULL },
2259   { TT_EGREP,    zHpux_MaxintSelect0, (regex_t*)NULL }, };
2260
2261 /*
2262  *  Fix Command Arguments for Hpux_Maxint
2263  */
2264 static const char* apzHpux_MaxintPatch[] = {
2265     "format",
2266     "#ifndef MAXINT\n\
2267 %0\n\
2268 #endif",
2269     "^#[ \t]*define[ \t]+MAXINT[ \t].*",
2270     (char*)NULL };
2271
2272 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2273  *
2274  *  Description of Hpux_Systime fix
2275  */
2276 #define HPUX_SYSTIME_FIXIDX              55
2277 tSCC zHpux_SystimeName[] =
2278      "hpux_systime";
2279
2280 /*
2281  *  File name selection pattern
2282  */
2283 tSCC zHpux_SystimeList[] =
2284   "|sys/time.h|";
2285 /*
2286  *  Machine/OS name selection pattern
2287  */
2288 #define apzHpux_SystimeMachs (const char**)NULL
2289
2290 /*
2291  *  content selection pattern - do fix if pattern found
2292  */
2293 tSCC zHpux_SystimeSelect0[] =
2294        "^extern struct sigevent;";
2295
2296 #define    HPUX_SYSTIME_TEST_CT  1
2297 static tTestDesc aHpux_SystimeTests[] = {
2298   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2299
2300 /*
2301  *  Fix Command Arguments for Hpux_Systime
2302  */
2303 static const char* apzHpux_SystimePatch[] = {
2304     "format",
2305     "struct sigevent;",
2306     (char*)NULL };
2307
2308 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2309  *
2310  *  Description of Ip_Missing_Semi fix
2311  */
2312 #define IP_MISSING_SEMI_FIXIDX           56
2313 tSCC zIp_Missing_SemiName[] =
2314      "ip_missing_semi";
2315
2316 /*
2317  *  File name selection pattern
2318  */
2319 tSCC zIp_Missing_SemiList[] =
2320   "|netinet/ip.h|";
2321 /*
2322  *  Machine/OS name selection pattern
2323  */
2324 #define apzIp_Missing_SemiMachs (const char**)NULL
2325
2326 /*
2327  *  content selection pattern - do fix if pattern found
2328  */
2329 tSCC zIp_Missing_SemiSelect0[] =
2330        "}$";
2331
2332 #define    IP_MISSING_SEMI_TEST_CT  1
2333 static tTestDesc aIp_Missing_SemiTests[] = {
2334   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2335
2336 /*
2337  *  Fix Command Arguments for Ip_Missing_Semi
2338  */
2339 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2340     "-e", "/^struct/,/^};/s/}$/};/",
2341     (char*)NULL };
2342
2343 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2344  *
2345  *  Description of Irix_Asm_Apostrophe fix
2346  */
2347 #define IRIX_ASM_APOSTROPHE_FIXIDX       57
2348 tSCC zIrix_Asm_ApostropheName[] =
2349      "irix_asm_apostrophe";
2350
2351 /*
2352  *  File name selection pattern
2353  */
2354 tSCC zIrix_Asm_ApostropheList[] =
2355   "|sys/asm.h|";
2356 /*
2357  *  Machine/OS name selection pattern
2358  */
2359 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
2360
2361 /*
2362  *  content selection pattern - do fix if pattern found
2363  */
2364 tSCC zIrix_Asm_ApostropheSelect0[] =
2365        "^[ \t]*#.*[Ww]e're";
2366
2367 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
2368 static tTestDesc aIrix_Asm_ApostropheTests[] = {
2369   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
2370
2371 /*
2372  *  Fix Command Arguments for Irix_Asm_Apostrophe
2373  */
2374 static const char* apzIrix_Asm_ApostrophePatch[] = {
2375     "format",
2376     "%1 are",
2377     "^([ \t]*#.*[Ww]e)'re",
2378     (char*)NULL };
2379
2380 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2381  *
2382  *  Description of Irix_Stdio_Va_List fix
2383  */
2384 #define IRIX_STDIO_VA_LIST_FIXIDX        58
2385 tSCC zIrix_Stdio_Va_ListName[] =
2386      "irix_stdio_va_list";
2387
2388 /*
2389  *  File name selection pattern
2390  */
2391 tSCC zIrix_Stdio_Va_ListList[] =
2392   "|stdio.h|";
2393 /*
2394  *  Machine/OS name selection pattern
2395  */
2396 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
2397
2398 /*
2399  *  content selection pattern - do fix if pattern found
2400  */
2401 tSCC zIrix_Stdio_Va_ListSelect0[] =
2402        "(printf\\(.*), /\\* va_list \\*/ char \\*";
2403
2404 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
2405 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
2406   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
2407
2408 /*
2409  *  Fix Command Arguments for Irix_Stdio_Va_List
2410  */
2411 static const char* apzIrix_Stdio_Va_ListPatch[] = {
2412     "format",
2413     "%1, __gnuc_va_list",
2414     (char*)NULL };
2415
2416 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2417  *
2418  *  Description of Irix_Limits_Const fix
2419  */
2420 #define IRIX_LIMITS_CONST_FIXIDX         59
2421 tSCC zIrix_Limits_ConstName[] =
2422      "irix_limits_const";
2423
2424 /*
2425  *  File name selection pattern
2426  */
2427 tSCC zIrix_Limits_ConstList[] =
2428   "|limits.h|";
2429 /*
2430  *  Machine/OS name selection pattern
2431  */
2432 #define apzIrix_Limits_ConstMachs (const char**)NULL
2433
2434 /*
2435  *  content selection pattern - do fix if pattern found
2436  */
2437 tSCC zIrix_Limits_ConstSelect0[] =
2438        "^extern const ";
2439
2440 #define    IRIX_LIMITS_CONST_TEST_CT  1
2441 static tTestDesc aIrix_Limits_ConstTests[] = {
2442   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
2443
2444 /*
2445  *  Fix Command Arguments for Irix_Limits_Const
2446  */
2447 static const char* apzIrix_Limits_ConstPatch[] = {
2448     "format",
2449     "extern __const ",
2450     (char*)NULL };
2451
2452 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2453  *
2454  *  Description of Isc_Fmod fix
2455  */
2456 #define ISC_FMOD_FIXIDX                  60
2457 tSCC zIsc_FmodName[] =
2458      "isc_fmod";
2459
2460 /*
2461  *  File name selection pattern
2462  */
2463 tSCC zIsc_FmodList[] =
2464   "|math.h|";
2465 /*
2466  *  Machine/OS name selection pattern
2467  */
2468 #define apzIsc_FmodMachs (const char**)NULL
2469
2470 /*
2471  *  content selection pattern - do fix if pattern found
2472  */
2473 tSCC zIsc_FmodSelect0[] =
2474        "fmod\\(double\\)";
2475
2476 #define    ISC_FMOD_TEST_CT  1
2477 static tTestDesc aIsc_FmodTests[] = {
2478   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
2479
2480 /*
2481  *  Fix Command Arguments for Isc_Fmod
2482  */
2483 static const char* apzIsc_FmodPatch[] = {
2484     "format",
2485     "fmod(double, double)",
2486     (char*)NULL };
2487
2488 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2489  *
2490  *  Description of Kandr_Concat fix
2491  */
2492 #define KANDR_CONCAT_FIXIDX              61
2493 tSCC zKandr_ConcatName[] =
2494      "kandr_concat";
2495
2496 /*
2497  *  File name selection pattern
2498  */
2499 tSCC zKandr_ConcatList[] =
2500   "|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|";
2501 /*
2502  *  Machine/OS name selection pattern
2503  */
2504 #define apzKandr_ConcatMachs (const char**)NULL
2505
2506 /*
2507  *  content selection pattern - do fix if pattern found
2508  */
2509 tSCC zKandr_ConcatSelect0[] =
2510        "/\\*\\*/";
2511
2512 #define    KANDR_CONCAT_TEST_CT  1
2513 static tTestDesc aKandr_ConcatTests[] = {
2514   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
2515
2516 /*
2517  *  Fix Command Arguments for Kandr_Concat
2518  */
2519 static const char* apzKandr_ConcatPatch[] = {
2520     "format",
2521     "##",
2522     (char*)NULL };
2523
2524 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2525  *
2526  *  Description of Libc1_Ifdefd_Memx fix
2527  */
2528 #define LIBC1_IFDEFD_MEMX_FIXIDX         62
2529 tSCC zLibc1_Ifdefd_MemxName[] =
2530      "libc1_ifdefd_memx";
2531
2532 /*
2533  *  File name selection pattern
2534  */
2535 tSCC zLibc1_Ifdefd_MemxList[] =
2536   "|testing.h|string.h|";
2537 /*
2538  *  Machine/OS name selection pattern
2539  */
2540 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
2541
2542 /*
2543  *  content selection pattern - do fix if pattern found
2544  */
2545 tSCC zLibc1_Ifdefd_MemxSelect0[] =
2546        "' is a built-in function for gcc 2\\.x\\. \\*/";
2547
2548 /*
2549  *  content bypass pattern - skip fix if pattern found
2550  */
2551 tSCC zLibc1_Ifdefd_MemxBypass0[] =
2552        "__cplusplus";
2553
2554 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
2555 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
2556   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
2557   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
2558
2559 /*
2560  *  Fix Command Arguments for Libc1_Ifdefd_Memx
2561  */
2562 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
2563     "format",
2564     "%1",
2565     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
2566 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
2567 (/\\* .* \\*/\n\
2568 extern [a-z_]+ mem.*(\n\
2569 [^#].*)*;)\n\
2570 #endif",
2571     (char*)NULL };
2572
2573 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2574  *
2575  *  Description of Limits_Ifndefs fix
2576  */
2577 #define LIMITS_IFNDEFS_FIXIDX            63
2578 tSCC zLimits_IfndefsName[] =
2579      "limits_ifndefs";
2580
2581 /*
2582  *  File name selection pattern
2583  */
2584 tSCC zLimits_IfndefsList[] =
2585   "|sys/limits.h|limits.h|";
2586 /*
2587  *  Machine/OS name selection pattern
2588  */
2589 #define apzLimits_IfndefsMachs (const char**)NULL
2590
2591 /*
2592  *  content bypass pattern - skip fix if pattern found
2593  */
2594 tSCC zLimits_IfndefsBypass0[] =
2595        "ifndef[ \t]+FLT_MIN";
2596
2597 #define    LIMITS_IFNDEFS_TEST_CT  1
2598 static tTestDesc aLimits_IfndefsTests[] = {
2599   { TT_NEGREP,   zLimits_IfndefsBypass0, (regex_t*)NULL }, };
2600
2601 /*
2602  *  Fix Command Arguments for Limits_Ifndefs
2603  */
2604 static const char* apzLimits_IfndefsPatch[] = {
2605     "format",
2606     "#ifndef %1\n\
2607 %0\n\
2608 #endif",
2609     "^[ \t]*#[ \t]*define[ \t]+((FLT|DBL)_(MIN|MAX|DIG))[ \t].*",
2610     (char*)NULL };
2611
2612 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2613  *
2614  *  Description of Lynx_Void_Int fix
2615  */
2616 #define LYNX_VOID_INT_FIXIDX             64
2617 tSCC zLynx_Void_IntName[] =
2618      "lynx_void_int";
2619
2620 /*
2621  *  File name selection pattern
2622  */
2623 tSCC zLynx_Void_IntList[] =
2624   "|curses.h|";
2625 /*
2626  *  Machine/OS name selection pattern
2627  */
2628 #define apzLynx_Void_IntMachs (const char**)NULL
2629
2630 /*
2631  *  content selection pattern - do fix if pattern found
2632  */
2633 tSCC zLynx_Void_IntSelect0[] =
2634        "#[ \t]*define[ \t]+void[ \t]+int[ \t]*";
2635
2636 #define    LYNX_VOID_INT_TEST_CT  1
2637 static tTestDesc aLynx_Void_IntTests[] = {
2638   { TT_EGREP,    zLynx_Void_IntSelect0, (regex_t*)NULL }, };
2639
2640 /*
2641  *  Fix Command Arguments for Lynx_Void_Int
2642  */
2643 static const char* apzLynx_Void_IntPatch[] = {
2644     "format",
2645     "",
2646     (char*)NULL };
2647
2648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2649  *
2650  *  Description of Lynxos_Fcntl_Proto fix
2651  */
2652 #define LYNXOS_FCNTL_PROTO_FIXIDX        65
2653 tSCC zLynxos_Fcntl_ProtoName[] =
2654      "lynxos_fcntl_proto";
2655
2656 /*
2657  *  File name selection pattern
2658  */
2659 tSCC zLynxos_Fcntl_ProtoList[] =
2660   "|fcntl.h|";
2661 /*
2662  *  Machine/OS name selection pattern
2663  */
2664 #define apzLynxos_Fcntl_ProtoMachs (const char**)NULL
2665
2666 /*
2667  *  content selection pattern - do fix if pattern found
2668  */
2669 tSCC zLynxos_Fcntl_ProtoSelect0[] =
2670        "fcntl[ \t]*\\(int, int, int\\)";
2671
2672 #define    LYNXOS_FCNTL_PROTO_TEST_CT  1
2673 static tTestDesc aLynxos_Fcntl_ProtoTests[] = {
2674   { TT_EGREP,    zLynxos_Fcntl_ProtoSelect0, (regex_t*)NULL }, };
2675
2676 /*
2677  *  Fix Command Arguments for Lynxos_Fcntl_Proto
2678  */
2679 static const char* apzLynxos_Fcntl_ProtoPatch[] = {
2680     "format",
2681     "%1...)",
2682     "(fcntl[ \t]*\\(int, int, )int\\)",
2683     (char*)NULL };
2684
2685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2686  *
2687  *  Description of M88k_Bad_Hypot_Opt fix
2688  */
2689 #define M88K_BAD_HYPOT_OPT_FIXIDX        66
2690 tSCC zM88k_Bad_Hypot_OptName[] =
2691      "m88k_bad_hypot_opt";
2692
2693 /*
2694  *  File name selection pattern
2695  */
2696 tSCC zM88k_Bad_Hypot_OptList[] =
2697   "|math.h|";
2698 /*
2699  *  Machine/OS name selection pattern
2700  */
2701 tSCC* apzM88k_Bad_Hypot_OptMachs[] = {
2702         "m88k-motorola-sysv3*",
2703         (const char*)NULL };
2704
2705 /*
2706  *  content selection pattern - do fix if pattern found
2707  */
2708 tSCC zM88k_Bad_Hypot_OptSelect0[] =
2709        "^extern double hypot\\(\\);\n";
2710
2711 #define    M88K_BAD_HYPOT_OPT_TEST_CT  1
2712 static tTestDesc aM88k_Bad_Hypot_OptTests[] = {
2713   { TT_EGREP,    zM88k_Bad_Hypot_OptSelect0, (regex_t*)NULL }, };
2714
2715 /*
2716  *  Fix Command Arguments for M88k_Bad_Hypot_Opt
2717  */
2718 static const char* apzM88k_Bad_Hypot_OptPatch[] = {
2719     "format",
2720     "%0/* Workaround a stupid Motorola optimization if one\n\
2721    of x or y is 0.0 and the other is negative!  */\n\
2722 #ifdef __STDC__\n\
2723 static __inline__ double fake_hypot (double x, double y)\n\
2724 #else\n\
2725 static __inline__ double fake_hypot (x, y)\n\
2726 \tdouble x, y;\n\
2727 #endif\n\
2728 {\n\
2729 \treturn fabs (hypot (x, y));\n\
2730 }\n\
2731 #define hypot\tfake_hypot\n",
2732     (char*)NULL };
2733
2734 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2735  *
2736  *  Description of M88k_Bad_S_If fix
2737  */
2738 #define M88K_BAD_S_IF_FIXIDX             67
2739 tSCC zM88k_Bad_S_IfName[] =
2740      "m88k_bad_s_if";
2741
2742 /*
2743  *  File name selection pattern
2744  */
2745 tSCC zM88k_Bad_S_IfList[] =
2746   "|sys/stat.h|";
2747 /*
2748  *  Machine/OS name selection pattern
2749  */
2750 tSCC* apzM88k_Bad_S_IfMachs[] = {
2751         "m88k-*-sysv3*",
2752         (const char*)NULL };
2753
2754 /*
2755  *  content selection pattern - do fix if pattern found
2756  */
2757 tSCC zM88k_Bad_S_IfSelect0[] =
2758        "#define[ \t]+S_IS[A-Z]+\\(m\\)[ \t]+\\(m[ \t]*&";
2759
2760 #define    M88K_BAD_S_IF_TEST_CT  1
2761 static tTestDesc aM88k_Bad_S_IfTests[] = {
2762   { TT_EGREP,    zM88k_Bad_S_IfSelect0, (regex_t*)NULL }, };
2763
2764 /*
2765  *  Fix Command Arguments for M88k_Bad_S_If
2766  */
2767 static const char* apzM88k_Bad_S_IfPatch[] = {
2768     "format",
2769     "#define %1(m) (((m) & S_IFMT) == %2)",
2770     "#define[ \t]+(S_IS[A-Z]+)\\(m\\)[ \t]+\\(m[ \t]*&[ \t]*(S_IF[A-Z][A-Z][A-Z]+|0[0-9]+)[ \t]*\\)",
2771     (char*)NULL };
2772
2773 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2774  *
2775  *  Description of M88k_Multi_Incl fix
2776  */
2777 #define M88K_MULTI_INCL_FIXIDX           68
2778 tSCC zM88k_Multi_InclName[] =
2779      "m88k_multi_incl";
2780
2781 /*
2782  *  File name selection pattern
2783  */
2784 tSCC zM88k_Multi_InclList[] =
2785   "|time.h|";
2786 /*
2787  *  Machine/OS name selection pattern
2788  */
2789 tSCC* apzM88k_Multi_InclMachs[] = {
2790         "m88k-tektronix-sysv3*",
2791         (const char*)NULL };
2792
2793 /*
2794  *  content bypass pattern - skip fix if pattern found
2795  */
2796 tSCC zM88k_Multi_InclBypass0[] =
2797        "#ifndef";
2798
2799 #define    M88K_MULTI_INCL_TEST_CT  1
2800 static tTestDesc aM88k_Multi_InclTests[] = {
2801   { TT_NEGREP,   zM88k_Multi_InclBypass0, (regex_t*)NULL }, };
2802
2803 /*
2804  *  Fix Command Arguments for M88k_Multi_Incl
2805  */
2806 static const char* apzM88k_Multi_InclPatch[] = {
2807     "wrap",
2808     (char*)NULL };
2809
2810 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2811  *
2812  *  Description of Machine_Ansi_H_Va_List fix
2813  */
2814 #define MACHINE_ANSI_H_VA_LIST_FIXIDX    69
2815 tSCC zMachine_Ansi_H_Va_ListName[] =
2816      "machine_ansi_h_va_list";
2817
2818 /*
2819  *  File name selection pattern
2820  */
2821 #define zMachine_Ansi_H_Va_ListList (char*)NULL
2822 /*
2823  *  Machine/OS name selection pattern
2824  */
2825 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
2826
2827 /*
2828  *  content selection pattern - do fix if pattern found
2829  */
2830 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
2831        "define[ \t]+_BSD_VA_LIST_[ \t]";
2832
2833 /*
2834  *  content bypass pattern - skip fix if pattern found
2835  */
2836 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
2837        "__builtin_va_list";
2838
2839 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
2840 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
2841   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
2842   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
2843
2844 /*
2845  *  Fix Command Arguments for Machine_Ansi_H_Va_List
2846  */
2847 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
2848     "format",
2849     "%1__builtin_va_list",
2850     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
2851     (char*)NULL };
2852
2853 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2854  *
2855  *  Description of Machine_Name fix
2856  */
2857 #define MACHINE_NAME_FIXIDX              70
2858 tSCC zMachine_NameName[] =
2859      "machine_name";
2860
2861 /*
2862  *  File name selection pattern
2863  */
2864 #define zMachine_NameList (char*)NULL
2865 /*
2866  *  Machine/OS name selection pattern
2867  */
2868 #define apzMachine_NameMachs (const char**)NULL
2869
2870 /*
2871  *  perform the C function call test
2872  */
2873 tSCC zMachine_NameFTst0[] = "machine_name";
2874
2875 #define    MACHINE_NAME_TEST_CT  1
2876 static tTestDesc aMachine_NameTests[] = {
2877   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
2878
2879 /*
2880  *  Fix Command Arguments for Machine_Name
2881  */
2882 static const char* apzMachine_NamePatch[] = {
2883     "machine_name",
2884     (char*)NULL };
2885
2886 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2887  *
2888  *  Description of Math_Exception fix
2889  */
2890 #define MATH_EXCEPTION_FIXIDX            71
2891 tSCC zMath_ExceptionName[] =
2892      "math_exception";
2893
2894 /*
2895  *  File name selection pattern
2896  */
2897 tSCC zMath_ExceptionList[] =
2898   "|math.h|";
2899 /*
2900  *  Machine/OS name selection pattern
2901  */
2902 #define apzMath_ExceptionMachs (const char**)NULL
2903
2904 /*
2905  *  content selection pattern - do fix if pattern found
2906  */
2907 tSCC zMath_ExceptionSelect0[] =
2908        "struct exception";
2909
2910 /*
2911  *  content bypass pattern - skip fix if pattern found
2912  */
2913 tSCC zMath_ExceptionBypass0[] =
2914        "We have a problem when using C\\+\\+";
2915
2916 #define    MATH_EXCEPTION_TEST_CT  2
2917 static tTestDesc aMath_ExceptionTests[] = {
2918   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
2919   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
2920
2921 /*
2922  *  Fix Command Arguments for Math_Exception
2923  */
2924 static const char* apzMath_ExceptionPatch[] = {
2925     "wrap",
2926     "#ifdef __cplusplus\n\
2927 #define exception __math_exception\n\
2928 #endif\n",
2929     "#ifdef __cplusplus\n\
2930 #undef exception\n\
2931 #endif\n",
2932     (char*)NULL };
2933
2934 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2935  *
2936  *  Description of Math_Huge_Val_From_Dbl_Max fix
2937  */
2938 #define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 72
2939 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
2940      "math_huge_val_from_dbl_max";
2941
2942 /*
2943  *  File name selection pattern
2944  */
2945 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
2946   "|math.h|";
2947 /*
2948  *  Machine/OS name selection pattern
2949  */
2950 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
2951
2952 /*
2953  *  content selection pattern - do fix if pattern found
2954  */
2955 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
2956        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
2957
2958 /*
2959  *  content bypass pattern - skip fix if pattern found
2960  */
2961 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
2962        "define[ \t]+DBL_MAX";
2963
2964 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
2965 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
2966   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
2967   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
2968
2969 /*
2970  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
2971  */
2972 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
2973     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
2974 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
2975 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
2976 \telse cat\n\
2977 \tfi",
2978     (char*)NULL };
2979
2980 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2981  *
2982  *  Description of Math_Huge_Val_Ifndef fix
2983  */
2984 #define MATH_HUGE_VAL_IFNDEF_FIXIDX      73
2985 tSCC zMath_Huge_Val_IfndefName[] =
2986      "math_huge_val_ifndef";
2987
2988 /*
2989  *  File name selection pattern
2990  */
2991 tSCC zMath_Huge_Val_IfndefList[] =
2992   "|math.h|math/math.h|";
2993 /*
2994  *  Machine/OS name selection pattern
2995  */
2996 #define apzMath_Huge_Val_IfndefMachs (const char**)NULL
2997
2998 /*
2999  *  content selection pattern - do fix if pattern found
3000  */
3001 tSCC zMath_Huge_Val_IfndefSelect0[] =
3002        "define[ \t]+HUGE_VAL";
3003
3004 #define    MATH_HUGE_VAL_IFNDEF_TEST_CT  1
3005 static tTestDesc aMath_Huge_Val_IfndefTests[] = {
3006   { TT_EGREP,    zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
3007
3008 /*
3009  *  Fix Command Arguments for Math_Huge_Val_Ifndef
3010  */
3011 static const char* apzMath_Huge_Val_IfndefPatch[] = {
3012     "format",
3013     "#ifndef HUGE_VAL\n\
3014 %0\n\
3015 #endif",
3016     "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*",
3017     (char*)NULL };
3018
3019 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3020  *
3021  *  Description of Nested_Motorola fix
3022  */
3023 #define NESTED_MOTOROLA_FIXIDX           74
3024 tSCC zNested_MotorolaName[] =
3025      "nested_motorola";
3026
3027 /*
3028  *  File name selection pattern
3029  */
3030 tSCC zNested_MotorolaList[] =
3031   "|sys/limits.h|limits.h|";
3032 /*
3033  *  Machine/OS name selection pattern
3034  */
3035 tSCC* apzNested_MotorolaMachs[] = {
3036         "m68k-motorola-sysv*",
3037         (const char*)NULL };
3038
3039 /*
3040  *  content selection pattern - do fix if pattern found
3041  */
3042 tSCC zNested_MotorolaSelect0[] =
3043        "max # bytes atomic in write|error value returned by Math lib";
3044
3045 #define    NESTED_MOTOROLA_TEST_CT  1
3046 static tTestDesc aNested_MotorolaTests[] = {
3047   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
3048
3049 /*
3050  *  Fix Command Arguments for Nested_Motorola
3051  */
3052 static const char* apzNested_MotorolaPatch[] = { "sed",
3053     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3054     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3055     (char*)NULL };
3056
3057 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3058  *
3059  *  Description of Nested_Sys_Limits fix
3060  */
3061 #define NESTED_SYS_LIMITS_FIXIDX         75
3062 tSCC zNested_Sys_LimitsName[] =
3063      "nested_sys_limits";
3064
3065 /*
3066  *  File name selection pattern
3067  */
3068 tSCC zNested_Sys_LimitsList[] =
3069   "|sys/limits.h|";
3070 /*
3071  *  Machine/OS name selection pattern
3072  */
3073 #define apzNested_Sys_LimitsMachs (const char**)NULL
3074
3075 /*
3076  *  content selection pattern - do fix if pattern found
3077  */
3078 tSCC zNested_Sys_LimitsSelect0[] =
3079        "CHILD_MAX";
3080
3081 #define    NESTED_SYS_LIMITS_TEST_CT  1
3082 static tTestDesc aNested_Sys_LimitsTests[] = {
3083   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3084
3085 /*
3086  *  Fix Command Arguments for Nested_Sys_Limits
3087  */
3088 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3089     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3090     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3091     (char*)NULL };
3092
3093 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3094  *
3095  *  Description of Nested_Auth_Des fix
3096  */
3097 #define NESTED_AUTH_DES_FIXIDX           76
3098 tSCC zNested_Auth_DesName[] =
3099      "nested_auth_des";
3100
3101 /*
3102  *  File name selection pattern
3103  */
3104 tSCC zNested_Auth_DesList[] =
3105   "|rpc/rpc.h|";
3106 /*
3107  *  Machine/OS name selection pattern
3108  */
3109 #define apzNested_Auth_DesMachs (const char**)NULL
3110
3111 /*
3112  *  content selection pattern - do fix if pattern found
3113  */
3114 tSCC zNested_Auth_DesSelect0[] =
3115        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3116
3117 #define    NESTED_AUTH_DES_TEST_CT  1
3118 static tTestDesc aNested_Auth_DesTests[] = {
3119   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3120
3121 /*
3122  *  Fix Command Arguments for Nested_Auth_Des
3123  */
3124 static const char* apzNested_Auth_DesPatch[] = {
3125     "format",
3126     "%1*/ /*",
3127     (char*)NULL };
3128
3129 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3130  *
3131  *  Description of News_Os_Recursion fix
3132  */
3133 #define NEWS_OS_RECURSION_FIXIDX         77
3134 tSCC zNews_Os_RecursionName[] =
3135      "news_os_recursion";
3136
3137 /*
3138  *  File name selection pattern
3139  */
3140 tSCC zNews_Os_RecursionList[] =
3141   "|stdlib.h|";
3142 /*
3143  *  Machine/OS name selection pattern
3144  */
3145 #define apzNews_Os_RecursionMachs (const char**)NULL
3146
3147 /*
3148  *  content selection pattern - do fix if pattern found
3149  */
3150 tSCC zNews_Os_RecursionSelect0[] =
3151        "[ \t]*#include <stdlib\\.h>.*";
3152
3153 #define    NEWS_OS_RECURSION_TEST_CT  1
3154 static tTestDesc aNews_Os_RecursionTests[] = {
3155   { TT_EGREP,    zNews_Os_RecursionSelect0, (regex_t*)NULL }, };
3156
3157 /*
3158  *  Fix Command Arguments for News_Os_Recursion
3159  */
3160 static const char* apzNews_Os_RecursionPatch[] = {
3161     "format",
3162     "#ifdef BOGUS_RECURSION\n\
3163 %0\n\
3164 #endif",
3165     (char*)NULL };
3166
3167 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3168  *
3169  *  Description of Next_Math_Prefix fix
3170  */
3171 #define NEXT_MATH_PREFIX_FIXIDX          78
3172 tSCC zNext_Math_PrefixName[] =
3173      "next_math_prefix";
3174
3175 /*
3176  *  File name selection pattern
3177  */
3178 tSCC zNext_Math_PrefixList[] =
3179   "|ansi/math.h|";
3180 /*
3181  *  Machine/OS name selection pattern
3182  */
3183 #define apzNext_Math_PrefixMachs (const char**)NULL
3184
3185 /*
3186  *  content selection pattern - do fix if pattern found
3187  */
3188 tSCC zNext_Math_PrefixSelect0[] =
3189        "^extern[ \t]+double[ \t]+__const__[ \t]";
3190
3191 #define    NEXT_MATH_PREFIX_TEST_CT  1
3192 static tTestDesc aNext_Math_PrefixTests[] = {
3193   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3194
3195 /*
3196  *  Fix Command Arguments for Next_Math_Prefix
3197  */
3198 static const char* apzNext_Math_PrefixPatch[] = {
3199     "format",
3200     "extern double %1(",
3201     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3202     (char*)NULL };
3203
3204 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3205  *
3206  *  Description of Next_Template fix
3207  */
3208 #define NEXT_TEMPLATE_FIXIDX             79
3209 tSCC zNext_TemplateName[] =
3210      "next_template";
3211
3212 /*
3213  *  File name selection pattern
3214  */
3215 tSCC zNext_TemplateList[] =
3216   "|bsd/libc.h|";
3217 /*
3218  *  Machine/OS name selection pattern
3219  */
3220 #define apzNext_TemplateMachs (const char**)NULL
3221
3222 /*
3223  *  content selection pattern - do fix if pattern found
3224  */
3225 tSCC zNext_TemplateSelect0[] =
3226        "[ \t]template\\)";
3227
3228 #define    NEXT_TEMPLATE_TEST_CT  1
3229 static tTestDesc aNext_TemplateTests[] = {
3230   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
3231
3232 /*
3233  *  Fix Command Arguments for Next_Template
3234  */
3235 static const char* apzNext_TemplatePatch[] = {
3236     "format",
3237     "(%1)",
3238     "\\(([^)]*)[ \t]template\\)",
3239     (char*)NULL };
3240
3241 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3242  *
3243  *  Description of Next_Volitile fix
3244  */
3245 #define NEXT_VOLITILE_FIXIDX             80
3246 tSCC zNext_VolitileName[] =
3247      "next_volitile";
3248
3249 /*
3250  *  File name selection pattern
3251  */
3252 tSCC zNext_VolitileList[] =
3253   "|ansi/stdlib.h|";
3254 /*
3255  *  Machine/OS name selection pattern
3256  */
3257 #define apzNext_VolitileMachs (const char**)NULL
3258
3259 /*
3260  *  content selection pattern - do fix if pattern found
3261  */
3262 tSCC zNext_VolitileSelect0[] =
3263        "^extern[ \t]+volatile[ \t]+void[ \t]";
3264
3265 #define    NEXT_VOLITILE_TEST_CT  1
3266 static tTestDesc aNext_VolitileTests[] = {
3267   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
3268
3269 /*
3270  *  Fix Command Arguments for Next_Volitile
3271  */
3272 static const char* apzNext_VolitilePatch[] = {
3273     "format",
3274     "extern void %1(",
3275     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3276     (char*)NULL };
3277
3278 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3279  *
3280  *  Description of Next_Wait_Union fix
3281  */
3282 #define NEXT_WAIT_UNION_FIXIDX           81
3283 tSCC zNext_Wait_UnionName[] =
3284      "next_wait_union";
3285
3286 /*
3287  *  File name selection pattern
3288  */
3289 tSCC zNext_Wait_UnionList[] =
3290   "|sys/wait.h|";
3291 /*
3292  *  Machine/OS name selection pattern
3293  */
3294 #define apzNext_Wait_UnionMachs (const char**)NULL
3295
3296 /*
3297  *  content selection pattern - do fix if pattern found
3298  */
3299 tSCC zNext_Wait_UnionSelect0[] =
3300        "wait\\(union wait";
3301
3302 #define    NEXT_WAIT_UNION_TEST_CT  1
3303 static tTestDesc aNext_Wait_UnionTests[] = {
3304   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
3305
3306 /*
3307  *  Fix Command Arguments for Next_Wait_Union
3308  */
3309 static const char* apzNext_Wait_UnionPatch[] = {
3310     "format",
3311     "wait(void",
3312     (char*)NULL };
3313
3314 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3315  *
3316  *  Description of Nodeent_Syntax fix
3317  */
3318 #define NODEENT_SYNTAX_FIXIDX            82
3319 tSCC zNodeent_SyntaxName[] =
3320      "nodeent_syntax";
3321
3322 /*
3323  *  File name selection pattern
3324  */
3325 tSCC zNodeent_SyntaxList[] =
3326   "|netdnet/dnetdb.h|";
3327 /*
3328  *  Machine/OS name selection pattern
3329  */
3330 #define apzNodeent_SyntaxMachs (const char**)NULL
3331
3332 /*
3333  *  content selection pattern - do fix if pattern found
3334  */
3335 tSCC zNodeent_SyntaxSelect0[] =
3336        "char[ \t]*\\*na_addr[ \t]*$";
3337
3338 #define    NODEENT_SYNTAX_TEST_CT  1
3339 static tTestDesc aNodeent_SyntaxTests[] = {
3340   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
3341
3342 /*
3343  *  Fix Command Arguments for Nodeent_Syntax
3344  */
3345 static const char* apzNodeent_SyntaxPatch[] = {
3346     "format",
3347     "%0;",
3348     (char*)NULL };
3349
3350 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3351  *
3352  *  Description of Osf_Namespace_A fix
3353  */
3354 #define OSF_NAMESPACE_A_FIXIDX           83
3355 tSCC zOsf_Namespace_AName[] =
3356      "osf_namespace_a";
3357
3358 /*
3359  *  File name selection pattern
3360  */
3361 tSCC zOsf_Namespace_AList[] =
3362   "|reg_types.h|sys/lc_core.h|";
3363 /*
3364  *  Machine/OS name selection pattern
3365  */
3366 #define apzOsf_Namespace_AMachs (const char**)NULL
3367
3368 /*
3369  *  perform the 'test' shell command - do fix on success
3370  */
3371 tSCC zOsf_Namespace_ATest0[] =
3372        " -r reg_types.h";
3373 tSCC zOsf_Namespace_ATest1[] =
3374        " -r sys/lc_core.h";
3375 tSCC zOsf_Namespace_ATest2[] =
3376        " -n \"`grep '} regex_t;' reg_types.h`\"";
3377 tSCC zOsf_Namespace_ATest3[] =
3378        " -z \"`grep __regex_t regex.h`\"";
3379
3380 #define    OSF_NAMESPACE_A_TEST_CT  4
3381 static tTestDesc aOsf_Namespace_ATests[] = {
3382   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
3383   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
3384   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
3385   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
3386
3387 /*
3388  *  Fix Command Arguments for Osf_Namespace_A
3389  */
3390 static const char* apzOsf_Namespace_APatch[] = {
3391     "format",
3392     "__%0",
3393     "reg(ex|off|match)_t",
3394     (char*)NULL };
3395
3396 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3397  *
3398  *  Description of Osf_Namespace_C fix
3399  */
3400 #define OSF_NAMESPACE_C_FIXIDX           84
3401 tSCC zOsf_Namespace_CName[] =
3402      "osf_namespace_c";
3403
3404 /*
3405  *  File name selection pattern
3406  */
3407 tSCC zOsf_Namespace_CList[] =
3408   "|regex.h|";
3409 /*
3410  *  Machine/OS name selection pattern
3411  */
3412 #define apzOsf_Namespace_CMachs (const char**)NULL
3413
3414 /*
3415  *  content selection pattern - do fix if pattern found
3416  */
3417 tSCC zOsf_Namespace_CSelect0[] =
3418        "#include <reg_types.h>.*";
3419
3420 /*
3421  *  perform the 'test' shell command - do fix on success
3422  */
3423 tSCC zOsf_Namespace_CTest0[] =
3424        " -r reg_types.h";
3425 tSCC zOsf_Namespace_CTest1[] =
3426        " -r sys/lc_core.h";
3427 tSCC zOsf_Namespace_CTest2[] =
3428        " -n \"`grep '} regex_t;' reg_types.h`\"";
3429 tSCC zOsf_Namespace_CTest3[] =
3430        " -z \"`grep __regex_t regex.h`\"";
3431
3432 #define    OSF_NAMESPACE_C_TEST_CT  5
3433 static tTestDesc aOsf_Namespace_CTests[] = {
3434   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
3435   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
3436   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
3437   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
3438   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
3439
3440 /*
3441  *  Fix Command Arguments for Osf_Namespace_C
3442  */
3443 static const char* apzOsf_Namespace_CPatch[] = {
3444     "format",
3445     "%0\n\
3446 typedef __regex_t\tregex_t;\n\
3447 typedef __regoff_t\tregoff_t;\n\
3448 typedef __regmatch_t\tregmatch_t;",
3449     (char*)NULL };
3450
3451 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3452  *
3453  *  Description of Pthread_Page_Size fix
3454  */
3455 #define PTHREAD_PAGE_SIZE_FIXIDX         85
3456 tSCC zPthread_Page_SizeName[] =
3457      "pthread_page_size";
3458
3459 /*
3460  *  File name selection pattern
3461  */
3462 tSCC zPthread_Page_SizeList[] =
3463   "|pthread.h|";
3464 /*
3465  *  Machine/OS name selection pattern
3466  */
3467 #define apzPthread_Page_SizeMachs (const char**)NULL
3468
3469 /*
3470  *  content selection pattern - do fix if pattern found
3471  */
3472 tSCC zPthread_Page_SizeSelect0[] =
3473        "^int __page_size";
3474
3475 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
3476 static tTestDesc aPthread_Page_SizeTests[] = {
3477   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
3478
3479 /*
3480  *  Fix Command Arguments for Pthread_Page_Size
3481  */
3482 static const char* apzPthread_Page_SizePatch[] = {
3483     "format",
3484     "extern %0",
3485     (char*)NULL };
3486
3487 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3488  *
3489  *  Description of Read_Ret_Type fix
3490  */
3491 #define READ_RET_TYPE_FIXIDX             86
3492 tSCC zRead_Ret_TypeName[] =
3493      "read_ret_type";
3494
3495 /*
3496  *  File name selection pattern
3497  */
3498 tSCC zRead_Ret_TypeList[] =
3499   "|stdio.h|";
3500 /*
3501  *  Machine/OS name selection pattern
3502  */
3503 #define apzRead_Ret_TypeMachs (const char**)NULL
3504
3505 /*
3506  *  content selection pattern - do fix if pattern found
3507  */
3508 tSCC zRead_Ret_TypeSelect0[] =
3509        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
3510
3511 #define    READ_RET_TYPE_TEST_CT  1
3512 static tTestDesc aRead_Ret_TypeTests[] = {
3513   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
3514
3515 /*
3516  *  Fix Command Arguments for Read_Ret_Type
3517  */
3518 static const char* apzRead_Ret_TypePatch[] = {
3519     "format",
3520     "extern unsigned int fread(), fwrite();\n\
3521 %1%2",
3522     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
3523     (char*)NULL };
3524
3525 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3526  *
3527  *  Description of Rs6000_Double fix
3528  */
3529 #define RS6000_DOUBLE_FIXIDX             87
3530 tSCC zRs6000_DoubleName[] =
3531      "rs6000_double";
3532
3533 /*
3534  *  File name selection pattern
3535  */
3536 tSCC zRs6000_DoubleList[] =
3537   "|math.h|";
3538 /*
3539  *  Machine/OS name selection pattern
3540  */
3541 #define apzRs6000_DoubleMachs (const char**)NULL
3542
3543 /*
3544  *  content selection pattern - do fix if pattern found
3545  */
3546 tSCC zRs6000_DoubleSelect0[] =
3547        "[^a-zA-Z_]class\\(";
3548
3549 #define    RS6000_DOUBLE_TEST_CT  1
3550 static tTestDesc aRs6000_DoubleTests[] = {
3551   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
3552
3553 /*
3554  *  Fix Command Arguments for Rs6000_Double
3555  */
3556 static const char* apzRs6000_DoublePatch[] = {
3557     "format",
3558     "#ifndef __cplusplus\n\
3559 %0\n\
3560 #endif",
3561     "^.*[^a-zA-Z_]class\\(.*",
3562     (char*)NULL };
3563
3564 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3565  *
3566  *  Description of Rs6000_Fchmod fix
3567  */
3568 #define RS6000_FCHMOD_FIXIDX             88
3569 tSCC zRs6000_FchmodName[] =
3570      "rs6000_fchmod";
3571
3572 /*
3573  *  File name selection pattern
3574  */
3575 tSCC zRs6000_FchmodList[] =
3576   "|sys/stat.h|";
3577 /*
3578  *  Machine/OS name selection pattern
3579  */
3580 #define apzRs6000_FchmodMachs (const char**)NULL
3581
3582 /*
3583  *  content selection pattern - do fix if pattern found
3584  */
3585 tSCC zRs6000_FchmodSelect0[] =
3586        "fchmod\\(char \\*";
3587
3588 #define    RS6000_FCHMOD_TEST_CT  1
3589 static tTestDesc aRs6000_FchmodTests[] = {
3590   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
3591
3592 /*
3593  *  Fix Command Arguments for Rs6000_Fchmod
3594  */
3595 static const char* apzRs6000_FchmodPatch[] = {
3596     "format",
3597     "fchmod(int",
3598     (char*)NULL };
3599
3600 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3601  *
3602  *  Description of Rs6000_Param fix
3603  */
3604 #define RS6000_PARAM_FIXIDX              89
3605 tSCC zRs6000_ParamName[] =
3606      "rs6000_param";
3607
3608 /*
3609  *  File name selection pattern
3610  */
3611 tSCC zRs6000_ParamList[] =
3612   "|stdio.h|unistd.h|";
3613 /*
3614  *  Machine/OS name selection pattern
3615  */
3616 #define apzRs6000_ParamMachs (const char**)NULL
3617
3618 /*
3619  *  content selection pattern - do fix if pattern found
3620  */
3621 tSCC zRs6000_ParamSelect0[] =
3622        "rename\\(const char \\*old, const char \\*new\\)";
3623
3624 #define    RS6000_PARAM_TEST_CT  1
3625 static tTestDesc aRs6000_ParamTests[] = {
3626   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
3627
3628 /*
3629  *  Fix Command Arguments for Rs6000_Param
3630  */
3631 static const char* apzRs6000_ParamPatch[] = {
3632     "format",
3633     "rename(const char *_old, const char *_new)",
3634     (char*)NULL };
3635
3636 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3637  *
3638  *  Description of Sco_Static_Func fix
3639  */
3640 #define SCO_STATIC_FUNC_FIXIDX           90
3641 tSCC zSco_Static_FuncName[] =
3642      "sco_static_func";
3643
3644 /*
3645  *  File name selection pattern
3646  */
3647 tSCC zSco_Static_FuncList[] =
3648   "|sys/stat.h|";
3649 /*
3650  *  Machine/OS name selection pattern
3651  */
3652 tSCC* apzSco_Static_FuncMachs[] = {
3653         "i?86-*-sco3.2*",
3654         (const char*)NULL };
3655
3656 /*
3657  *  content selection pattern - do fix if pattern found
3658  */
3659 tSCC zSco_Static_FuncSelect0[] =
3660        "^static int";
3661
3662 #define    SCO_STATIC_FUNC_TEST_CT  1
3663 static tTestDesc aSco_Static_FuncTests[] = {
3664   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
3665
3666 /*
3667  *  Fix Command Arguments for Sco_Static_Func
3668  */
3669 static const char* apzSco_Static_FuncPatch[] = { "sed",
3670     "-e", "/^static int/i\\\n\
3671 #if __cplusplus\\\n\
3672 extern \"C\" {\\\n\
3673 #endif /* __cplusplus */",
3674     "-e", "/^}$/a\\\n\
3675 #if __cplusplus\\\n\
3676  }\\\n\
3677 #endif /* __cplusplus */",
3678     (char*)NULL };
3679
3680 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3681  *
3682  *  Description of Strict_Ansi_Not fix
3683  */
3684 #define STRICT_ANSI_NOT_FIXIDX           91
3685 tSCC zStrict_Ansi_NotName[] =
3686      "strict_ansi_not";
3687
3688 /*
3689  *  File name selection pattern
3690  */
3691 #define zStrict_Ansi_NotList (char*)NULL
3692 /*
3693  *  Machine/OS name selection pattern
3694  */
3695 #define apzStrict_Ansi_NotMachs (const char**)NULL
3696
3697 /*
3698  *  content selection pattern - do fix if pattern found
3699  */
3700 tSCC zStrict_Ansi_NotSelect0[] =
3701        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
3702
3703 /*
3704  *  perform the C function call test
3705  */
3706 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
3707
3708 #define    STRICT_ANSI_NOT_TEST_CT  2
3709 static tTestDesc aStrict_Ansi_NotTests[] = {
3710   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
3711   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
3712
3713 /*
3714  *  Fix Command Arguments for Strict_Ansi_Not
3715  */
3716 static const char* apzStrict_Ansi_NotPatch[] = {
3717     "format",
3718     "%1 !defined(__STRICT_ANSI__)%3",
3719     (char*)NULL };
3720
3721 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3722  *
3723  *  Description of Strict_Ansi_Not_Ctd fix
3724  */
3725 #define STRICT_ANSI_NOT_CTD_FIXIDX       92
3726 tSCC zStrict_Ansi_Not_CtdName[] =
3727      "strict_ansi_not_ctd";
3728
3729 /*
3730  *  File name selection pattern
3731  */
3732 tSCC zStrict_Ansi_Not_CtdList[] =
3733   "|limits.h|math.h|stdio.h|signal.h|stdlib.h|time.h|";
3734 /*
3735  *  Machine/OS name selection pattern
3736  */
3737 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
3738
3739 /*
3740  *  content selection pattern - do fix if pattern found
3741  */
3742 tSCC zStrict_Ansi_Not_CtdSelect0[] =
3743        "^([ \t]*[|&][|&][ \t(]*)(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
3744
3745 /*
3746  *  perform the C function call test
3747  */
3748 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
3749
3750 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
3751 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
3752   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
3753   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
3754
3755 /*
3756  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
3757  */
3758 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
3759     "format",
3760     "%1 !defined(__STRICT_ANSI__)%3",
3761     (char*)NULL };
3762
3763 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3764  *
3765  *  Description of Strict_Ansi_Only fix
3766  */
3767 #define STRICT_ANSI_ONLY_FIXIDX          93
3768 tSCC zStrict_Ansi_OnlyName[] =
3769      "strict_ansi_only";
3770
3771 /*
3772  *  File name selection pattern
3773  */
3774 #define zStrict_Ansi_OnlyList (char*)NULL
3775 /*
3776  *  Machine/OS name selection pattern
3777  */
3778 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
3779
3780 /*
3781  *  content selection pattern - do fix if pattern found
3782  */
3783 tSCC zStrict_Ansi_OnlySelect0[] =
3784        "^([ \t]*#[ \t]*if.*)(__STDC__[ \t]*!=[ \t]*0|__STDC__[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0)(.*)";
3785
3786 /*
3787  *  perform the C function call test
3788  */
3789 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
3790
3791 #define    STRICT_ANSI_ONLY_TEST_CT  2
3792 static tTestDesc aStrict_Ansi_OnlyTests[] = {
3793   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
3794   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
3795
3796 /*
3797  *  Fix Command Arguments for Strict_Ansi_Only
3798  */
3799 static const char* apzStrict_Ansi_OnlyPatch[] = {
3800     "format",
3801     "%1 defined(__STRICT_ANSI__)%3",
3802     (char*)NULL };
3803
3804 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3805  *
3806  *  Description of Sco_Utime fix
3807  */
3808 #define SCO_UTIME_FIXIDX                 94
3809 tSCC zSco_UtimeName[] =
3810      "sco_utime";
3811
3812 /*
3813  *  File name selection pattern
3814  */
3815 tSCC zSco_UtimeList[] =
3816   "|sys/times.h|";
3817 /*
3818  *  Machine/OS name selection pattern
3819  */
3820 tSCC* apzSco_UtimeMachs[] = {
3821         "i?86-*-sco3.2v4*",
3822         (const char*)NULL };
3823
3824 /*
3825  *  content selection pattern - do fix if pattern found
3826  */
3827 tSCC zSco_UtimeSelect0[] =
3828        "\\(const char \\*, struct utimbuf \\*\\);";
3829
3830 #define    SCO_UTIME_TEST_CT  1
3831 static tTestDesc aSco_UtimeTests[] = {
3832   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
3833
3834 /*
3835  *  Fix Command Arguments for Sco_Utime
3836  */
3837 static const char* apzSco_UtimePatch[] = {
3838     "format",
3839     "(const char *, const struct utimbuf *);",
3840     (char*)NULL };
3841
3842 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3843  *
3844  *  Description of Solaris27_Mutex_Init fix
3845  */
3846 #define SOLARIS27_MUTEX_INIT_FIXIDX      95
3847 tSCC zSolaris27_Mutex_InitName[] =
3848      "solaris27_mutex_init";
3849
3850 /*
3851  *  File name selection pattern
3852  */
3853 tSCC zSolaris27_Mutex_InitList[] =
3854   "|pthread.h|";
3855 /*
3856  *  Machine/OS name selection pattern
3857  */
3858 #define apzSolaris27_Mutex_InitMachs (const char**)NULL
3859
3860 /*
3861  *  content selection pattern - do fix if pattern found
3862  */
3863 tSCC zSolaris27_Mutex_InitSelect0[] =
3864        "@\\(#\\)pthread.h[ \t]+1.26[ \t]+98/04/12 SMI";
3865
3866 #define    SOLARIS27_MUTEX_INIT_TEST_CT  1
3867 static tTestDesc aSolaris27_Mutex_InitTests[] = {
3868   { TT_EGREP,    zSolaris27_Mutex_InitSelect0, (regex_t*)NULL }, };
3869
3870 /*
3871  *  Fix Command Arguments for Solaris27_Mutex_Init
3872  */
3873 static const char* apzSolaris27_Mutex_InitPatch[] = {
3874     "format",
3875     "%1, {0}}",
3876     "(define[ \t]+PTHREAD_MUTEX_INITIALIZER.*),[ \t]*0}$",
3877     (char*)NULL };
3878
3879 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3880  *
3881  *  Description of Statsswtch fix
3882  */
3883 #define STATSSWTCH_FIXIDX                96
3884 tSCC zStatsswtchName[] =
3885      "statsswtch";
3886
3887 /*
3888  *  File name selection pattern
3889  */
3890 tSCC zStatsswtchList[] =
3891   "|rpcsvc/rstat.h|";
3892 /*
3893  *  Machine/OS name selection pattern
3894  */
3895 #define apzStatsswtchMachs (const char**)NULL
3896
3897 /*
3898  *  content selection pattern - do fix if pattern found
3899  */
3900 tSCC zStatsswtchSelect0[] =
3901        "boottime$";
3902
3903 #define    STATSSWTCH_TEST_CT  1
3904 static tTestDesc aStatsswtchTests[] = {
3905   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
3906
3907 /*
3908  *  Fix Command Arguments for Statsswtch
3909  */
3910 static const char* apzStatsswtchPatch[] = {
3911     "format",
3912     "boottime;",
3913     (char*)NULL };
3914
3915 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3916  *
3917  *  Description of Stdio_Stdarg_H fix
3918  */
3919 #define STDIO_STDARG_H_FIXIDX            97
3920 tSCC zStdio_Stdarg_HName[] =
3921      "stdio_stdarg_h";
3922
3923 /*
3924  *  File name selection pattern
3925  */
3926 tSCC zStdio_Stdarg_HList[] =
3927   "|stdio.h|";
3928 /*
3929  *  Machine/OS name selection pattern
3930  */
3931 #define apzStdio_Stdarg_HMachs (const char**)NULL
3932
3933 /*
3934  *  content bypass pattern - skip fix if pattern found
3935  */
3936 tSCC zStdio_Stdarg_HBypass0[] =
3937        "include.*(stdarg.h|machine/ansi.h)";
3938
3939 #define    STDIO_STDARG_H_TEST_CT  1
3940 static tTestDesc aStdio_Stdarg_HTests[] = {
3941   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
3942
3943 /*
3944  *  Fix Command Arguments for Stdio_Stdarg_H
3945  */
3946 static const char* apzStdio_Stdarg_HPatch[] = {
3947     "wrap",
3948     "#define __need___va_list\n\
3949 #include <stdarg.h>\n",
3950     (char*)NULL };
3951
3952 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3953  *
3954  *  Description of Stdio_Va_List fix
3955  */
3956 #define STDIO_VA_LIST_FIXIDX             98
3957 tSCC zStdio_Va_ListName[] =
3958      "stdio_va_list";
3959
3960 /*
3961  *  File name selection pattern
3962  */
3963 tSCC zStdio_Va_ListList[] =
3964   "|stdio.h|";
3965 /*
3966  *  Machine/OS name selection pattern
3967  */
3968 #define apzStdio_Va_ListMachs (const char**)NULL
3969
3970 /*
3971  *  content bypass pattern - skip fix if pattern found
3972  */
3973 tSCC zStdio_Va_ListBypass0[] =
3974        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list";
3975
3976 #define    STDIO_VA_LIST_TEST_CT  1
3977 static tTestDesc aStdio_Va_ListTests[] = {
3978   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
3979
3980 /*
3981  *  Fix Command Arguments for Stdio_Va_List
3982  */
3983 static const char* apzStdio_Va_ListPatch[] = { "sed",
3984     "-e", "s@ va_list @ __gnuc_va_list @\n\
3985 s@ va_list)@ __gnuc_va_list)@\n\
3986 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
3987 s@ va_list@ __not_va_list__@\n\
3988 s@\\*va_list@*__not_va_list__@\n\
3989 s@ __va_list)@ __gnuc_va_list)@\n\
3990 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
3991 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
3992 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
3993 s@VA_LIST@DUMMY_VA_LIST@\n\
3994 s@_Va_LIST@_VA_LIST@",
3995     (char*)NULL };
3996
3997 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3998  *
3999  *  Description of Struct_File fix
4000  */
4001 #define STRUCT_FILE_FIXIDX               99
4002 tSCC zStruct_FileName[] =
4003      "struct_file";
4004
4005 /*
4006  *  File name selection pattern
4007  */
4008 tSCC zStruct_FileList[] =
4009   "|rpc/xdr.h|";
4010 /*
4011  *  Machine/OS name selection pattern
4012  */
4013 #define apzStruct_FileMachs (const char**)NULL
4014
4015 /*
4016  *  content selection pattern - do fix if pattern found
4017  */
4018 tSCC zStruct_FileSelect0[] =
4019        "^.*xdrstdio_create.*struct __file_s";
4020
4021 #define    STRUCT_FILE_TEST_CT  1
4022 static tTestDesc aStruct_FileTests[] = {
4023   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
4024
4025 /*
4026  *  Fix Command Arguments for Struct_File
4027  */
4028 static const char* apzStruct_FilePatch[] = {
4029     "format",
4030     "struct __file_s;\n\
4031 %0",
4032     (char*)NULL };
4033
4034 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4035  *
4036  *  Description of Struct_Sockaddr fix
4037  */
4038 #define STRUCT_SOCKADDR_FIXIDX           100
4039 tSCC zStruct_SockaddrName[] =
4040      "struct_sockaddr";
4041
4042 /*
4043  *  File name selection pattern
4044  */
4045 tSCC zStruct_SockaddrList[] =
4046   "|rpc/auth.h|";
4047 /*
4048  *  Machine/OS name selection pattern
4049  */
4050 #define apzStruct_SockaddrMachs (const char**)NULL
4051
4052 /*
4053  *  content selection pattern - do fix if pattern found
4054  */
4055 tSCC zStruct_SockaddrSelect0[] =
4056        "^.*authdes_create.*struct sockaddr";
4057
4058 /*
4059  *  content bypass pattern - skip fix if pattern found
4060  */
4061 tSCC zStruct_SockaddrBypass0[] =
4062        "<sys/socket.h>";
4063
4064 #define    STRUCT_SOCKADDR_TEST_CT  2
4065 static tTestDesc aStruct_SockaddrTests[] = {
4066   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
4067   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
4068
4069 /*
4070  *  Fix Command Arguments for Struct_Sockaddr
4071  */
4072 static const char* apzStruct_SockaddrPatch[] = {
4073     "format",
4074     "struct sockaddr;\n\
4075 %0",
4076     (char*)NULL };
4077
4078 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4079  *
4080  *  Description of Sun_Auth_Proto fix
4081  */
4082 #define SUN_AUTH_PROTO_FIXIDX            101
4083 tSCC zSun_Auth_ProtoName[] =
4084      "sun_auth_proto";
4085
4086 /*
4087  *  File name selection pattern
4088  */
4089 tSCC zSun_Auth_ProtoList[] =
4090   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
4091 /*
4092  *  Machine/OS name selection pattern
4093  */
4094 #define apzSun_Auth_ProtoMachs (const char**)NULL
4095
4096 /*
4097  *  content selection pattern - do fix if pattern found
4098  */
4099 tSCC zSun_Auth_ProtoSelect0[] =
4100        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
4101
4102 #define    SUN_AUTH_PROTO_TEST_CT  1
4103 static tTestDesc aSun_Auth_ProtoTests[] = {
4104   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
4105
4106 /*
4107  *  Fix Command Arguments for Sun_Auth_Proto
4108  */
4109 static const char* apzSun_Auth_ProtoPatch[] = {
4110     "format",
4111     "#ifdef __cplusplus\n\
4112 %1(...);%2\n\
4113 #else\n\
4114 %1();%2\n\
4115 #endif",
4116     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
4117     (char*)NULL };
4118
4119 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4120  *
4121  *  Description of Sun_Bogus_Ifdef fix
4122  */
4123 #define SUN_BOGUS_IFDEF_FIXIDX           102
4124 tSCC zSun_Bogus_IfdefName[] =
4125      "sun_bogus_ifdef";
4126
4127 /*
4128  *  File name selection pattern
4129  */
4130 tSCC zSun_Bogus_IfdefList[] =
4131   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
4132 /*
4133  *  Machine/OS name selection pattern
4134  */
4135 #define apzSun_Bogus_IfdefMachs (const char**)NULL
4136
4137 /*
4138  *  content selection pattern - do fix if pattern found
4139  */
4140 tSCC zSun_Bogus_IfdefSelect0[] =
4141        "#ifdef(.*\\|\\|.*)";
4142
4143 #define    SUN_BOGUS_IFDEF_TEST_CT  1
4144 static tTestDesc aSun_Bogus_IfdefTests[] = {
4145   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
4146
4147 /*
4148  *  Fix Command Arguments for Sun_Bogus_Ifdef
4149  */
4150 static const char* apzSun_Bogus_IfdefPatch[] = {
4151     "format",
4152     "#if%1",
4153     (char*)NULL };
4154
4155 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4156  *
4157  *  Description of Sun_Catmacro fix
4158  */
4159 #define SUN_CATMACRO_FIXIDX              103
4160 tSCC zSun_CatmacroName[] =
4161      "sun_catmacro";
4162
4163 /*
4164  *  File name selection pattern
4165  */
4166 tSCC zSun_CatmacroList[] =
4167   "|pixrect/memvar.h|";
4168 /*
4169  *  Machine/OS name selection pattern
4170  */
4171 #define apzSun_CatmacroMachs (const char**)NULL
4172
4173 /*
4174  *  content selection pattern - do fix if pattern found
4175  */
4176 tSCC zSun_CatmacroSelect0[] =
4177        "^#define[ \t]+CAT\\(a,b\\).*";
4178
4179 #define    SUN_CATMACRO_TEST_CT  1
4180 static tTestDesc aSun_CatmacroTests[] = {
4181   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
4182
4183 /*
4184  *  Fix Command Arguments for Sun_Catmacro
4185  */
4186 static const char* apzSun_CatmacroPatch[] = {
4187     "format",
4188     "#ifdef __STDC__\n\
4189 #  define CAT(a,b) a##b\n\
4190 #else\n\
4191 %0\n\
4192 #endif",
4193     (char*)NULL };
4194
4195 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4196  *
4197  *  Description of Sun_Malloc fix
4198  */
4199 #define SUN_MALLOC_FIXIDX                104
4200 tSCC zSun_MallocName[] =
4201      "sun_malloc";
4202
4203 /*
4204  *  File name selection pattern
4205  */
4206 tSCC zSun_MallocList[] =
4207   "|malloc.h|";
4208 /*
4209  *  Machine/OS name selection pattern
4210  */
4211 #define apzSun_MallocMachs (const char**)NULL
4212 #define SUN_MALLOC_TEST_CT  0
4213 #define aSun_MallocTests   (tTestDesc*)NULL
4214
4215 /*
4216  *  Fix Command Arguments for Sun_Malloc
4217  */
4218 static const char* apzSun_MallocPatch[] = { "sed",
4219     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
4220     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
4221     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
4222     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
4223     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
4224     (char*)NULL };
4225
4226 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4227  *
4228  *  Description of Sun_Rusers_Semi fix
4229  */
4230 #define SUN_RUSERS_SEMI_FIXIDX           105
4231 tSCC zSun_Rusers_SemiName[] =
4232      "sun_rusers_semi";
4233
4234 /*
4235  *  File name selection pattern
4236  */
4237 tSCC zSun_Rusers_SemiList[] =
4238   "|rpcsvc/rusers.h|";
4239 /*
4240  *  Machine/OS name selection pattern
4241  */
4242 #define apzSun_Rusers_SemiMachs (const char**)NULL
4243
4244 /*
4245  *  content selection pattern - do fix if pattern found
4246  */
4247 tSCC zSun_Rusers_SemiSelect0[] =
4248        "_cnt$";
4249
4250 #define    SUN_RUSERS_SEMI_TEST_CT  1
4251 static tTestDesc aSun_Rusers_SemiTests[] = {
4252   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
4253
4254 /*
4255  *  Fix Command Arguments for Sun_Rusers_Semi
4256  */
4257 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
4258     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
4259     (char*)NULL };
4260
4261 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4262  *
4263  *  Description of Sun_Signal fix
4264  */
4265 #define SUN_SIGNAL_FIXIDX                106
4266 tSCC zSun_SignalName[] =
4267      "sun_signal";
4268
4269 /*
4270  *  File name selection pattern
4271  */
4272 tSCC zSun_SignalList[] =
4273   "|sys/signal.h|signal.h|";
4274 /*
4275  *  Machine/OS name selection pattern
4276  */
4277 #define apzSun_SignalMachs (const char**)NULL
4278
4279 /*
4280  *  content selection pattern - do fix if pattern found
4281  */
4282 tSCC zSun_SignalSelect0[] =
4283        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
4284
4285 #define    SUN_SIGNAL_TEST_CT  1
4286 static tTestDesc aSun_SignalTests[] = {
4287   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
4288
4289 /*
4290  *  Fix Command Arguments for Sun_Signal
4291  */
4292 static const char* apzSun_SignalPatch[] = {
4293     "format",
4294     "#ifdef __cplusplus\n\
4295 void\t(*signal(...))(...);\n\
4296 #else\n\
4297 %0\n\
4298 #endif",
4299     (char*)NULL };
4300
4301 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4302  *
4303  *  Description of Sunos_Matherr_Decl fix
4304  */
4305 #define SUNOS_MATHERR_DECL_FIXIDX        107
4306 tSCC zSunos_Matherr_DeclName[] =
4307      "sunos_matherr_decl";
4308
4309 /*
4310  *  File name selection pattern
4311  */
4312 tSCC zSunos_Matherr_DeclList[] =
4313   "|math.h|";
4314 /*
4315  *  Machine/OS name selection pattern
4316  */
4317 #define apzSunos_Matherr_DeclMachs (const char**)NULL
4318
4319 /*
4320  *  content selection pattern - do fix if pattern found
4321  */
4322 tSCC zSunos_Matherr_DeclSelect0[] =
4323        "matherr";
4324
4325 /*
4326  *  content bypass pattern - skip fix if pattern found
4327  */
4328 tSCC zSunos_Matherr_DeclBypass0[] =
4329        "matherr.*(struct exception|__MATH_EXCEPTION)";
4330
4331 #define    SUNOS_MATHERR_DECL_TEST_CT  2
4332 static tTestDesc aSunos_Matherr_DeclTests[] = {
4333   { TT_NEGREP,   zSunos_Matherr_DeclBypass0, (regex_t*)NULL },
4334   { TT_EGREP,    zSunos_Matherr_DeclSelect0, (regex_t*)NULL }, };
4335
4336 /*
4337  *  Fix Command Arguments for Sunos_Matherr_Decl
4338  */
4339 static const char* apzSunos_Matherr_DeclPatch[] = {
4340     "wrap",
4341     "struct exception;\n",
4342     (char*)NULL };
4343
4344 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4345  *
4346  *  Description of Sunos_Strlen fix
4347  */
4348 #define SUNOS_STRLEN_FIXIDX              108
4349 tSCC zSunos_StrlenName[] =
4350      "sunos_strlen";
4351
4352 /*
4353  *  File name selection pattern
4354  */
4355 tSCC zSunos_StrlenList[] =
4356   "|strings.h|";
4357 /*
4358  *  Machine/OS name selection pattern
4359  */
4360 #define apzSunos_StrlenMachs (const char**)NULL
4361
4362 /*
4363  *  content selection pattern - do fix if pattern found
4364  */
4365 tSCC zSunos_StrlenSelect0[] =
4366        "int[ \t]*strlen\\(\\);(.*)";
4367
4368 #define    SUNOS_STRLEN_TEST_CT  1
4369 static tTestDesc aSunos_StrlenTests[] = {
4370   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
4371
4372 /*
4373  *  Fix Command Arguments for Sunos_Strlen
4374  */
4375 static const char* apzSunos_StrlenPatch[] = {
4376     "format",
4377     "__SIZE_TYPE__ strlen();%1",
4378     (char*)NULL };
4379
4380 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4381  *
4382  *  Description of Svr4__P fix
4383  */
4384 #define SVR4__P_FIXIDX                   109
4385 tSCC zSvr4__PName[] =
4386      "svr4__p";
4387
4388 /*
4389  *  File name selection pattern
4390  */
4391 tSCC zSvr4__PList[] =
4392   "|math.h|floatingpoint.h|";
4393 /*
4394  *  Machine/OS name selection pattern
4395  */
4396 #define apzSvr4__PMachs (const char**)NULL
4397
4398 /*
4399  *  content selection pattern - do fix if pattern found
4400  */
4401 tSCC zSvr4__PSelect0[] =
4402        "^#define[ \t]+__P.*";
4403
4404 #define    SVR4__P_TEST_CT  1
4405 static tTestDesc aSvr4__PTests[] = {
4406   { TT_EGREP,    zSvr4__PSelect0, (regex_t*)NULL }, };
4407
4408 /*
4409  *  Fix Command Arguments for Svr4__P
4410  */
4411 static const char* apzSvr4__PPatch[] = {
4412     "format",
4413     "#ifndef __P\n\
4414 %0\n\
4415 #endif",
4416     (char*)NULL };
4417
4418 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4419  *
4420  *  Description of Svr4_Getcwd fix
4421  */
4422 #define SVR4_GETCWD_FIXIDX               110
4423 tSCC zSvr4_GetcwdName[] =
4424      "svr4_getcwd";
4425
4426 /*
4427  *  File name selection pattern
4428  */
4429 tSCC zSvr4_GetcwdList[] =
4430   "|stdlib.h|unistd.h|prototypes.h|";
4431 /*
4432  *  Machine/OS name selection pattern
4433  */
4434 #define apzSvr4_GetcwdMachs (const char**)NULL
4435
4436 /*
4437  *  content selection pattern - do fix if pattern found
4438  */
4439 tSCC zSvr4_GetcwdSelect0[] =
4440        "getcwd\\(char \\*, int\\)";
4441
4442 #define    SVR4_GETCWD_TEST_CT  1
4443 static tTestDesc aSvr4_GetcwdTests[] = {
4444   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
4445
4446 /*
4447  *  Fix Command Arguments for Svr4_Getcwd
4448  */
4449 static const char* apzSvr4_GetcwdPatch[] = {
4450     "format",
4451     "getcwd(char *, size_t)",
4452     (char*)NULL };
4453
4454 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4455  *
4456  *  Description of Svr4_Profil fix
4457  */
4458 #define SVR4_PROFIL_FIXIDX               111
4459 tSCC zSvr4_ProfilName[] =
4460      "svr4_profil";
4461
4462 /*
4463  *  File name selection pattern
4464  */
4465 tSCC zSvr4_ProfilList[] =
4466   "|stdlib.h|unistd.h|";
4467 /*
4468  *  Machine/OS name selection pattern
4469  */
4470 #define apzSvr4_ProfilMachs (const char**)NULL
4471
4472 /*
4473  *  content selection pattern - do fix if pattern found
4474  */
4475 tSCC zSvr4_ProfilSelect0[] =
4476        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
4477
4478 #define    SVR4_PROFIL_TEST_CT  1
4479 static tTestDesc aSvr4_ProfilTests[] = {
4480   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
4481
4482 /*
4483  *  Fix Command Arguments for Svr4_Profil
4484  */
4485 static const char* apzSvr4_ProfilPatch[] = {
4486     "format",
4487     "profil(unsigned short *, size_t, int, unsigned int)",
4488     (char*)NULL };
4489
4490 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4491  *
4492  *  Description of Gnu_Types fix
4493  */
4494 #define GNU_TYPES_FIXIDX                 112
4495 tSCC zGnu_TypesName[] =
4496      "gnu_types";
4497
4498 /*
4499  *  File name selection pattern
4500  */
4501 tSCC zGnu_TypesList[] =
4502   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
4503 /*
4504  *  Machine/OS name selection pattern
4505  */
4506 #define apzGnu_TypesMachs (const char**)NULL
4507
4508 /*
4509  *  content selection pattern - do fix if pattern found
4510  */
4511 tSCC zGnu_TypesSelect0[] =
4512        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
4513
4514 /*
4515  *  content bypass pattern - skip fix if pattern found
4516  */
4517 tSCC zGnu_TypesBypass0[] =
4518        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
4519
4520 #define    GNU_TYPES_TEST_CT  2
4521 static tTestDesc aGnu_TypesTests[] = {
4522   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
4523   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
4524
4525 /*
4526  *  Fix Command Arguments for Gnu_Types
4527  */
4528 static const char* apzGnu_TypesPatch[] = {
4529     "gnu_type",
4530     (char*)NULL };
4531
4532 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4533  *
4534  *  Description of Sysv68_String fix
4535  */
4536 #define SYSV68_STRING_FIXIDX             113
4537 tSCC zSysv68_StringName[] =
4538      "sysv68_string";
4539
4540 /*
4541  *  File name selection pattern
4542  */
4543 tSCC zSysv68_StringList[] =
4544   "|testing.h|string.h|";
4545 /*
4546  *  Machine/OS name selection pattern
4547  */
4548 #define apzSysv68_StringMachs (const char**)NULL
4549 #define SYSV68_STRING_TEST_CT  0
4550 #define aSysv68_StringTests   (tTestDesc*)NULL
4551
4552 /*
4553  *  Fix Command Arguments for Sysv68_String
4554  */
4555 static const char* apzSysv68_StringPatch[] = { "sed",
4556     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
4557     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
4558     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
4559     "-e", "/^extern char$/N",
4560     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
4561     "-e", "/^extern int$/N",
4562     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
4563     "-e", "/^\tstrncmp(),$/N",
4564     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
4565 extern unsigned int\\\n\
4566 \\2/",
4567     (char*)NULL };
4568
4569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4570  *
4571  *  Description of Sysz_Stdlib_For_Sun fix
4572  */
4573 #define SYSZ_STDLIB_FOR_SUN_FIXIDX       114
4574 tSCC zSysz_Stdlib_For_SunName[] =
4575      "sysz_stdlib_for_sun";
4576
4577 /*
4578  *  File name selection pattern
4579  */
4580 tSCC zSysz_Stdlib_For_SunList[] =
4581   "|stdlib.h|";
4582 /*
4583  *  Machine/OS name selection pattern
4584  */
4585 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
4586
4587 /*
4588  *  content selection pattern - do fix if pattern found
4589  */
4590 tSCC zSysz_Stdlib_For_SunSelect0[] =
4591        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
4592
4593 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  1
4594 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
4595   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
4596
4597 /*
4598  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
4599  */
4600 static const char* apzSysz_Stdlib_For_SunPatch[] = {
4601    &nb