OSDN Git Service

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