OSDN Git Service

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