OSDN Git Service

regenerate
[pf3gnuchains/gcc-fork.git] / gcc / fixinc / fixincl.x
index 75ae292..526e599 100644 (file)
@@ -5,14 +5,14 @@
  * files which are fixed to work correctly with ANSI C and placed in a
  * directory that GNU C will search.
  *
- * This file contains 113 fixup descriptions.
+ * This file contains 139 fixup descriptions.
  *
- * See README-fixinc for more information.
+ * See README for more information.
  *
- *  inclhack copyright (c) 1998, 1999, 2000
+ *  inclhack copyright (c) 1998, 1999, 2000, 2001
  *  The Free Software Foundation, Inc.
  *
- *  inclhack is free software.
 *  inclhack is free software.
  *  
  *  You may redistribute it and/or modify it under the terms of the
  *  GNU General Public License, as published by the Free Software
@@ -55,13 +55,13 @@ tSCC zAaa_Ki_IfaceSelect0[] =
        "These definitions are for HP Internal developers";
 
 #define    AAA_KI_IFACE_TEST_CT  1
-tTestDesc aAaa_Ki_IfaceTests[] = {
+static tTestDesc aAaa_Ki_IfaceTests[] = {
   { TT_EGREP,    zAaa_Ki_IfaceSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aaa_Ki_Iface
  */
-const char* apzAaa_Ki_IfacePatch[] = {
+static const char* apzAaa_Ki_IfacePatch[] = {
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -89,13 +89,13 @@ tSCC zAaa_KiSelect0[] =
        "11.00 HP-UX LP64";
 
 #define    AAA_KI_TEST_CT  1
-tTestDesc aAaa_KiTests[] = {
+static tTestDesc aAaa_KiTests[] = {
   { TT_EGREP,    zAaa_KiSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aaa_Ki
  */
-const char* apzAaa_KiPatch[] = {
+static const char* apzAaa_KiPatch[] = {
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -123,13 +123,13 @@ tSCC zAaa_Ki_CallsSelect0[] =
        "kthread_create_caller_t";
 
 #define    AAA_KI_CALLS_TEST_CT  1
-tTestDesc aAaa_Ki_CallsTests[] = {
+static tTestDesc aAaa_Ki_CallsTests[] = {
   { TT_EGREP,    zAaa_Ki_CallsSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aaa_Ki_Calls
  */
-const char* apzAaa_Ki_CallsPatch[] = {
+static const char* apzAaa_Ki_CallsPatch[] = {
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -157,20 +157,54 @@ tSCC zAaa_Ki_DefsSelect0[] =
        "Kernel Instrumentation Definitions";
 
 #define    AAA_KI_DEFS_TEST_CT  1
-tTestDesc aAaa_Ki_DefsTests[] = {
+static tTestDesc aAaa_Ki_DefsTests[] = {
   { TT_EGREP,    zAaa_Ki_DefsSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aaa_Ki_Defs
  */
-const char* apzAaa_Ki_DefsPatch[] = {
+static const char* apzAaa_Ki_DefsPatch[] = {
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Aaa_Standards fix
+ */
+#define AAA_STANDARDS_FIXIDX             4
+tSCC zAaa_StandardsName[] =
+     "AAA_standards";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zAaa_StandardsList[] =
+  "|standards.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzAaa_StandardsMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zAaa_StandardsSelect0[] =
+       "GNU and MIPS C compilers define __STDC__ differently";
+
+#define    AAA_STANDARDS_TEST_CT  1
+static tTestDesc aAaa_StandardsTests[] = {
+  { TT_EGREP,    zAaa_StandardsSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Aaa_Standards
+ */
+static const char* apzAaa_StandardsPatch[] = {
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Aaa_Bad_Fixes fix
  */
-#define AAA_BAD_FIXES_FIXIDX             4
+#define AAA_BAD_FIXES_FIXIDX             5
 tSCC zAaa_Bad_FixesName[] =
      "AAA_bad_fixes";
 
@@ -189,14 +223,14 @@ tSCC zAaa_Bad_FixesList[] =
 /*
  *  Fix Command Arguments for Aaa_Bad_Fixes
  */
-const char* apzAaa_Bad_FixesPatch[] = {
+static const char* apzAaa_Bad_FixesPatch[] = {
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Aaa_Time fix
  */
-#define AAA_TIME_FIXIDX                  5
+#define AAA_TIME_FIXIDX                  6
 tSCC zAaa_TimeName[] =
      "AAA_time";
 
@@ -217,20 +251,20 @@ tSCC zAaa_TimeSelect0[] =
        "11.0 and later representation of ki time";
 
 #define    AAA_TIME_TEST_CT  1
-tTestDesc aAaa_TimeTests[] = {
+static tTestDesc aAaa_TimeTests[] = {
   { TT_EGREP,    zAaa_TimeSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aaa_Time
  */
-const char* apzAaa_TimePatch[] = {
+static const char* apzAaa_TimePatch[] = {
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Aab_Dgux_Int_Varargs fix
  */
-#define AAB_DGUX_INT_VARARGS_FIXIDX      6
+#define AAB_DGUX_INT_VARARGS_FIXIDX      7
 tSCC zAab_Dgux_Int_VarargsName[] =
      "AAB_dgux_int_varargs";
 
@@ -249,66 +283,50 @@ tSCC zAab_Dgux_Int_VarargsList[] =
 /*
  *  Fix Command Arguments for Aab_Dgux_Int_Varargs
  */
-const char* apzAab_Dgux_Int_VarargsPatch[] = {
+static const char* apzAab_Dgux_Int_VarargsPatch[] = {
 "#ifndef __INT_VARARGS_H\n\
-#define __INT_VARARGS_H\n\
-\n\
+#define __INT_VARARGS_H\n\n\
 /************************************************************************/\n\
 /* _INT_VARARGS.H - Define the common stuff for varargs/stdarg/stdio.   */\n\
-/************************************************************************/\n\
-\n\
+/************************************************************************/\n\n\
 /*\n\
 ** This file is a DG internal header.  Never include this\n\
 ** file directly.\n\
-*/\n\
-\n\
+*/\n\n\
 #ifndef ___int_features_h\n\
-#include <sys/_int_features.h>\n\
-#endif\n\
-\n\
+#include <sys/_int_features.h>\n\
+#endif\n\n\
 #if !(defined(_VA_LIST) || defined(_VA_LIST_))\n\
 #define _VA_LIST\n\
-#define _VA_LIST_\n\
-\n\
-#ifdef __LINT__\n\
-\n\
+#define _VA_LIST_\n\n\
+#ifdef __LINT__\n\n\
 #ifdef __STDC__\n\
 typedef void * va_list;\n\
 #else\n\
 typedef char * va_list;\n\
-#endif\n\
-\n\
+#endif\n\n\
 #else\n\
-#if _M88K_ANY\n\
-\n\
-#if defined(__DCC__)\n\
-\n\
+#if _M88K_ANY\n\n\
+#if defined(__DCC__)\n\n\
 typedef struct {\n\
       int     next_arg;\n\
       int     *mem_ptr;\n\
       int     *reg_ptr;\n\
-} va_list;\n\
-\n\
-#else  /* ! defined(__DCC__) */\n\
-\n\
+} va_list;\n\n\
+#else  /* ! defined(__DCC__) */\n\n\
 typedef struct {\n\
       int  __va_arg;       /* argument number */\n\
       int *__va_stk;       /* start of args passed on stack */\n\
       int *__va_reg;       /* start of args passed in regs */\n\
-} va_list;\n\
-\n\
-#endif  /* ! defined(__DCC__) */\n\
-\n\
-#elif _IX86_ANY\n\
-\n\
+} va_list;\n\n\
+#endif  /* ! defined(__DCC__) */\n\n\
+#elif _IX86_ANY\n\n\
 #if defined(__GNUC__) || defined(__STDC__)\n\
 typedef void * va_list;\n\
 #else\n\
 typedef char * va_list;\n\
-#endif\n\
-\n\
-#endif  /*  _IX86_ANY */\n\
-\n\
+#endif\n\n\
+#endif  /*  _IX86_ANY */\n\n\
 #endif /* __LINT__ */\n\
 #endif /*  !(defined(_VA_LIST) || defined(_VA_LIST_)) */\n\
 #endif /*  #ifndef __INT_VARARGS_H  */\n",
@@ -318,7 +336,7 @@ typedef char * va_list;\n\
  *
  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
  */
-#define AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX 7
+#define AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX 8
 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
      "AAB_fd_zero_asm_posix_types_h";
 
@@ -331,7 +349,7 @@ tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
  *  Machine/OS name selection pattern
  */
 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
-        "i[34567]86-*-linux-gnu*",
+        "i[34567]86-*-linux*",
         (const char*)NULL };
 
 /*
@@ -341,19 +359,18 @@ tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
        "} while";
 
 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  1
-tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
+static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
  */
-const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
+static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
 "/* This file fixes a bug in the __FD_ZERO macro\n\
    for older versions of the Linux kernel. */\n\
 #ifndef _POSIX_TYPES_H_WRAPPER\n\
 #include <features.h>\n\
-#include_next <asm/posix_types.h>\n\
-\n\
+ #include_next <asm/posix_types.h>\n\n\
 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
 #undef __FD_ZERO\n\
 #define __FD_ZERO(fdsetp) \\\n\
@@ -364,8 +381,7 @@ const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
 \t\t\t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
 \t\t\t  \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
   } while (0)\n\
-#endif\n\
-\n\
+#endif\n\n\
 #define _POSIX_TYPES_H_WRAPPER\n\
 #endif /* _POSIX_TYPES_H_WRAPPER */\n",
     (char*)NULL };
@@ -374,7 +390,7 @@ const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
  *
  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
  */
-#define AAB_FD_ZERO_GNU_TYPES_H_FIXIDX   8
+#define AAB_FD_ZERO_GNU_TYPES_H_FIXIDX   9
 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
      "AAB_fd_zero_gnu_types_h";
 
@@ -387,7 +403,7 @@ tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
  *  Machine/OS name selection pattern
  */
 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
-        "i[34567]86-*-linux-gnu*",
+        "i[34567]86-*-linux*",
         (const char*)NULL };
 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
@@ -395,12 +411,11 @@ tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
 /*
  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
  */
-const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
+static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
 #ifndef _TYPES_H_WRAPPER\n\
 #include <features.h>\n\
-#include_next <gnu/types.h>\n\
-\n\
+ #include_next <gnu/types.h>\n\n\
 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
 #undef __FD_ZERO\n\
 # define __FD_ZERO(fdsetp) \\\n\
@@ -411,8 +426,7 @@ const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
         \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
 \t\t  \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
   } while (0)\n\
-#endif\n\
-\n\
+#endif\n\n\
 #define _TYPES_H_WRAPPER\n\
 #endif /* _TYPES_H_WRAPPER */\n",
     (char*)NULL };
@@ -421,7 +435,7 @@ const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
  *
  *  Description of Aab_Fd_Zero_Selectbits_H fix
  */
-#define AAB_FD_ZERO_SELECTBITS_H_FIXIDX  9
+#define AAB_FD_ZERO_SELECTBITS_H_FIXIDX  10
 tSCC zAab_Fd_Zero_Selectbits_HName[] =
      "AAB_fd_zero_selectbits_h";
 
@@ -434,7 +448,7 @@ tSCC zAab_Fd_Zero_Selectbits_HList[] =
  *  Machine/OS name selection pattern
  */
 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
-        "i[34567]86-*-linux-gnu*",
+        "i[34567]86-*-linux*",
         (const char*)NULL };
 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
@@ -442,12 +456,11 @@ tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
 /*
  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
  */
-const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
+static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
 #ifndef _SELECTBITS_H_WRAPPER\n\
 #include <features.h>\n\
-#include_next <selectbits.h>\n\
-\n\
+ #include_next <selectbits.h>\n\n\
 #if defined(__FD_ZERO) && defined(__GLIBC__) \\\n\
 \t&& defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\n\
 \t&& __GLIBC_MINOR__ == 0\n\
@@ -462,8 +475,7 @@ const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
                           \"1\" ((__fd_mask *) (fdsetp)) \\\n\
                         : \"memory\"); \\\n\
   } while (0)\n\
-#endif\n\
-\n\
+#endif\n\n\
 #define _SELECTBITS_H_WRAPPER\n\
 #endif /* _SELECTBITS_H_WRAPPER */\n",
     (char*)NULL };
@@ -472,7 +484,7 @@ const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
  *
  *  Description of Aab_Sun_Memcpy fix
  */
-#define AAB_SUN_MEMCPY_FIXIDX            10
+#define AAB_SUN_MEMCPY_FIXIDX            11
 tSCC zAab_Sun_MemcpyName[] =
      "AAB_sun_memcpy";
 
@@ -493,17 +505,16 @@ tSCC zAab_Sun_MemcpySelect0[] =
        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
 
 #define    AAB_SUN_MEMCPY_TEST_CT  1
-tTestDesc aAab_Sun_MemcpyTests[] = {
+static tTestDesc aAab_Sun_MemcpyTests[] = {
   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aab_Sun_Memcpy
  */
-const char* apzAab_Sun_MemcpyPatch[] = {
+static const char* apzAab_Sun_MemcpyPatch[] = {
 "/* This file was generated by fixincludes */\n\
 #ifndef __memory_h__\n\
-#define __memory_h__\n\
-\n\
+#define __memory_h__\n\n\
 #ifdef __STDC__\n\
 extern void *memccpy();\n\
 extern void *memchr();\n\
@@ -514,10 +525,8 @@ extern char *memccpy();\n\
 extern char *memchr();\n\
 extern char *memcpy();\n\
 extern char *memset();\n\
-#endif /* __STDC__ */\n\
-\n\
-extern int memcmp();\n\
-\n\
+#endif /* __STDC__ */\n\n\
+extern int memcmp();\n\n\
 #endif /* __memory_h__ */\n",
     (char*)NULL };
 
@@ -525,7 +534,7 @@ extern int memcmp();\n\
  *
  *  Description of Aab_Svr4_Replace_Byteorder fix
  */
-#define AAB_SVR4_REPLACE_BYTEORDER_FIXIDX 11
+#define AAB_SVR4_REPLACE_BYTEORDER_FIXIDX 12
 tSCC zAab_Svr4_Replace_ByteorderName[] =
      "AAB_svr4_replace_byteorder";
 
@@ -551,144 +560,108 @@ tSCC* apzAab_Svr4_Replace_ByteorderMachs[] = {
 /*
  *  Fix Command Arguments for Aab_Svr4_Replace_Byteorder
  */
-const char* apzAab_Svr4_Replace_ByteorderPatch[] = {
+static const char* apzAab_Svr4_Replace_ByteorderPatch[] = {
 "#ifndef _SYS_BYTEORDER_H\n\
-#define _SYS_BYTEORDER_H\n\
-\n\
+#define _SYS_BYTEORDER_H\n\n\
 /* Functions to convert `short' and `long' quantities from host byte order\n\
-   to (internet) network byte order (i.e. big-endian).\n\
-\n\
-   Written by Ron Guilmette (rfg@ncd.com).\n\
-\n\
-   This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\
-\n\
-   For big-endian machines these functions are essentially no-ops.\n\
-\n\
+   to (internet) network byte order (i.e. big-endian).\n\n\
+   Written by Ron Guilmette (rfg@ncd.com).\n\n\
+   This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\n\
+   For big-endian machines these functions are essentially no-ops.\n\n\
    For little-endian machines, we define the functions using specialized\n\
-   asm sequences in cases where doing so yields better code (e.g. i386).  */\n\
-\n\
+   asm sequences in cases where doing so yields better code (e.g. i386).  */\n\n\
 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
 #error You lose!  This file is only useful with GNU compilers.\n\
-#endif\n\
-\n\
+#endif\n\n\
 #ifndef __BYTE_ORDER__\n\
 /* Byte order defines.  These are as defined on UnixWare 1.1, but with\n\
    double underscores added at the front and back.  */\n\
 #define __LITTLE_ENDIAN__   1234\n\
 #define __BIG_ENDIAN__      4321\n\
 #define __PDP_ENDIAN__      3412\n\
-#endif\n\
-\n\
+#endif\n\n\
 #ifdef __STDC__\n\
 static __inline__ unsigned long htonl (unsigned long);\n\
 static __inline__ unsigned short htons (unsigned int);\n\
 static __inline__ unsigned long ntohl (unsigned long);\n\
 static __inline__ unsigned short ntohs (unsigned int);\n\
-#endif /* defined (__STDC__) */\n\
-\n\
-#if defined (__i386__)\n\
-\n\
+#endif /* defined (__STDC__) */\n\n\
+#if defined (__i386__)\n\n\
 #ifndef __BYTE_ORDER__\n\
 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
-#endif\n\
-\n\
-/* Convert a host long to a network long.  */\n\
-\n\
+#endif\n\n\
+/* Convert a host long to a network long.  */\n\n\
 /* We must use a new-style function definition, so that this will also\n\
    be valid for C++.  */\n\
 static __inline__ unsigned long\n\
 htonl (unsigned long __arg)\n\
 {\n\
-  register unsigned long __result;\n\
-\n\
+  register unsigned long __result;\n\n\
   __asm__ (\"xchg%B0 %b0,%h0\n\
 \tror%L0 $16,%0\n\
 \txchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
   return __result;\n\
-}\n\
-\n\
-/* Convert a host short to a network short.  */\n\
-\n\
+}\n\n\
+/* Convert a host short to a network short.  */\n\n\
 static __inline__ unsigned short\n\
 htons (unsigned int __arg)\n\
 {\n\
-  register unsigned short __result;\n\
-\n\
+  register unsigned short __result;\n\n\
   __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
   return __result;\n\
-}\n\
-\n\
+}\n\n\
 #elif ((defined (__i860__) && !defined (__i860_big_endian__))\t\\\n\
        || defined (__ns32k__) || defined (__vax__)\t\t\\\n\
-       || defined (__spur__) || defined (__arm__))\n\
-\n\
+       || defined (__spur__) || defined (__arm__))\n\n\
 #ifndef __BYTE_ORDER__\n\
 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
-#endif\n\
-\n\
+#endif\n\n\
 /* For other little-endian machines, using C code is just as efficient as\n\
-   using assembly code.  */\n\
-\n\
-/* Convert a host long to a network long.  */\n\
-\n\
+   using assembly code.  */\n\n\
+/* Convert a host long to a network long.  */\n\n\
 static __inline__ unsigned long\n\
 htonl (unsigned long __arg)\n\
 {\n\
-  register unsigned long __result;\n\
-\n\
+  register unsigned long __result;\n\n\
   __result = (__arg >> 24) & 0x000000ff;\n\
   __result |= (__arg >> 8) & 0x0000ff00;\n\
   __result |= (__arg << 8) & 0x00ff0000;\n\
   __result |= (__arg << 24) & 0xff000000;\n\
   return __result;\n\
-}\n\
-\n\
-/* Convert a host short to a network short.  */\n\
-\n\
+}\n\n\
+/* Convert a host short to a network short.  */\n\n\
 static __inline__ unsigned short\n\
 htons (unsigned int __arg)\n\
 {\n\
-  register unsigned short __result;\n\
-\n\
+  register unsigned short __result;\n\n\
   __result = (__arg << 8) & 0xff00;\n\
   __result |= (__arg >> 8) & 0x00ff;\n\
   return __result;\n\
-}\n\
-\n\
-#else /* must be a big-endian machine */\n\
-\n\
+}\n\n\
+#else /* must be a big-endian machine */\n\n\
 #ifndef __BYTE_ORDER__\n\
 #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
-#endif\n\
-\n\
-/* Convert a host long to a network long.  */\n\
-\n\
+#endif\n\n\
+/* Convert a host long to a network long.  */\n\n\
 static __inline__ unsigned long\n\
 htonl (unsigned long __arg)\n\
 {\n\
   return __arg;\n\
-}\n\
-\n\
-/* Convert a host short to a network short.  */\n\
-\n\
+}\n\n\
+/* Convert a host short to a network short.  */\n\n\
 static __inline__ unsigned short\n\
 htons (unsigned int __arg)\n\
 {\n\
   return __arg;\n\
-}\n\
-\n\
-#endif /* big-endian */\n\
-\n\
-/* Convert a network long to a host long.  */\n\
-\n\
+}\n\n\
+#endif /* big-endian */\n\n\
+/* Convert a network long to a host long.  */\n\n\
 static __inline__ unsigned long\n\
 ntohl (unsigned long __arg)\n\
 {\n\
   return htonl (__arg);\n\
-}\n\
-\n\
-/* Convert a network short to a host short.  */\n\
-\n\
+}\n\n\
+/* Convert a network short to a host short.  */\n\n\
 static __inline__ unsigned short\n\
 ntohs (unsigned int __arg)\n\
 {\n\
@@ -701,7 +674,7 @@ ntohs (unsigned int __arg)\n\
  *
  *  Description of Aab_Ultrix_Ansi_Compat fix
  */
-#define AAB_ULTRIX_ANSI_COMPAT_FIXIDX    12
+#define AAB_ULTRIX_ANSI_COMPAT_FIXIDX    13
 tSCC zAab_Ultrix_Ansi_CompatName[] =
      "AAB_ultrix_ansi_compat";
 
@@ -722,21 +695,191 @@ tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
        "ULTRIX";
 
 #define    AAB_ULTRIX_ANSI_COMPAT_TEST_CT  1
-tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
+static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
   { TT_EGREP,    zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aab_Ultrix_Ansi_Compat
  */
-const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
+static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
 "/* This file intentionally left blank.  */\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Aab_Ultrix_Limits fix
+ */
+#define AAB_ULTRIX_LIMITS_FIXIDX         14
+tSCC zAab_Ultrix_LimitsName[] =
+     "AAB_ultrix_limits";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zAab_Ultrix_LimitsList[] =
+  "|limits.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzAab_Ultrix_LimitsMachs[] = {
+        "*-*-ultrix4.3",
+        (const char*)NULL };
+#define AAB_ULTRIX_LIMITS_TEST_CT  0
+#define aAab_Ultrix_LimitsTests   (tTestDesc*)NULL
+
+/*
+ *  Fix Command Arguments for Aab_Ultrix_Limits
+ */
+static const char* apzAab_Ultrix_LimitsPatch[] = {
+"#ifndef _LIMITS_INCLUDED\n\
+#define _LIMITS_INCLUDED\n\
+#include <sys/limits.h>\n\
+#endif /* _LIMITS_INCLUDED */\n",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Aab_Ultrix_Memory fix
+ */
+#define AAB_ULTRIX_MEMORY_FIXIDX         15
+tSCC zAab_Ultrix_MemoryName[] =
+     "AAB_ultrix_memory";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zAab_Ultrix_MemoryList[] =
+  "|memory.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzAab_Ultrix_MemoryMachs[] = {
+        "*-*-ultrix4.3",
+        (const char*)NULL };
+#define AAB_ULTRIX_MEMORY_TEST_CT  0
+#define aAab_Ultrix_MemoryTests   (tTestDesc*)NULL
+
+/*
+ *  Fix Command Arguments for Aab_Ultrix_Memory
+ */
+static const char* apzAab_Ultrix_MemoryPatch[] = {
+"#ifndef _MEMORY_INCLUDED\n\
+#define _MEMORY_INCLUDED\n\
+#include <strings.h>\n\
+#endif /* _MEMORY_INCLUDED */\n",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Aab_Ultrix_String fix
+ */
+#define AAB_ULTRIX_STRING_FIXIDX         16
+tSCC zAab_Ultrix_StringName[] =
+     "AAB_ultrix_string";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zAab_Ultrix_StringList[] =
+  "|string.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzAab_Ultrix_StringMachs[] = {
+        "*-*-ultrix4.3",
+        (const char*)NULL };
+#define AAB_ULTRIX_STRING_TEST_CT  0
+#define aAab_Ultrix_StringTests   (tTestDesc*)NULL
+
+/*
+ *  Fix Command Arguments for Aab_Ultrix_String
+ */
+static const char* apzAab_Ultrix_StringPatch[] = {
+"#ifndef _STRING_INCLUDED\n\
+#define _STRING_INCLUDED\n\
+#include <strings.h>\n\
+#endif /* _STRING_INCLUDED */\n",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Aix_Pthread fix
+ */
+#define AIX_PTHREAD_FIXIDX               17
+tSCC zAix_PthreadName[] =
+     "aix_pthread";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zAix_PthreadList[] =
+  "|pthread.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzAix_PthreadMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zAix_PthreadSelect0[] =
+       "(#define [A-Za-z_0-9]+)(\\\\\n\
+[^A-Za-z_0-9 \t\n\
+(])";
+
+#define    AIX_PTHREAD_TEST_CT  1
+static tTestDesc aAix_PthreadTests[] = {
+  { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Aix_Pthread
+ */
+static const char* apzAix_PthreadPatch[] = {
+    "format",
+    "%1 %2",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Aix_Sysmachine fix
+ */
+#define AIX_SYSMACHINE_FIXIDX            18
+tSCC zAix_SysmachineName[] =
+     "aix_sysmachine";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zAix_SysmachineList[] =
+  "|sys/machine.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzAix_SysmachineMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zAix_SysmachineSelect0[] =
+       "\\\\ +\n";
+
+#define    AIX_SYSMACHINE_TEST_CT  1
+static tTestDesc aAix_SysmachineTests[] = {
+  { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Aix_Sysmachine
+ */
+static const char* apzAix_SysmachinePatch[] = {
+    "format",
+    "\\\n",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Aix_Syswait fix
  */
-#define AIX_SYSWAIT_FIXIDX               13
+#define AIX_SYSWAIT_FIXIDX               19
 tSCC zAix_SyswaitName[] =
      "aix_syswait";
 
@@ -754,25 +897,29 @@ tSCC zAix_SyswaitList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zAix_SyswaitSelect0[] =
+       "^extern pid_t wait3\\(\\);\n";
+tSCC zAix_SyswaitSelect1[] =
        "bos325,";
 
-#define    AIX_SYSWAIT_TEST_CT  1
-tTestDesc aAix_SyswaitTests[] = {
-  { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL }, };
+#define    AIX_SYSWAIT_TEST_CT  2
+static tTestDesc aAix_SyswaitTests[] = {
+  { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL },
+  { TT_EGREP,    zAix_SyswaitSelect1, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aix_Syswait
  */
-const char* apzAix_SyswaitPatch[] = { "sed",
-    "-e", "/^extern pid_t wait3();$/i\\\n\
-struct rusage;\n",
+static const char* apzAix_SyswaitPatch[] = {
+    "format",
+    "struct rusage;\n\
+%0",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Aix_Volatile fix
  */
-#define AIX_VOLATILE_FIXIDX              14
+#define AIX_VOLATILE_FIXIDX              20
 tSCC zAix_VolatileName[] =
      "aix_volatile";
 
@@ -793,21 +940,58 @@ tSCC zAix_VolatileSelect0[] =
        "typedef volatile int sig_atomic_t";
 
 #define    AIX_VOLATILE_TEST_CT  1
-tTestDesc aAix_VolatileTests[] = {
+static tTestDesc aAix_VolatileTests[] = {
   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aix_Volatile
  */
-const char* apzAix_VolatilePatch[] = { "sed",
-    "-e", "s/typedef volatile int sig_atomic_t/typedef int sig_atomic_t/",
+static const char* apzAix_VolatilePatch[] = {
+    "format",
+    "typedef int sig_atomic_t",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Alpha___Assert fix
+ */
+#define ALPHA___ASSERT_FIXIDX            21
+tSCC zAlpha___AssertName[] =
+     "alpha___assert";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zAlpha___AssertList[] =
+  "|assert.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzAlpha___AssertMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zAlpha___AssertSelect0[] =
+       "__assert\\(char \\*, char \\*, int\\)";
+
+#define    ALPHA___ASSERT_TEST_CT  1
+static tTestDesc aAlpha___AssertTests[] = {
+  { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Alpha___Assert
+ */
+static const char* apzAlpha___AssertPatch[] = {
+    "format",
+    "__assert(const char *, const char *, int)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Alpha_Getopt fix
  */
-#define ALPHA_GETOPT_FIXIDX              15
+#define ALPHA_GETOPT_FIXIDX              22
 tSCC zAlpha_GetoptName[] =
      "alpha_getopt";
 
@@ -825,24 +1009,25 @@ tSCC zAlpha_GetoptList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zAlpha_GetoptSelect0[] =
-       "getopt\\(int, char \\*\\[";
+       "getopt\\(int, char \\*\\[\\], *char \\*\\)";
 
 #define    ALPHA_GETOPT_TEST_CT  1
-tTestDesc aAlpha_GetoptTests[] = {
+static tTestDesc aAlpha_GetoptTests[] = {
   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Alpha_Getopt
  */
-const char* apzAlpha_GetoptPatch[] = { "sed",
-    "-e", "s/getopt(int, char \\*\\[\\],[ ]*char \\*)/getopt(int, char *const[], const char *)/",
+static const char* apzAlpha_GetoptPatch[] = {
+    "format",
+    "getopt(int, char *const[], const char *)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Alpha_Parens fix
  */
-#define ALPHA_PARENS_FIXIDX              16
+#define ALPHA_PARENS_FIXIDX              23
 tSCC zAlpha_ParensName[] =
      "alpha_parens";
 
@@ -863,21 +1048,22 @@ tSCC zAlpha_ParensSelect0[] =
        "#ifndef\\(__mips64\\)";
 
 #define    ALPHA_PARENS_TEST_CT  1
-tTestDesc aAlpha_ParensTests[] = {
+static tTestDesc aAlpha_ParensTests[] = {
   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Alpha_Parens
  */
-const char* apzAlpha_ParensPatch[] = { "sed",
-    "-e", "s/#ifndef(__mips64)/#ifndef __mips64/",
+static const char* apzAlpha_ParensPatch[] = {
+    "format",
+    "#ifndef __mips64",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Alpha_Sbrk fix
  */
-#define ALPHA_SBRK_FIXIDX                17
+#define ALPHA_SBRK_FIXIDX                24
 tSCC zAlpha_SbrkName[] =
      "alpha_sbrk";
 
@@ -898,21 +1084,22 @@ tSCC zAlpha_SbrkSelect0[] =
        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
 
 #define    ALPHA_SBRK_TEST_CT  1
-tTestDesc aAlpha_SbrkTests[] = {
+static tTestDesc aAlpha_SbrkTests[] = {
   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Alpha_Sbrk
  */
-const char* apzAlpha_SbrkPatch[] = { "sed",
-    "-e", "s/char\\([ \t]*\\*[\t ]*sbrk[ \t]*(\\)/void\\1/",
+static const char* apzAlpha_SbrkPatch[] = {
+    "format",
+    "void *sbrk(",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Arm_Norcroft_Hint fix
  */
-#define ARM_NORCROFT_HINT_FIXIDX         18
+#define ARM_NORCROFT_HINT_FIXIDX         25
 tSCC zArm_Norcroft_HintName[] =
      "arm_norcroft_hint";
 
@@ -933,21 +1120,22 @@ tSCC zArm_Norcroft_HintSelect0[] =
        "___type p_type";
 
 #define    ARM_NORCROFT_HINT_TEST_CT  1
-tTestDesc aArm_Norcroft_HintTests[] = {
+static tTestDesc aArm_Norcroft_HintTests[] = {
   { TT_EGREP,    zArm_Norcroft_HintSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Arm_Norcroft_Hint
  */
-const char* apzArm_Norcroft_HintPatch[] = { "sed",
-    "-e", "s/___type p_type/p_type/",
+static const char* apzArm_Norcroft_HintPatch[] = {
+    "format",
+    "p_type",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Arm_Wchar fix
  */
-#define ARM_WCHAR_FIXIDX                 19
+#define ARM_WCHAR_FIXIDX                 26
 tSCC zArm_WcharName[] =
      "arm_wchar";
 
@@ -968,22 +1156,23 @@ tSCC zArm_WcharSelect0[] =
        "#[ \t]*define[ \t]*__wchar_t";
 
 #define    ARM_WCHAR_TEST_CT  1
-tTestDesc aArm_WcharTests[] = {
+static tTestDesc aArm_WcharTests[] = {
   { TT_EGREP,    zArm_WcharSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Arm_Wchar
  */
-const char* apzArm_WcharPatch[] = { "sed",
-    "-e", "s/\\(#[ \t]*ifndef[ \t]*\\)__wchar_t/\\1_GCC_WCHAR_T/",
-    "-e", "s/\\(#[ \t]*define[ \t]*\\)__wchar_t/\\1_GCC_WCHAR_T/",
+static const char* apzArm_WcharPatch[] = {
+    "format",
+    "%1_GCC_WCHAR_T",
+    "(#[ \t]*(ifndef|define)[ \t]+)__wchar_t",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Aux_Asm fix
  */
-#define AUX_ASM_FIXIDX                   20
+#define AUX_ASM_FIXIDX                   27
 tSCC zAux_AsmName[] =
      "aux_asm";
 
@@ -1004,144 +1193,150 @@ tSCC zAux_AsmSelect0[] =
        "#ifndef NOINLINE";
 
 #define    AUX_ASM_TEST_CT  1
-tTestDesc aAux_AsmTests[] = {
+static tTestDesc aAux_AsmTests[] = {
   { TT_EGREP,    zAux_AsmSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Aux_Asm
  */
-const char* apzAux_AsmPatch[] = { "sed",
-    "-e", "s|#ifndef NOINLINE|#if !defined(NOINLINE) \\&\\& !defined(__GNUC__)|",
+static const char* apzAux_AsmPatch[] = {
+    "format",
+    "#if !defined(NOINLINE) && !defined(__GNUC__)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Avoid_Bool fix
+ *  Description of Avoid_Bool_Define fix
  */
-#define AVOID_BOOL_FIXIDX                21
-tSCC zAvoid_BoolName[] =
-     "avoid_bool";
+#define AVOID_BOOL_DEFINE_FIXIDX         28
+tSCC zAvoid_Bool_DefineName[] =
+     "avoid_bool_define";
 
 /*
  *  File name selection pattern
  */
-tSCC zAvoid_BoolList[] =
+tSCC zAvoid_Bool_DefineList[] =
   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzAvoid_BoolMachs (const char**)NULL
+#define apzAvoid_Bool_DefineMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zAvoid_BoolSelect0[] =
-       "char[ \t]+bool|bool[ \t]+char";
+tSCC zAvoid_Bool_DefineSelect0[] =
+       "#[ \t]*define[ \t]+bool[ \t]";
 
 /*
  *  content bypass pattern - skip fix if pattern found
  */
-tSCC zAvoid_BoolBypass0[] =
+tSCC zAvoid_Bool_DefineBypass0[] =
        "we must use the C\\+\\+ compiler's type";
 
-#define    AVOID_BOOL_TEST_CT  2
-tTestDesc aAvoid_BoolTests[] = {
-  { TT_NEGREP,   zAvoid_BoolBypass0, (regex_t*)NULL },
-  { TT_EGREP,    zAvoid_BoolSelect0, (regex_t*)NULL }, };
+#define    AVOID_BOOL_DEFINE_TEST_CT  2
+static tTestDesc aAvoid_Bool_DefineTests[] = {
+  { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Avoid_Bool
+ *  Fix Command Arguments for Avoid_Bool_Define
  */
-const char* apzAvoid_BoolPatch[] = { "sed",
-    "-e", "/^#[ \t]*define[ \t][ \t]*bool[ \t][ \t]*char[ \t]*$/i\\\n\
-#ifndef __cplusplus\n",
-    "-e", "/^#[ \t]*define[ \t][ \t]*bool[ \t][ \t]*char[ \t]*$/a\\\n\
-#endif\n",
-    "-e", "/^typedef[ \t][ \t]*char[ \t][ \t]*bool[ \t]*;/i\\\n\
-#ifndef __cplusplus\n",
-    "-e", "/^typedef[ \t][ \t]*char[ \t][ \t]*bool[ \t]*;/a\\\n\
-#endif\n",
-    "-e", "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/i\\\n\
-#ifndef __cplusplus\n",
-    "-e", "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/a\\\n\
-#endif\n",
-    "-e", "/^typedef[ \t][ \t]*int[ \t][ \t]*bool[ \t]*;/i\\\n\
-#ifndef __cplusplus\n",
-    "-e", "/^typedef[ \t][ \t]*int[ \t][ \t]*bool[ \t]*;/a\\\n\
-#endif\n",
-    "-e", "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/i\\\n\
-#ifndef __cplusplus\n",
-    "-e", "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/a\\\n\
-#endif\n",
+static const char* apzAvoid_Bool_DefinePatch[] = {
+    "format",
+    "#ifndef __cplusplus\n\
+%0\n\
+#endif",
+    "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Bad_Struct_Term fix
+ *  Description of Avoid_Bool_Type fix
  */
-#define BAD_STRUCT_TERM_FIXIDX           22
-tSCC zBad_Struct_TermName[] =
-     "bad_struct_term";
+#define AVOID_BOOL_TYPE_FIXIDX           29
+tSCC zAvoid_Bool_TypeName[] =
+     "avoid_bool_type";
 
 /*
  *  File name selection pattern
  */
-tSCC zBad_Struct_TermList[] =
-  "|curses.h|";
+tSCC zAvoid_Bool_TypeList[] =
+  "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzBad_Struct_TermMachs (const char**)NULL
+#define apzAvoid_Bool_TypeMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zBad_Struct_TermSelect0[] =
-       "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
+tSCC zAvoid_Bool_TypeSelect0[] =
+       "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
 
-#define    BAD_STRUCT_TERM_TEST_CT  1
-tTestDesc aBad_Struct_TermTests[] = {
-  { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zAvoid_Bool_TypeBypass0[] =
+       "we must use the C\\+\\+ compiler's type";
+
+#define    AVOID_BOOL_TYPE_TEST_CT  2
+static tTestDesc aAvoid_Bool_TypeTests[] = {
+  { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Bad_Struct_Term
+ *  Fix Command Arguments for Avoid_Bool_Type
  */
-const char* apzBad_Struct_TermPatch[] = { "sed",
-    "-e", "s/^[ \t]*typedef[ \t][ \t]*\\(struct[ \t][ \t]*term[ \t]*;[ \t]*\\)$/\\1/",
+static const char* apzAvoid_Bool_TypePatch[] = {
+    "format",
+    "#ifndef __cplusplus\n\
+%0\n\
+#endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Badquote fix
+ *  Description of Avoid_Wchar_T_Type fix
  */
-#define BADQUOTE_FIXIDX                  23
-tSCC zBadquoteName[] =
-     "badquote";
+#define AVOID_WCHAR_T_TYPE_FIXIDX        30
+tSCC zAvoid_Wchar_T_TypeName[] =
+     "avoid_wchar_t_type";
 
 /*
  *  File name selection pattern
  */
-tSCC zBadquoteList[] =
-  "|sundev/vuid_event.h|";
+#define zAvoid_Wchar_T_TypeList (char*)NULL
 /*
  *  Machine/OS name selection pattern
  */
-#define apzBadquoteMachs (const char**)NULL
-#define BADQUOTE_TEST_CT  0
-#define aBadquoteTests   (tTestDesc*)NULL
+#define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
 
 /*
- *  Fix Command Arguments for Badquote
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zAvoid_Wchar_T_TypeSelect0[] =
+       "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
+
+#define    AVOID_WCHAR_T_TYPE_TEST_CT  1
+static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
+  { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Avoid_Wchar_T_Type
  */
-const char* apzBadquotePatch[] = { "sed",
-    "-e", "s/doesn't/does not/",
+static const char* apzAvoid_Wchar_T_TypePatch[] = {
+    "format",
+    "#ifndef __cplusplus\n\
+%0\n\
+#endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Bad_Lval fix
  */
-#define BAD_LVAL_FIXIDX                  24
+#define BAD_LVAL_FIXIDX                  31
 tSCC zBad_LvalName[] =
      "bad_lval";
 
@@ -1159,24 +1354,96 @@ tSCC zBad_LvalList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zBad_LvalSelect0[] =
-       "^[ \t]*#[ \t]*pragma[ \t][ \t]*extern_prefix";
+       "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
 
 #define    BAD_LVAL_TEST_CT  1
-tTestDesc aBad_LvalTests[] = {
+static tTestDesc aBad_LvalTests[] = {
   { TT_EGREP,    zBad_LvalSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Bad_Lval
  */
-const char* apzBad_LvalPatch[] = { "sed",
-    "-e", "s/^[ \t]*#[ \t]*define[ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
+static const char* apzBad_LvalPatch[] = { "sed",
+    "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Bad_Struct_Term fix
+ */
+#define BAD_STRUCT_TERM_FIXIDX           32
+tSCC zBad_Struct_TermName[] =
+     "bad_struct_term";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zBad_Struct_TermList[] =
+  "|curses.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzBad_Struct_TermMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zBad_Struct_TermSelect0[] =
+       "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
+
+#define    BAD_STRUCT_TERM_TEST_CT  1
+static tTestDesc aBad_Struct_TermTests[] = {
+  { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Bad_Struct_Term
+ */
+static const char* apzBad_Struct_TermPatch[] = {
+    "format",
+    "struct term;",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Badquote fix
+ */
+#define BADQUOTE_FIXIDX                  33
+tSCC zBadquoteName[] =
+     "badquote";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zBadquoteList[] =
+  "|sundev/vuid_event.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzBadquoteMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zBadquoteSelect0[] =
+       "doesn't";
+
+#define    BADQUOTE_TEST_CT  1
+static tTestDesc aBadquoteTests[] = {
+  { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Badquote
+ */
+static const char* apzBadquotePatch[] = {
+    "format",
+    "does not",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Broken_Assert_Stdio fix
  */
-#define BROKEN_ASSERT_STDIO_FIXIDX       25
+#define BROKEN_ASSERT_STDIO_FIXIDX       34
 tSCC zBroken_Assert_StdioName[] =
      "broken_assert_stdio";
 
@@ -1200,26 +1467,26 @@ tSCC zBroken_Assert_StdioSelect0[] =
  *  content bypass pattern - skip fix if pattern found
  */
 tSCC zBroken_Assert_StdioBypass0[] =
-       "include.*stdio.h";
+       "include.*stdio\\.h";
 
 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
-tTestDesc aBroken_Assert_StdioTests[] = {
+static tTestDesc aBroken_Assert_StdioTests[] = {
   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Broken_Assert_Stdio
  */
-const char* apzBroken_Assert_StdioPatch[] = { "sed",
-    "-e", "1i\\\n\
-#include <stdio.h>\n",
+static const char* apzBroken_Assert_StdioPatch[] = {
+    "wrap",
+    "#include <stdio.h>\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Broken_Assert_Stdlib fix
  */
-#define BROKEN_ASSERT_STDLIB_FIXIDX      26
+#define BROKEN_ASSERT_STDLIB_FIXIDX      35
 tSCC zBroken_Assert_StdlibName[] =
      "broken_assert_stdlib";
 
@@ -1243,346 +1510,495 @@ tSCC zBroken_Assert_StdlibSelect0[] =
  *  content bypass pattern - skip fix if pattern found
  */
 tSCC zBroken_Assert_StdlibBypass0[] =
-       "include.*stdlib.h";
+       "include.*stdlib\\.h";
 
 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
-tTestDesc aBroken_Assert_StdlibTests[] = {
+static tTestDesc aBroken_Assert_StdlibTests[] = {
   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Broken_Assert_Stdlib
  */
-const char* apzBroken_Assert_StdlibPatch[] = { "sed",
-    "-e", "1i\\\n\
-#ifdef __cplusplus\\\n\
-#include <stdlib.h>\\\n\
+static const char* apzBroken_Assert_StdlibPatch[] = {
+    "wrap",
+    "#ifdef __cplusplus\n\
+#include <stdlib.h>\n\
 #endif\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Dec_Intern_Asm fix
+ *  Description of Broken_Cabs fix
  */
-#define DEC_INTERN_ASM_FIXIDX            27
-tSCC zDec_Intern_AsmName[] =
-     "dec_intern_asm";
+#define BROKEN_CABS_FIXIDX               36
+tSCC zBroken_CabsName[] =
+     "broken_cabs";
 
 /*
  *  File name selection pattern
  */
-tSCC zDec_Intern_AsmList[] =
-  "|c_asm.h|";
+tSCC zBroken_CabsList[] =
+  "|math.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzDec_Intern_AsmMachs (const char**)NULL
-#define DEC_INTERN_ASM_TEST_CT  0
-#define aDec_Intern_AsmTests   (tTestDesc*)NULL
+#define apzBroken_CabsMachs (const char**)NULL
 
 /*
- *  Fix Command Arguments for Dec_Intern_Asm
+ *  content selection pattern - do fix if pattern found
  */
-const char* apzDec_Intern_AsmPatch[] = { "sed",
-    "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
-#ifdef __DECC\n",
-    "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
+tSCC zBroken_CabsSelect0[] =
+       "^extern[ \\t]+double[ \\t]+cabs";
+
+#define    BROKEN_CABS_TEST_CT  1
+static tTestDesc aBroken_CabsTests[] = {
+  { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Broken_Cabs
+ */
+static const char* apzBroken_CabsPatch[] = {
+    "format",
+    "",
+    "^extern[ \t]+double[ \t]+cabs\\((struct dbl_hypot|)\\);",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Ctrl_Quotes_Def fix
+ */
+#define CTRL_QUOTES_DEF_FIXIDX           37
+tSCC zCtrl_Quotes_DefName[] =
+     "ctrl_quotes_def";
+
+/*
+ *  File name selection pattern
+ */
+#define zCtrl_Quotes_DefList (char*)NULL
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzCtrl_Quotes_DefMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zCtrl_Quotes_DefSelect0[] =
+       "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
+
+#define    CTRL_QUOTES_DEF_TEST_CT  1
+static tTestDesc aCtrl_Quotes_DefTests[] = {
+  { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Ctrl_Quotes_Def
+ */
+static const char* apzCtrl_Quotes_DefPatch[] = {
+    "char_macro_def",
+    "CTRL",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Ctrl_Quotes_Use fix
+ */
+#define CTRL_QUOTES_USE_FIXIDX           38
+tSCC zCtrl_Quotes_UseName[] =
+     "ctrl_quotes_use";
+
+/*
+ *  File name selection pattern
+ */
+#define zCtrl_Quotes_UseList (char*)NULL
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzCtrl_Quotes_UseMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zCtrl_Quotes_UseSelect0[] =
+       "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
+
+#define    CTRL_QUOTES_USE_TEST_CT  1
+static tTestDesc aCtrl_Quotes_UseTests[] = {
+  { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Ctrl_Quotes_Use
+ */
+static const char* apzCtrl_Quotes_UsePatch[] = {
+    "char_macro_use",
+    "CTRL",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Cxx_Unready fix
+ */
+#define CXX_UNREADY_FIXIDX               39
+tSCC zCxx_UnreadyName[] =
+     "cxx_unready";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zCxx_UnreadyList[] =
+  "|sys/mman.h|rpc/types.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzCxx_UnreadyMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zCxx_UnreadySelect0[] =
+       "[^#]+malloc.*;";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zCxx_UnreadyBypass0[] =
+       "\"C\"|__BEGIN_DECLS";
+
+#define    CXX_UNREADY_TEST_CT  2
+static tTestDesc aCxx_UnreadyTests[] = {
+  { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Cxx_Unready
+ */
+static const char* apzCxx_UnreadyPatch[] = {
+    "wrap",
+    "#ifdef __cplusplus\n\
+extern \"C\" {\n\
+#endif\n",
+    "#ifdef __cplusplus\n\
+}\n\
 #endif\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Ecd_Cursor fix
+ *  Description of Dec_Intern_Asm fix
  */
-#define ECD_CURSOR_FIXIDX                28
-tSCC zEcd_CursorName[] =
-     "ecd_cursor";
+#define DEC_INTERN_ASM_FIXIDX            40
+tSCC zDec_Intern_AsmName[] =
+     "dec_intern_asm";
 
 /*
  *  File name selection pattern
  */
-tSCC zEcd_CursorList[] =
-  "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
+tSCC zDec_Intern_AsmList[] =
+  "|c_asm.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzEcd_CursorMachs (const char**)NULL
-#define ECD_CURSOR_TEST_CT  0
-#define aEcd_CursorTests   (tTestDesc*)NULL
+#define apzDec_Intern_AsmMachs (const char**)NULL
+#define DEC_INTERN_ASM_TEST_CT  0
+#define aDec_Intern_AsmTests   (tTestDesc*)NULL
 
 /*
- *  Fix Command Arguments for Ecd_Cursor
+ *  Fix Command Arguments for Dec_Intern_Asm
  */
-const char* apzEcd_CursorPatch[] = { "sed",
-    "-e", "s/ecd.cursor/ecd_cursor/",
+static const char* apzDec_Intern_AsmPatch[] = { "sed",
+    "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
+#ifdef __DECC\n",
+    "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
+#endif\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sco5_Stat_Wrappers fix
+ *  Description of Djgpp_Wchar_H fix
  */
-#define SCO5_STAT_WRAPPERS_FIXIDX        29
-tSCC zSco5_Stat_WrappersName[] =
-     "sco5_stat_wrappers";
+#define DJGPP_WCHAR_H_FIXIDX             41
+tSCC zDjgpp_Wchar_HName[] =
+     "djgpp_wchar_h";
 
 /*
  *  File name selection pattern
  */
-tSCC zSco5_Stat_WrappersList[] =
-  "|sys/stat.h|";
+#define zDjgpp_Wchar_HList (char*)NULL
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzSco5_Stat_WrappersMachs[] = {
-        "i*86-*-sco3.2v5*",
-        (const char*)NULL };
-#define SCO5_STAT_WRAPPERS_TEST_CT  0
-#define aSco5_Stat_WrappersTests   (tTestDesc*)NULL
+#define apzDjgpp_Wchar_HMachs (const char**)NULL
 
 /*
- *  Fix Command Arguments for Sco5_Stat_Wrappers
+ *  content selection pattern - do fix if pattern found
  */
-const char* apzSco5_Stat_WrappersPatch[] = { "sed",
-    "-e", "/^static int[ \t]*[a-z]*stat(/i\\\n\
-#ifdef __cplusplus\\\n\
-extern \"C\"\\\n\
-{\\\n\
-#endif\\\n",
-    "-e", "/^}$/a\\\n\
-#ifdef __cplusplus\\\n\
-}\\\n\
-#endif /* __cplusplus */\\\n",
+tSCC zDjgpp_Wchar_HSelect0[] =
+       "__DJ_wint_t";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zDjgpp_Wchar_HBypass0[] =
+       "sys/djtypes.h";
+
+#define    DJGPP_WCHAR_H_TEST_CT  2
+static tTestDesc aDjgpp_Wchar_HTests[] = {
+  { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Djgpp_Wchar_H
+ */
+static const char* apzDjgpp_Wchar_HPatch[] = {
+    "format",
+    "%0\n\
+#include <sys/djtypes.h>",
+    "#include <stddef.h>",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Hp_Inline fix
+ *  Description of Ecd_Cursor fix
  */
-#define HP_INLINE_FIXIDX                 30
-tSCC zHp_InlineName[] =
-     "hp_inline";
+#define ECD_CURSOR_FIXIDX                42
+tSCC zEcd_CursorName[] =
+     "ecd_cursor";
 
 /*
  *  File name selection pattern
  */
-tSCC zHp_InlineList[] =
-  "|sys/spinlock.h|";
+tSCC zEcd_CursorList[] =
+  "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzHp_InlineMachs (const char**)NULL
+#define apzEcd_CursorMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zHp_InlineSelect0[] =
-       "include.*\"\\.\\./machine/";
+tSCC zEcd_CursorSelect0[] =
+       "ecd\\.cursor";
 
-#define    HP_INLINE_TEST_CT  1
-tTestDesc aHp_InlineTests[] = {
-  { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
+#define    ECD_CURSOR_TEST_CT  1
+static tTestDesc aEcd_CursorTests[] = {
+  { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Hp_Inline
+ *  Fix Command Arguments for Ecd_Cursor
  */
-const char* apzHp_InlinePatch[] = { "sed",
-    "-e", "s,\"../machine/inline.h\",<machine/inline.h>,",
-    "-e", "s,\"../machine/psl.h\",<machine/psl.h>,",
+static const char* apzEcd_CursorPatch[] = {
+    "format",
+    "ecd_cursor",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Hp_Sysfile fix
+ *  Description of Fix_Header_Breakage fix
  */
-#define HP_SYSFILE_FIXIDX                31
-tSCC zHp_SysfileName[] =
-     "hp_sysfile";
+#define FIX_HEADER_BREAKAGE_FIXIDX       43
+tSCC zFix_Header_BreakageName[] =
+     "fix_header_breakage";
 
 /*
  *  File name selection pattern
  */
-tSCC zHp_SysfileList[] =
-  "|sys/file.h|";
+tSCC zFix_Header_BreakageList[] =
+  "|math.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzHp_SysfileMachs (const char**)NULL
+tSCC* apzFix_Header_BreakageMachs[] = {
+        "m88k-motorola-sysv3*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zHp_SysfileSelect0[] =
-       "HPUX_SOURCE";
+tSCC zFix_Header_BreakageSelect0[] =
+       "extern double floor\\(\\), ceil\\(\\), fmod\\(\\), fabs\\(\\);";
 
-#define    HP_SYSFILE_TEST_CT  1
-tTestDesc aHp_SysfileTests[] = {
-  { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
+#define    FIX_HEADER_BREAKAGE_TEST_CT  1
+static tTestDesc aFix_Header_BreakageTests[] = {
+  { TT_EGREP,    zFix_Header_BreakageSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Hp_Sysfile
+ *  Fix Command Arguments for Fix_Header_Breakage
  */
-const char* apzHp_SysfilePatch[] = { "sed",
-    "-e", "s/(\\.\\.\\.)/(struct file *, ...)/",
+static const char* apzFix_Header_BreakagePatch[] = {
+    "format",
+    "extern double floor(), ceil(), fmod(), fabs _PARAMS((double));",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Cxx_Unready fix
+ *  Description of Freebsd_Gcc3_Breakage fix
  */
-#define CXX_UNREADY_FIXIDX               32
-tSCC zCxx_UnreadyName[] =
-     "cxx_unready";
+#define FREEBSD_GCC3_BREAKAGE_FIXIDX     44
+tSCC zFreebsd_Gcc3_BreakageName[] =
+     "freebsd_gcc3_breakage";
 
 /*
  *  File name selection pattern
  */
-tSCC zCxx_UnreadyList[] =
-  "|sys/mman.h|rpc/types.h|";
+tSCC zFreebsd_Gcc3_BreakageList[] =
+  "|sys/cdefs.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzCxx_UnreadyMachs (const char**)NULL
+tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
+        "*-*-freebsd*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zCxx_UnreadySelect0[] =
-       "[^#]+malloc.*;";
+tSCC zFreebsd_Gcc3_BreakageSelect0[] =
+       "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
 
 /*
  *  content bypass pattern - skip fix if pattern found
  */
-tSCC zCxx_UnreadyBypass0[] =
-       "\"C\"|__BEGIN_DECLS";
+tSCC zFreebsd_Gcc3_BreakageBypass0[] =
+       "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
 
-#define    CXX_UNREADY_TEST_CT  2
-tTestDesc aCxx_UnreadyTests[] = {
-  { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
-  { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
+#define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
+static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
+  { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Cxx_Unready
+ *  Fix Command Arguments for Freebsd_Gcc3_Breakage
  */
-const char* apzCxx_UnreadyPatch[] = { "sed",
-    "-e", "1i\\\n\
-#ifdef __cplusplus\\\n\
-extern \"C\" {\\\n\
-#endif\\\n\
-\n",
-    "-e", "$a\\\n\
-#ifdef __cplusplus\\\n\
-}\\\n\
-#endif\n",
+static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
+    "format",
+    "%0 || __GNUC__ >= 3",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Hpux_Maxint fix
+ *  Description of Hp_Inline fix
  */
-#define HPUX_MAXINT_FIXIDX               33
-tSCC zHpux_MaxintName[] =
-     "hpux_maxint";
+#define HP_INLINE_FIXIDX                 45
+tSCC zHp_InlineName[] =
+     "hp_inline";
 
 /*
  *  File name selection pattern
  */
-tSCC zHpux_MaxintList[] =
-  "|sys/param.h|";
+tSCC zHp_InlineList[] =
+  "|sys/spinlock.h|machine/machparam.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzHpux_MaxintMachs (const char**)NULL
-#define HPUX_MAXINT_TEST_CT  0
-#define aHpux_MaxintTests   (tTestDesc*)NULL
+#define apzHp_InlineMachs (const char**)NULL
 
 /*
- *  Fix Command Arguments for Hpux_Maxint
+ *  content selection pattern - do fix if pattern found
  */
-const char* apzHpux_MaxintPatch[] = { "sed",
-    "-e", "/^#[ \t]*define[ \t]*MAXINT[ \t]/i\\\n\
-#ifndef MAXINT\n",
-    "-e", "/^#[ \t]*define[ \t]*MAXINT[ \t]/a\\\n\
-#endif\n",
+tSCC zHp_InlineSelect0[] =
+       "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
+
+#define    HP_INLINE_TEST_CT  1
+static tTestDesc aHp_InlineTests[] = {
+  { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Hp_Inline
+ */
+static const char* apzHp_InlinePatch[] = {
+    "format",
+    "%1<machine/%2.h>",
+    "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Hpux_Systime fix
+ *  Description of Hp_Sysfile fix
  */
-#define HPUX_SYSTIME_FIXIDX              34
-tSCC zHpux_SystimeName[] =
-     "hpux_systime";
+#define HP_SYSFILE_FIXIDX                46
+tSCC zHp_SysfileName[] =
+     "hp_sysfile";
 
 /*
  *  File name selection pattern
  */
-tSCC zHpux_SystimeList[] =
-  "|sys/time.h|";
+tSCC zHp_SysfileList[] =
+  "|sys/file.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzHpux_SystimeMachs (const char**)NULL
+#define apzHp_SysfileMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zHpux_SystimeSelect0[] =
-       "^extern struct sigevent;";
+tSCC zHp_SysfileSelect0[] =
+       "HPUX_SOURCE";
 
-#define    HPUX_SYSTIME_TEST_CT  1
-tTestDesc aHpux_SystimeTests[] = {
-  { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
+#define    HP_SYSFILE_TEST_CT  1
+static tTestDesc aHp_SysfileTests[] = {
+  { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Hpux_Systime
+ *  Fix Command Arguments for Hp_Sysfile
  */
-const char* apzHpux_SystimePatch[] = { "sed",
-    "-e", "s/^extern struct sigevent;/struct sigevent;/",
+static const char* apzHp_SysfilePatch[] = {
+    "format",
+    "(struct file *, ...)",
+    "\\(\\.\\.\\.\\)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Hpux8_Bogus_Inlines fix
+ *  Description of Hpux11_Fabsf fix
  */
-#define HPUX8_BOGUS_INLINES_FIXIDX       35
-tSCC zHpux8_Bogus_InlinesName[] =
-     "hpux8_bogus_inlines";
+#define HPUX11_FABSF_FIXIDX              47
+tSCC zHpux11_FabsfName[] =
+     "hpux11_fabsf";
 
 /*
  *  File name selection pattern
  */
-tSCC zHpux8_Bogus_InlinesList[] =
+tSCC zHpux11_FabsfList[] =
   "|math.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzHpux8_Bogus_InlinesMachs (const char**)NULL
+#define apzHpux11_FabsfMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zHpux8_Bogus_InlinesSelect0[] =
-       "inline";
+tSCC zHpux11_FabsfSelect0[] =
+       "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
 
-#define    HPUX8_BOGUS_INLINES_TEST_CT  1
-tTestDesc aHpux8_Bogus_InlinesTests[] = {
-  { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zHpux11_FabsfBypass0[] =
+       "__cplusplus";
+
+#define    HPUX11_FABSF_TEST_CT  2
+static tTestDesc aHpux11_FabsfTests[] = {
+  { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Hpux8_Bogus_Inlines
+ *  Fix Command Arguments for Hpux11_Fabsf
  */
-const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
-    "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
-    "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
-    "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
-    "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
+static const char* apzHpux11_FabsfPatch[] = {
+    "format",
+    "#ifndef __cplusplus\n\
+%0\n\
+#endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Hpux11_Uint32_C fix
  */
-#define HPUX11_UINT32_C_FIXIDX           36
+#define HPUX11_UINT32_C_FIXIDX           48
 tSCC zHpux11_Uint32_CName[] =
      "hpux11_uint32_c";
 
@@ -1603,322 +2019,326 @@ tSCC zHpux11_Uint32_CSelect0[] =
        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
 
 #define    HPUX11_UINT32_C_TEST_CT  1
-tTestDesc aHpux11_Uint32_CTests[] = {
+static tTestDesc aHpux11_Uint32_CTests[] = {
   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Hpux11_Uint32_C
  */
-const char* apzHpux11_Uint32_CPatch[] = { "sed",
-    "-e", "s/^#define UINT32_C(__c)\\([ \t]*\\)__CONCAT__(__CONCAT_U__(__c),l)/#define UINT32_C(__c)\\1__CONCAT__(__c,ul)/",
+static const char* apzHpux11_Uint32_CPatch[] = {
+    "format",
+    "#define UINT32_C(__c) __CONCAT__(__c,ul)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Isc_Omits_With_Stdc fix
+ *  Description of Hpux8_Bogus_Inlines fix
  */
-#define ISC_OMITS_WITH_STDC_FIXIDX       37
-tSCC zIsc_Omits_With_StdcName[] =
-     "isc_omits_with_stdc";
+#define HPUX8_BOGUS_INLINES_FIXIDX       49
+tSCC zHpux8_Bogus_InlinesName[] =
+     "hpux8_bogus_inlines";
 
 /*
  *  File name selection pattern
  */
-tSCC zIsc_Omits_With_StdcList[] =
-  "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
+tSCC zHpux8_Bogus_InlinesList[] =
+  "|math.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIsc_Omits_With_StdcMachs (const char**)NULL
+#define apzHpux8_Bogus_InlinesMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIsc_Omits_With_StdcSelect0[] =
-       "defined(__STDC__) && !defined(_POSIX_SOURCE)";
+tSCC zHpux8_Bogus_InlinesSelect0[] =
+       "inline";
 
-#define    ISC_OMITS_WITH_STDC_TEST_CT  1
-tTestDesc aIsc_Omits_With_StdcTests[] = {
-  { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
+#define    HPUX8_BOGUS_INLINES_TEST_CT  1
+static tTestDesc aHpux8_Bogus_InlinesTests[] = {
+  { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Isc_Omits_With_Stdc
+ *  Fix Command Arguments for Hpux8_Bogus_Inlines
  */
-const char* apzIsc_Omits_With_StdcPatch[] = { "sed",
-    "-e", "s/!defined(__STDC__) && !defined(_POSIX_SOURCE)/!defined(_POSIX_SOURCE)/",
+static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
+    "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
+    "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
+    "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
+    "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Io_Use_Quotes fix
+ *  Description of Int_Abort_Free_And_Exit fix
  */
-#define IO_USE_QUOTES_FIXIDX             38
-tSCC zIo_Use_QuotesName[] =
-     "io_use_quotes";
+#define INT_ABORT_FREE_AND_EXIT_FIXIDX   50
+tSCC zInt_Abort_Free_And_ExitName[] =
+     "int_abort_free_and_exit";
 
 /*
  *  File name selection pattern
  */
-#define zIo_Use_QuotesList (char*)NULL
+tSCC zInt_Abort_Free_And_ExitList[] =
+  "|stdlib.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIo_Use_QuotesMachs (const char**)NULL
+#define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIo_Use_QuotesSelect0[] =
-       "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
+tSCC zInt_Abort_Free_And_ExitSelect0[] =
+       "int[ \t]+(abort|free|exit)[ \t]*\\(";
 
-#define    IO_USE_QUOTES_TEST_CT  1
-tTestDesc aIo_Use_QuotesTests[] = {
-  { TT_EGREP,    zIo_Use_QuotesSelect0, (regex_t*)NULL }, };
+#define    INT_ABORT_FREE_AND_EXIT_TEST_CT  1
+static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
+  { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Io_Use_Quotes
+ *  Fix Command Arguments for Int_Abort_Free_And_Exit
  */
-const char* apzIo_Use_QuotesPatch[] = {"IO_use",
+static const char* apzInt_Abort_Free_And_ExitPatch[] = {
+    "format",
+    "void\t%1(",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Io_Def_Quotes fix
+ *  Description of Isc_Omits_With_Stdc fix
  */
-#define IO_DEF_QUOTES_FIXIDX             39
-tSCC zIo_Def_QuotesName[] =
-     "io_def_quotes";
+#define ISC_OMITS_WITH_STDC_FIXIDX       51
+tSCC zIsc_Omits_With_StdcName[] =
+     "isc_omits_with_stdc";
 
 /*
  *  File name selection pattern
  */
-#define zIo_Def_QuotesList (char*)NULL
+tSCC zIsc_Omits_With_StdcList[] =
+  "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIo_Def_QuotesMachs (const char**)NULL
+#define apzIsc_Omits_With_StdcMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIo_Def_QuotesSelect0[] =
-       "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\(([a-zA-Z]).*'\\1'";
+tSCC zIsc_Omits_With_StdcSelect0[] =
+       "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
 
-#define    IO_DEF_QUOTES_TEST_CT  1
-tTestDesc aIo_Def_QuotesTests[] = {
-  { TT_EGREP,    zIo_Def_QuotesSelect0, (regex_t*)NULL }, };
+#define    ISC_OMITS_WITH_STDC_TEST_CT  1
+static tTestDesc aIsc_Omits_With_StdcTests[] = {
+  { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Io_Def_Quotes
+ *  Fix Command Arguments for Isc_Omits_With_Stdc
  */
-const char* apzIo_Def_QuotesPatch[] = {"IO_defn",
+static const char* apzIsc_Omits_With_StdcPatch[] = {
+    "format",
+    "!defined(_POSIX_SOURCE)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Ctrl_Use_Quotes fix
+ *  Description of Io_Quotes_Def fix
  */
-#define CTRL_USE_QUOTES_FIXIDX           40
-tSCC zCtrl_Use_QuotesName[] =
-     "ctrl_use_quotes";
+#define IO_QUOTES_DEF_FIXIDX             52
+tSCC zIo_Quotes_DefName[] =
+     "io_quotes_def";
 
 /*
  *  File name selection pattern
  */
-#define zCtrl_Use_QuotesList (char*)NULL
+#define zIo_Quotes_DefList (char*)NULL
 /*
  *  Machine/OS name selection pattern
  */
-#define apzCtrl_Use_QuotesMachs (const char**)NULL
+#define apzIo_Quotes_DefMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zCtrl_Use_QuotesSelect0[] =
-       "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
+tSCC zIo_Quotes_DefSelect0[] =
+       "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
 
-#define    CTRL_USE_QUOTES_TEST_CT  1
-tTestDesc aCtrl_Use_QuotesTests[] = {
-  { TT_EGREP,    zCtrl_Use_QuotesSelect0, (regex_t*)NULL }, };
+#define    IO_QUOTES_DEF_TEST_CT  1
+static tTestDesc aIo_Quotes_DefTests[] = {
+  { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Ctrl_Use_Quotes
+ *  Fix Command Arguments for Io_Quotes_Def
  */
-const char* apzCtrl_Use_QuotesPatch[] = {"CTRL_use",
+static const char* apzIo_Quotes_DefPatch[] = {
+    "char_macro_def",
+    "IO",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Ctrl_Def_Quotes fix
+ *  Description of Io_Quotes_Use fix
  */
-#define CTRL_DEF_QUOTES_FIXIDX           41
-tSCC zCtrl_Def_QuotesName[] =
-     "ctrl_def_quotes";
+#define IO_QUOTES_USE_FIXIDX             53
+tSCC zIo_Quotes_UseName[] =
+     "io_quotes_use";
 
 /*
  *  File name selection pattern
  */
-#define zCtrl_Def_QuotesList (char*)NULL
+#define zIo_Quotes_UseList (char*)NULL
 /*
  *  Machine/OS name selection pattern
  */
-#define apzCtrl_Def_QuotesMachs (const char**)NULL
+#define apzIo_Quotes_UseMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zCtrl_Def_QuotesSelect0[] =
-       "define[ \t]+[A-Z0-9_]+CTRL\\(([a-zA-Z]).*'\\1'";
+tSCC zIo_Quotes_UseSelect0[] =
+       "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
 
-#define    CTRL_DEF_QUOTES_TEST_CT  1
-tTestDesc aCtrl_Def_QuotesTests[] = {
-  { TT_EGREP,    zCtrl_Def_QuotesSelect0, (regex_t*)NULL }, };
+#define    IO_QUOTES_USE_TEST_CT  1
+static tTestDesc aIo_Quotes_UseTests[] = {
+  { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Ctrl_Def_Quotes
+ *  Fix Command Arguments for Io_Quotes_Use
  */
-const char* apzCtrl_Def_QuotesPatch[] = {"CTRL_defn",
+static const char* apzIo_Quotes_UsePatch[] = {
+    "char_macro_use",
+    "IO",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Ip_Missing_Semi fix
+ *  Description of Hpux_Maxint fix
  */
-#define IP_MISSING_SEMI_FIXIDX           42
-tSCC zIp_Missing_SemiName[] =
-     "ip_missing_semi";
+#define HPUX_MAXINT_FIXIDX               54
+tSCC zHpux_MaxintName[] =
+     "hpux_maxint";
 
 /*
  *  File name selection pattern
  */
-tSCC zIp_Missing_SemiList[] =
-  "|netinet/ip.h|";
+tSCC zHpux_MaxintList[] =
+  "|sys/param.h|values.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIp_Missing_SemiMachs (const char**)NULL
+#define apzHpux_MaxintMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIp_Missing_SemiSelect0[] =
-       "}$";
-
-#define    IP_MISSING_SEMI_TEST_CT  1
-tTestDesc aIp_Missing_SemiTests[] = {
-  { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
+tSCC zHpux_MaxintSelect0[] =
+       "^#[ \t]*define[ \t]+MAXINT[ \t]";
 
 /*
- *  Fix Command Arguments for Ip_Missing_Semi
- */
-const char* apzIp_Missing_SemiPatch[] = { "sed",
-    "-e", "/^struct/,/^};/s/}$/};/",
-    (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- *  Description of Irix_Multiline_Cmnt fix
+ *  content bypass pattern - skip fix if pattern found
  */
-#define IRIX_MULTILINE_CMNT_FIXIDX       43
-tSCC zIrix_Multiline_CmntName[] =
-     "irix_multiline_cmnt";
+tSCC zHpux_MaxintBypass0[] =
+       "^#[ \t]*ifndef[ \t]+MAXINT";
 
 /*
- *  File name selection pattern
- */
-tSCC zIrix_Multiline_CmntList[] =
-  "|sys/types.h|";
-/*
- *  Machine/OS name selection pattern
+ *  perform the 'test' shell command - do fix on success
  */
-#define apzIrix_Multiline_CmntMachs (const char**)NULL
-#define IRIX_MULTILINE_CMNT_TEST_CT  0
-#define aIrix_Multiline_CmntTests   (tTestDesc*)NULL
+tSCC zHpux_MaxintTest0[] =
+       "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
+
+#define    HPUX_MAXINT_TEST_CT  3
+static tTestDesc aHpux_MaxintTests[] = {
+  { TT_TEST,     zHpux_MaxintTest0,   0 /* unused */ },
+  { TT_NEGREP,   zHpux_MaxintBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zHpux_MaxintSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Irix_Multiline_Cmnt
+ *  Fix Command Arguments for Hpux_Maxint
  */
-const char* apzIrix_Multiline_CmntPatch[] = { "sed",
-    "-e", "s@type of the result@type of the result */@",
-    "-e", "s@of the sizeof@/* of the sizeof@",
+static const char* apzHpux_MaxintPatch[] = {
+    "format",
+    "#ifndef MAXINT\n\
+%0\n\
+#endif",
+    "^#[ \t]*define[ \t]+MAXINT[ \t].*",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Irix_Sockaddr fix
+ *  Description of Hpux_Systime fix
  */
-#define IRIX_SOCKADDR_FIXIDX             44
-tSCC zIrix_SockaddrName[] =
-     "irix_sockaddr";
+#define HPUX_SYSTIME_FIXIDX              55
+tSCC zHpux_SystimeName[] =
+     "hpux_systime";
 
 /*
  *  File name selection pattern
  */
-tSCC zIrix_SockaddrList[] =
-  "|rpc/auth.h|";
+tSCC zHpux_SystimeList[] =
+  "|sys/time.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIrix_SockaddrMachs (const char**)NULL
+#define apzHpux_SystimeMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIrix_SockaddrSelect0[] =
-       "authdes_create.*struct sockaddr";
-
-/*
- *  content bypass pattern - skip fix if pattern found
- */
-tSCC zIrix_SockaddrBypass0[] =
-       "<sys/socket.h>";
+tSCC zHpux_SystimeSelect0[] =
+       "^extern struct sigevent;";
 
-#define    IRIX_SOCKADDR_TEST_CT  2
-tTestDesc aIrix_SockaddrTests[] = {
-  { TT_NEGREP,   zIrix_SockaddrBypass0, (regex_t*)NULL },
-  { TT_EGREP,    zIrix_SockaddrSelect0, (regex_t*)NULL }, };
+#define    HPUX_SYSTIME_TEST_CT  1
+static tTestDesc aHpux_SystimeTests[] = {
+  { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Irix_Sockaddr
+ *  Fix Command Arguments for Hpux_Systime
  */
-const char* apzIrix_SockaddrPatch[] = { "sed",
-    "-e", "/authdes_create.*struct sockaddr/i\\\n\
-struct sockaddr;\n",
+static const char* apzHpux_SystimePatch[] = {
+    "format",
+    "struct sigevent;",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Irix_Struct__File fix
+ *  Description of Ip_Missing_Semi fix
  */
-#define IRIX_STRUCT__FILE_FIXIDX         45
-tSCC zIrix_Struct__FileName[] =
-     "irix_struct__file";
+#define IP_MISSING_SEMI_FIXIDX           56
+tSCC zIp_Missing_SemiName[] =
+     "ip_missing_semi";
 
 /*
  *  File name selection pattern
  */
-tSCC zIrix_Struct__FileList[] =
-  "|rpc/xdr.h|";
+tSCC zIp_Missing_SemiList[] =
+  "|netinet/ip.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIrix_Struct__FileMachs (const char**)NULL
-#define IRIX_STRUCT__FILE_TEST_CT  0
-#define aIrix_Struct__FileTests   (tTestDesc*)NULL
+#define apzIp_Missing_SemiMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zIp_Missing_SemiSelect0[] =
+       "}$";
+
+#define    IP_MISSING_SEMI_TEST_CT  1
+static tTestDesc aIp_Missing_SemiTests[] = {
+  { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Irix_Struct__File
+ *  Fix Command Arguments for Ip_Missing_Semi
  */
-const char* apzIrix_Struct__FilePatch[] = { "sed",
-    "-e", "/xdrstdio_create.*struct __file_s/i\\\n\
-struct __file_s;\n",
+static const char* apzIp_Missing_SemiPatch[] = { "sed",
+    "-e", "/^struct/,/^};/s/}$/};/",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Irix_Asm_Apostrophe fix
  */
-#define IRIX_ASM_APOSTROPHE_FIXIDX       46
+#define IRIX_ASM_APOSTROPHE_FIXIDX       57
 tSCC zIrix_Asm_ApostropheName[] =
      "irix_asm_apostrophe";
 
@@ -1939,122 +2359,131 @@ tSCC zIrix_Asm_ApostropheSelect0[] =
        "^[ \t]*#.*[Ww]e're";
 
 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
-tTestDesc aIrix_Asm_ApostropheTests[] = {
+static tTestDesc aIrix_Asm_ApostropheTests[] = {
   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Irix_Asm_Apostrophe
  */
-const char* apzIrix_Asm_ApostrophePatch[] = { "sed",
-    "-e", "/^[ \t]*#/s/\\([Ww]e\\)'re/\\1 are/",
+static const char* apzIrix_Asm_ApostrophePatch[] = {
+    "format",
+    "%1 are",
+    "^([ \t]*#.*[Ww]e)'re",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Isc_Fmod fix
+ *  Description of Irix_Stdio_Va_List fix
  */
-#define ISC_FMOD_FIXIDX                  47
-tSCC zIsc_FmodName[] =
-     "isc_fmod";
+#define IRIX_STDIO_VA_LIST_FIXIDX        58
+tSCC zIrix_Stdio_Va_ListName[] =
+     "irix_stdio_va_list";
 
 /*
  *  File name selection pattern
  */
-tSCC zIsc_FmodList[] =
-  "|math.h|";
+tSCC zIrix_Stdio_Va_ListList[] =
+  "|stdio.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIsc_FmodMachs (const char**)NULL
+#define apzIrix_Stdio_Va_ListMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIsc_FmodSelect0[] =
-       "fmod\\(double\\)";
+tSCC zIrix_Stdio_Va_ListSelect0[] =
+       "(printf\\(.*), /\\* va_list \\*/ char \\*";
 
-#define    ISC_FMOD_TEST_CT  1
-tTestDesc aIsc_FmodTests[] = {
-  { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
+#define    IRIX_STDIO_VA_LIST_TEST_CT  1
+static tTestDesc aIrix_Stdio_Va_ListTests[] = {
+  { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Isc_Fmod
+ *  Fix Command Arguments for Irix_Stdio_Va_List
  */
-const char* apzIsc_FmodPatch[] = { "sed",
-    "-e", "s/fmod(double)/fmod(double, double)/",
+static const char* apzIrix_Stdio_Va_ListPatch[] = {
+    "format",
+    "%1, __gnuc_va_list",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Motorola_Nested fix
+ *  Description of Irix_Limits_Const fix
  */
-#define MOTOROLA_NESTED_FIXIDX           48
-tSCC zMotorola_NestedName[] =
-     "motorola_nested";
+#define IRIX_LIMITS_CONST_FIXIDX         59
+tSCC zIrix_Limits_ConstName[] =
+     "irix_limits_const";
 
 /*
  *  File name selection pattern
  */
-tSCC zMotorola_NestedList[] =
-  "|limits.h|sys/limits.h|";
+tSCC zIrix_Limits_ConstList[] =
+  "|fixinc-test-limits.h|limits.h|";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzMotorola_NestedMachs[] = {
-        "m68k-motorola-sysv*",
-        (const char*)NULL };
-#define MOTOROLA_NESTED_TEST_CT  0
-#define aMotorola_NestedTests   (tTestDesc*)NULL
+#define apzIrix_Limits_ConstMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zIrix_Limits_ConstSelect0[] =
+       "^extern const ";
+
+#define    IRIX_LIMITS_CONST_TEST_CT  1
+static tTestDesc aIrix_Limits_ConstTests[] = {
+  { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Motorola_Nested
+ *  Fix Command Arguments for Irix_Limits_Const
  */
-const char* apzMotorola_NestedPatch[] = { "sed",
-    "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
-    "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.40282346638528860e+38 \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
+static const char* apzIrix_Limits_ConstPatch[] = {
+    "format",
+    "extern __const ",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Isc_Sys_Limits fix
+ *  Description of Isc_Fmod fix
  */
-#define ISC_SYS_LIMITS_FIXIDX            49
-tSCC zIsc_Sys_LimitsName[] =
-     "isc_sys_limits";
+#define ISC_FMOD_FIXIDX                  60
+tSCC zIsc_FmodName[] =
+     "isc_fmod";
 
 /*
  *  File name selection pattern
  */
-tSCC zIsc_Sys_LimitsList[] =
-  "|sys/limits.h|";
+tSCC zIsc_FmodList[] =
+  "|math.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzIsc_Sys_LimitsMachs (const char**)NULL
+#define apzIsc_FmodMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zIsc_Sys_LimitsSelect0[] =
-       "CHILD_MAX";
+tSCC zIsc_FmodSelect0[] =
+       "fmod\\(double\\)";
 
-#define    ISC_SYS_LIMITS_TEST_CT  1
-tTestDesc aIsc_Sys_LimitsTests[] = {
-  { TT_EGREP,    zIsc_Sys_LimitsSelect0, (regex_t*)NULL }, };
+#define    ISC_FMOD_TEST_CT  1
+static tTestDesc aIsc_FmodTests[] = {
+  { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Isc_Sys_Limits
+ *  Fix Command Arguments for Isc_Fmod
  */
-const char* apzIsc_Sys_LimitsPatch[] = { "sed",
-    "-e", "/CHILD_MAX/s,/\\* Max, Max,",
-    "-e", "/OPEN_MAX/s,/\\* Max, Max,",
+static const char* apzIsc_FmodPatch[] = {
+    "format",
+    "fmod(double, double)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Kandr_Concat fix
  */
-#define KANDR_CONCAT_FIXIDX              50
+#define KANDR_CONCAT_FIXIDX              61
 tSCC zKandr_ConcatName[] =
      "kandr_concat";
 
@@ -2075,21 +2504,71 @@ tSCC zKandr_ConcatSelect0[] =
        "/\\*\\*/";
 
 #define    KANDR_CONCAT_TEST_CT  1
-tTestDesc aKandr_ConcatTests[] = {
+static tTestDesc aKandr_ConcatTests[] = {
   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Kandr_Concat
  */
-const char* apzKandr_ConcatPatch[] = { "sed",
-    "-e", "s|/\\*\\*/|##|g",
+static const char* apzKandr_ConcatPatch[] = {
+    "format",
+    "##",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Libc1_Ifdefd_Memx fix
+ */
+#define LIBC1_IFDEFD_MEMX_FIXIDX         62
+tSCC zLibc1_Ifdefd_MemxName[] =
+     "libc1_ifdefd_memx";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zLibc1_Ifdefd_MemxList[] =
+  "|testing.h|string.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zLibc1_Ifdefd_MemxSelect0[] =
+       "' is a built-in function for gcc 2\\.x\\. \\*/";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zLibc1_Ifdefd_MemxBypass0[] =
+       "__cplusplus";
+
+#define    LIBC1_IFDEFD_MEMX_TEST_CT  2
+static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
+  { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Libc1_Ifdefd_Memx
+ */
+static const char* apzLibc1_Ifdefd_MemxPatch[] = {
+    "format",
+    "%1",
+    "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
+#if defined\\(__STDC__\\) && __GNUC__ < 2\n\
+(/\\* .* \\*/\n\
+extern [a-z_]+ mem.*(\n\
+[^#].*)*;)\n\
+#endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Limits_Ifndefs fix
  */
-#define LIMITS_IFNDEFS_FIXIDX            51
+#define LIMITS_IFNDEFS_FIXIDX            63
 tSCC zLimits_IfndefsName[] =
      "limits_ifndefs";
 
@@ -2097,7 +2576,7 @@ tSCC zLimits_IfndefsName[] =
  *  File name selection pattern
  */
 tSCC zLimits_IfndefsList[] =
-  "|limits.h|sys/limits.h|";
+  "|sys/limits.h|limits.h|";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2110,45 +2589,25 @@ tSCC zLimits_IfndefsBypass0[] =
        "ifndef[ \t]+FLT_MIN";
 
 #define    LIMITS_IFNDEFS_TEST_CT  1
-tTestDesc aLimits_IfndefsTests[] = {
+static tTestDesc aLimits_IfndefsTests[] = {
   { TT_NEGREP,   zLimits_IfndefsBypass0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Limits_Ifndefs
  */
-const char* apzLimits_IfndefsPatch[] = { "sed",
-    "-e", "/[ \t]FLT_MIN[ \t]/i\\\n\
-#ifndef FLT_MIN\n",
-    "-e", "/[ \t]FLT_MIN[ \t]/a\\\n\
-#endif\n",
-    "-e", "/[ \t]FLT_MAX[ \t]/i\\\n\
-#ifndef FLT_MAX\n",
-    "-e", "/[ \t]FLT_MAX[ \t]/a\\\n\
-#endif\n",
-    "-e", "/[ \t]FLT_DIG[ \t]/i\\\n\
-#ifndef FLT_DIG\n",
-    "-e", "/[ \t]FLT_DIG[ \t]/a\\\n\
-#endif\n",
-    "-e", "/[ \t]DBL_MIN[ \t]/i\\\n\
-#ifndef DBL_MIN\n",
-    "-e", "/[ \t]DBL_MIN[ \t]/a\\\n\
-#endif\n",
-    "-e", "/[ \t]DBL_MAX[ \t]/i\\\n\
-#ifndef DBL_MAX\n",
-    "-e", "/[ \t]DBL_MAX[ \t]/a\\\n\
-#endif\n",
-    "-e", "/[ \t]DBL_DIG[ \t]/i\\\n\
-#ifndef DBL_DIG\n",
-    "-e", "/[ \t]DBL_DIG[ \t]/a\\\n\
-#endif\n",
-    "-e", "/^\\(\\/\\*#define\tHUGE_VAL\t3\\.[0-9e+]* *\\)\\/\\*/s//\\1/",
+static const char* apzLimits_IfndefsPatch[] = {
+    "format",
+    "#ifndef %1\n\
+%0\n\
+#endif",
+    "^[ \t]*#[ \t]*define[ \t]+((FLT|DBL)_(MIN|MAX|DIG))[ \t].*",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Lynx_Void_Int fix
  */
-#define LYNX_VOID_INT_FIXIDX             52
+#define LYNX_VOID_INT_FIXIDX             64
 tSCC zLynx_Void_IntName[] =
      "lynx_void_int";
 
@@ -2166,24 +2625,25 @@ tSCC zLynx_Void_IntList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zLynx_Void_IntSelect0[] =
-       "#[ \t]*define[ \t]+void[ \t]+int";
+       "#[ \t]*define[ \t]+void[ \t]+int[ \t]*";
 
 #define    LYNX_VOID_INT_TEST_CT  1
-tTestDesc aLynx_Void_IntTests[] = {
+static tTestDesc aLynx_Void_IntTests[] = {
   { TT_EGREP,    zLynx_Void_IntSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Lynx_Void_Int
  */
-const char* apzLynx_Void_IntPatch[] = { "sed",
-    "-e", "/#[ \t]*define[ \t][ \t]*void[ \t]int/d",
+static const char* apzLynx_Void_IntPatch[] = {
+    "format",
+    "",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Lynxos_Fcntl_Proto fix
  */
-#define LYNXOS_FCNTL_PROTO_FIXIDX        53
+#define LYNXOS_FCNTL_PROTO_FIXIDX        65
 tSCC zLynxos_Fcntl_ProtoName[] =
      "lynxos_fcntl_proto";
 
@@ -2201,24 +2661,26 @@ tSCC zLynxos_Fcntl_ProtoList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zLynxos_Fcntl_ProtoSelect0[] =
-       "fcntl.*\\(int, int, int\\)";
+       "fcntl[ \t]*\\(int, int, int\\)";
 
 #define    LYNXOS_FCNTL_PROTO_TEST_CT  1
-tTestDesc aLynxos_Fcntl_ProtoTests[] = {
+static tTestDesc aLynxos_Fcntl_ProtoTests[] = {
   { TT_EGREP,    zLynxos_Fcntl_ProtoSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Lynxos_Fcntl_Proto
  */
-const char* apzLynxos_Fcntl_ProtoPatch[] = { "sed",
-    "-e", "s/\\(fcntl.*(int, int, \\)int)/\\1...)/",
+static const char* apzLynxos_Fcntl_ProtoPatch[] = {
+    "format",
+    "%1...)",
+    "(fcntl[ \t]*\\(int, int, )int\\)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of M88k_Bad_Hypot_Opt fix
  */
-#define M88K_BAD_HYPOT_OPT_FIXIDX        54
+#define M88K_BAD_HYPOT_OPT_FIXIDX        66
 tSCC zM88k_Bad_Hypot_OptName[] =
      "m88k_bad_hypot_opt";
 
@@ -2233,26 +2695,33 @@ tSCC zM88k_Bad_Hypot_OptList[] =
 tSCC* apzM88k_Bad_Hypot_OptMachs[] = {
         "m88k-motorola-sysv3*",
         (const char*)NULL };
-#define M88K_BAD_HYPOT_OPT_TEST_CT  0
-#define aM88k_Bad_Hypot_OptTests   (tTestDesc*)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zM88k_Bad_Hypot_OptSelect0[] =
+       "^extern double hypot\\(\\);\n";
+
+#define    M88K_BAD_HYPOT_OPT_TEST_CT  1
+static tTestDesc aM88k_Bad_Hypot_OptTests[] = {
+  { TT_EGREP,    zM88k_Bad_Hypot_OptSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for M88k_Bad_Hypot_Opt
  */
-const char* apzM88k_Bad_Hypot_OptPatch[] = { "sed",
-    "-e", "s/extern double floor(), ceil(), fmod(), fabs();/extern double floor(), ceil(), fmod(), fabs _PARAMS((double));/",
-    "-e", "/^extern double hypot();$/a\\\n\
-\\/* Workaround a stupid Motorola optimization if one\\\n\
-   of x or y is 0.0 and the other is negative!  *\\/\\\n\
-#ifdef __STDC__\\\n\
-static __inline__ double fake_hypot (double x, double y)\\\n\
-#else\\\n\
-static __inline__ double fake_hypot (x, y)\\\n\
-\tdouble x, y;\\\n\
-#endif\\\n\
-{\\\n\
-\treturn fabs (hypot (x, y));\\\n\
-}\\\n\
+static const char* apzM88k_Bad_Hypot_OptPatch[] = {
+    "format",
+    "%0/* Workaround a stupid Motorola optimization if one\n\
+   of x or y is 0.0 and the other is negative!  */\n\
+#ifdef __STDC__\n\
+static __inline__ double fake_hypot (double x, double y)\n\
+#else\n\
+static __inline__ double fake_hypot (x, y)\n\
+\tdouble x, y;\n\
+#endif\n\
+{\n\
+\treturn fabs (hypot (x, y));\n\
+}\n\
 #define hypot\tfake_hypot\n",
     (char*)NULL };
 
@@ -2260,7 +2729,7 @@ static __inline__ double fake_hypot (x, y)\\\n\
  *
  *  Description of M88k_Bad_S_If fix
  */
-#define M88K_BAD_S_IF_FIXIDX             55
+#define M88K_BAD_S_IF_FIXIDX             67
 tSCC zM88k_Bad_S_IfName[] =
      "m88k_bad_s_if";
 
@@ -2280,25 +2749,26 @@ tSCC* apzM88k_Bad_S_IfMachs[] = {
  *  content selection pattern - do fix if pattern found
  */
 tSCC zM88k_Bad_S_IfSelect0[] =
-       "#define[ \t]+S_IS[A-Z]*(m)[ \t]";
+       "#define[ \t]+S_IS[A-Z]+\\(m\\)[ \t]+\\(m[ \t]*&";
 
 #define    M88K_BAD_S_IF_TEST_CT  1
-tTestDesc aM88k_Bad_S_IfTests[] = {
+static tTestDesc aM88k_Bad_S_IfTests[] = {
   { TT_EGREP,    zM88k_Bad_S_IfSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for M88k_Bad_S_If
  */
-const char* apzM88k_Bad_S_IfPatch[] = { "sed",
-    "-e", "s/^\\(#define[ \t]*S_IS[A-Z]*(m)\\)[ \t]*(m[ \t]*&[ \t]*\\(S_IF[A-Z][A-Z][A-Z][A-Z]*\\)[ \t]*)/\\1 (((m)\\&S_IFMT)==\\2)/",
-    "-e", "s/^\\(#define[ \t]*S_IS[A-Z]*(m)\\)[ \t]*(m[ \t]*&[ \t]*\\(0[0-9]*\\)[ \t]*)/\\1 (((m)\\&S_IFMT)==\\2)/",
+static const char* apzM88k_Bad_S_IfPatch[] = {
+    "format",
+    "#define %1(m) (((m) & S_IFMT) == %2)",
+    "#define[ \t]+(S_IS[A-Z]+)\\(m\\)[ \t]+\\(m[ \t]*&[ \t]*(S_IF[A-Z][A-Z][A-Z]+|0[0-9]+)[ \t]*\\)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of M88k_Multi_Incl fix
  */
-#define M88K_MULTI_INCL_FIXIDX           56
+#define M88K_MULTI_INCL_FIXIDX           68
 tSCC zM88k_Multi_InclName[] =
      "m88k_multi_incl";
 
@@ -2321,34 +2791,28 @@ tSCC zM88k_Multi_InclBypass0[] =
        "#ifndef";
 
 #define    M88K_MULTI_INCL_TEST_CT  1
-tTestDesc aM88k_Multi_InclTests[] = {
+static tTestDesc aM88k_Multi_InclTests[] = {
   { TT_NEGREP,   zM88k_Multi_InclBypass0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for M88k_Multi_Incl
  */
-const char* apzM88k_Multi_InclPatch[] = { "sh", "-c",
-    "echo Fixing $file, to protect against multiple inclusion. >&2\n\
-      cpp_wrapper=`echo $file | sed -e 's,\\.,_,g' -e 's,/,_,g'`\n\
-      echo \"#ifndef __GCC_GOT_${cpp_wrapper}_\"\n\
-      echo \"#define __GCC_GOT_${cpp_wrapper}_\"\n\
-      cat\n\
-      echo \"#endif /* ! __GCC_GOT_${cpp_wrapper}_ */\"",
+static const char* apzM88k_Multi_InclPatch[] = {
+    "wrap",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Machine_Ansi_H_Va_List fix
  */
-#define MACHINE_ANSI_H_VA_LIST_FIXIDX    57
+#define MACHINE_ANSI_H_VA_LIST_FIXIDX    69
 tSCC zMachine_Ansi_H_Va_ListName[] =
      "machine_ansi_h_va_list";
 
 /*
  *  File name selection pattern
  */
-tSCC zMachine_Ansi_H_Va_ListList[] =
-  "|machine/ansi.h|";
+#define zMachine_Ansi_H_Va_ListList (char*)NULL
 /*
  *  Machine/OS name selection pattern
  */
@@ -2358,7 +2822,7 @@ tSCC zMachine_Ansi_H_Va_ListList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
-       "_BSD_VA_LIST_";
+       "define[ \t]+_BSD_VA_LIST_[ \t]";
 
 /*
  *  content bypass pattern - skip fix if pattern found
@@ -2367,22 +2831,24 @@ tSCC zMachine_Ansi_H_Va_ListBypass0[] =
        "__builtin_va_list";
 
 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
-tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
+static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Machine_Ansi_H_Va_List
  */
-const char* apzMachine_Ansi_H_Va_ListPatch[] = { "sed",
-    "-e", "s/\\(_BSD_VA_LIST_[ \t][ \t]*\\).*$/\\1__builtin_va_list/",
+static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
+    "format",
+    "%1__builtin_va_list",
+    "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Machine_Name fix
  */
-#define MACHINE_NAME_FIXIDX              58
+#define MACHINE_NAME_FIXIDX              70
 tSCC zMachine_NameName[] =
      "machine_name";
 
@@ -2401,20 +2867,21 @@ tSCC zMachine_NameName[] =
 tSCC zMachine_NameFTst0[] = "machine_name";
 
 #define    MACHINE_NAME_TEST_CT  1
-tTestDesc aMachine_NameTests[] = {
+static tTestDesc aMachine_NameTests[] = {
   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
 
 /*
  *  Fix Command Arguments for Machine_Name
  */
-const char* apzMachine_NamePatch[] = {"machine_name",
+static const char* apzMachine_NamePatch[] = {
+    "machine_name",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Math_Exception fix
  */
-#define MATH_EXCEPTION_FIXIDX            59
+#define MATH_EXCEPTION_FIXIDX            71
 tSCC zMath_ExceptionName[] =
      "math_exception";
 
@@ -2441,21 +2908,20 @@ tSCC zMath_ExceptionBypass0[] =
        "We have a problem when using C\\+\\+";
 
 #define    MATH_EXCEPTION_TEST_CT  2
-tTestDesc aMath_ExceptionTests[] = {
+static tTestDesc aMath_ExceptionTests[] = {
   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Math_Exception
  */
-const char* apzMath_ExceptionPatch[] = { "sed",
-    "-e", "1i\\\n\
-#ifdef __cplusplus\\\n\
-#define exception __math_exception\\\n\
+static const char* apzMath_ExceptionPatch[] = {
+    "wrap",
+    "#ifdef __cplusplus\n\
+#define exception __math_exception\n\
 #endif\n",
-    "-e", "$a\\\n\
-#ifdef __cplusplus\\\n\
-#undef exception\\\n\
+    "#ifdef __cplusplus\n\
+#undef exception\n\
 #endif\n",
     (char*)NULL };
 
@@ -2463,7 +2929,7 @@ const char* apzMath_ExceptionPatch[] = { "sed",
  *
  *  Description of Math_Huge_Val_From_Dbl_Max fix
  */
-#define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 60
+#define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 72
 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
      "math_huge_val_from_dbl_max";
 
@@ -2481,27 +2947,26 @@ tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
-       "define[ \t]*HUGE_VAL[ \t]*DBL_MAX";
+       "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
 
 /*
  *  content bypass pattern - skip fix if pattern found
  */
 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
-       "define[ \t]*DBL_MAX";
+       "define[ \t]+DBL_MAX";
 
 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
-tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
+static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
  */
-const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
-    "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h 2>/dev/null`\n\
-\n\
+static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
+    "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
-\tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s/DBL_MAX/'\"$dbl_max_def/\"\n\
+\tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
 \telse cat\n\
 \tfi",
     (char*)NULL };
@@ -2510,7 +2975,7 @@ const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
  *
  *  Description of Math_Huge_Val_Ifndef fix
  */
-#define MATH_HUGE_VAL_IFNDEF_FIXIDX      61
+#define MATH_HUGE_VAL_IFNDEF_FIXIDX      73
 tSCC zMath_Huge_Val_IfndefName[] =
      "math_huge_val_ifndef";
 
@@ -2518,7 +2983,7 @@ tSCC zMath_Huge_Val_IfndefName[] =
  *  File name selection pattern
  */
 tSCC zMath_Huge_Val_IfndefList[] =
-  "|math/math.h|";
+  "|math.h|math/math.h|";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2528,54 +2993,138 @@ tSCC zMath_Huge_Val_IfndefList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zMath_Huge_Val_IfndefSelect0[] =
-       "define[ \t]*HUGE_VAL";
+       "define[ \t]+HUGE_VAL";
 
 #define    MATH_HUGE_VAL_IFNDEF_TEST_CT  1
-tTestDesc aMath_Huge_Val_IfndefTests[] = {
+static tTestDesc aMath_Huge_Val_IfndefTests[] = {
   { TT_EGREP,    zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Math_Huge_Val_Ifndef
  */
-const char* apzMath_Huge_Val_IfndefPatch[] = { "sed",
-    "-e", "/define[ \t]HUGE_VAL[ \t]/i\\\n\
-#ifndef HUGE_VAL\n",
-    "-e", "/define[ \t]HUGE_VAL[ \t]/a\\\n\
-#endif\n",
+static const char* apzMath_Huge_Val_IfndefPatch[] = {
+    "format",
+    "#ifndef HUGE_VAL\n\
+%0\n\
+#endif",
+    "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Nested_Motorola fix
+ */
+#define NESTED_MOTOROLA_FIXIDX           74
+tSCC zNested_MotorolaName[] =
+     "nested_motorola";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zNested_MotorolaList[] =
+  "|sys/limits.h|limits.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzNested_MotorolaMachs[] = {
+        "m68k-motorola-sysv*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zNested_MotorolaSelect0[] =
+       "max # bytes atomic in write|error value returned by Math lib";
+
+#define    NESTED_MOTOROLA_TEST_CT  1
+static tTestDesc aNested_MotorolaTests[] = {
+  { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Nested_Motorola
+ */
+static const char* apzNested_MotorolaPatch[] = { "sed",
+    "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
+    "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Nested_Sys_Limits fix
+ */
+#define NESTED_SYS_LIMITS_FIXIDX         75
+tSCC zNested_Sys_LimitsName[] =
+     "nested_sys_limits";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zNested_Sys_LimitsList[] =
+  "|sys/limits.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzNested_Sys_LimitsMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zNested_Sys_LimitsSelect0[] =
+       "CHILD_MAX";
+
+#define    NESTED_SYS_LIMITS_TEST_CT  1
+static tTestDesc aNested_Sys_LimitsTests[] = {
+  { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Nested_Sys_Limits
+ */
+static const char* apzNested_Sys_LimitsPatch[] = { "sed",
+    "-e", "/CHILD_MAX/s,/\\* Max, Max,",
+    "-e", "/OPEN_MAX/s,/\\* Max, Max,",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Nested_Comment fix
+ *  Description of Nested_Auth_Des fix
  */
-#define NESTED_COMMENT_FIXIDX            62
-tSCC zNested_CommentName[] =
-     "nested_comment";
+#define NESTED_AUTH_DES_FIXIDX           76
+tSCC zNested_Auth_DesName[] =
+     "nested_auth_des";
 
 /*
  *  File name selection pattern
  */
-tSCC zNested_CommentList[] =
+tSCC zNested_Auth_DesList[] =
   "|rpc/rpc.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzNested_CommentMachs (const char**)NULL
-#define NESTED_COMMENT_TEST_CT  0
-#define aNested_CommentTests   (tTestDesc*)NULL
+#define apzNested_Auth_DesMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zNested_Auth_DesSelect0[] =
+       "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
+
+#define    NESTED_AUTH_DES_TEST_CT  1
+static tTestDesc aNested_Auth_DesTests[] = {
+  { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Nested_Comment
+ *  Fix Command Arguments for Nested_Auth_Des
  */
-const char* apzNested_CommentPatch[] = { "sed",
-    "-e", "s@^\\(/\\*.*rpc/auth_des.h>.*\\)/\\*@\\1*/ /*@",
+static const char* apzNested_Auth_DesPatch[] = {
+    "format",
+    "%1*/ /*",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of News_Os_Recursion fix
  */
-#define NEWS_OS_RECURSION_FIXIDX         63
+#define NEWS_OS_RECURSION_FIXIDX         77
 tSCC zNews_Os_RecursionName[] =
      "news_os_recursion";
 
@@ -2593,27 +3142,27 @@ tSCC zNews_Os_RecursionList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zNews_Os_RecursionSelect0[] =
-       "#include <stdlib.h>";
+       "[ \t]*#include <stdlib\\.h>.*";
 
 #define    NEWS_OS_RECURSION_TEST_CT  1
-tTestDesc aNews_Os_RecursionTests[] = {
+static tTestDesc aNews_Os_RecursionTests[] = {
   { TT_EGREP,    zNews_Os_RecursionSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for News_Os_Recursion
  */
-const char* apzNews_Os_RecursionPatch[] = { "sed",
-    "-e", "/^#include <stdlib.h>/i\\\n\
-#ifdef BOGUS_RECURSION\n",
-    "-e", "/^#include <stdlib.h>/a\\\n\
-#endif\n",
+static const char* apzNews_Os_RecursionPatch[] = {
+    "format",
+    "#ifdef BOGUS_RECURSION\n\
+%0\n\
+#endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Next_Math_Prefix fix
  */
-#define NEXT_MATH_PREFIX_FIXIDX          64
+#define NEXT_MATH_PREFIX_FIXIDX          78
 tSCC zNext_Math_PrefixName[] =
      "next_math_prefix";
 
@@ -2631,28 +3180,26 @@ tSCC zNext_Math_PrefixList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zNext_Math_PrefixSelect0[] =
-       "^extern.*double.*__const__.*";
+       "^extern[ \t]+double[ \t]+__const__[ \t]";
 
 #define    NEXT_MATH_PREFIX_TEST_CT  1
-tTestDesc aNext_Math_PrefixTests[] = {
+static tTestDesc aNext_Math_PrefixTests[] = {
   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Next_Math_Prefix
  */
-const char* apzNext_Math_PrefixPatch[] = { "sed",
-    "-e", "/^extern.*double.*__const__.*sqrt(/s/__const__//",
-    "-e", "/^extern.*double.*__const__.*fabs(/s/__const__//",
-    "-e", "/^extern.*double.*__const__.*cos(/s/__const__//",
-    "-e", "/^extern.*double.*__const__.*hypot(/s/__const__//",
-    "-e", "/^extern.*double.*__const__.*sin(/s/__const__//",
+static const char* apzNext_Math_PrefixPatch[] = {
+    "format",
+    "extern double %1(",
+    "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Next_Template fix
  */
-#define NEXT_TEMPLATE_FIXIDX             65
+#define NEXT_TEMPLATE_FIXIDX             79
 tSCC zNext_TemplateName[] =
      "next_template";
 
@@ -2670,25 +3217,26 @@ tSCC zNext_TemplateList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zNext_TemplateSelect0[] =
-       "template";
+       "[ \t]template\\)";
 
 #define    NEXT_TEMPLATE_TEST_CT  1
-tTestDesc aNext_TemplateTests[] = {
+static tTestDesc aNext_TemplateTests[] = {
   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Next_Template
  */
-const char* apzNext_TemplatePatch[] = { "sed",
-    "-e", "/\\(.*template\\)/s/template//",
-    "-e", "/extern.*volatile.*void.*abort/s/volatile//",
+static const char* apzNext_TemplatePatch[] = {
+    "format",
+    "(%1)",
+    "\\(([^)]*)[ \t]template\\)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Next_Volitile fix
  */
-#define NEXT_VOLITILE_FIXIDX             66
+#define NEXT_VOLITILE_FIXIDX             80
 tSCC zNext_VolitileName[] =
      "next_volitile";
 
@@ -2706,25 +3254,26 @@ tSCC zNext_VolitileList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zNext_VolitileSelect0[] =
-       "volatile";
+       "^extern[ \t]+volatile[ \t]+void[ \t]";
 
 #define    NEXT_VOLITILE_TEST_CT  1
-tTestDesc aNext_VolitileTests[] = {
+static tTestDesc aNext_VolitileTests[] = {
   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Next_Volitile
  */
-const char* apzNext_VolitilePatch[] = { "sed",
-    "-e", "/extern.*volatile.*void.*exit/s/volatile//",
-    "-e", "/extern.*volatile.*void.*abort/s/volatile//",
+static const char* apzNext_VolitilePatch[] = {
+    "format",
+    "extern void %1(",
+    "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Next_Wait_Union fix
  */
-#define NEXT_WAIT_UNION_FIXIDX           67
+#define NEXT_WAIT_UNION_FIXIDX           81
 tSCC zNext_Wait_UnionName[] =
      "next_wait_union";
 
@@ -2745,21 +3294,22 @@ tSCC zNext_Wait_UnionSelect0[] =
        "wait\\(union wait";
 
 #define    NEXT_WAIT_UNION_TEST_CT  1
-tTestDesc aNext_Wait_UnionTests[] = {
+static tTestDesc aNext_Wait_UnionTests[] = {
   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Next_Wait_Union
  */
-const char* apzNext_Wait_UnionPatch[] = { "sed",
-    "-e", "s@wait(union wait@wait(void@",
+static const char* apzNext_Wait_UnionPatch[] = {
+    "format",
+    "wait(void",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Nodeent_Syntax fix
  */
-#define NODEENT_SYNTAX_FIXIDX            68
+#define NODEENT_SYNTAX_FIXIDX            82
 tSCC zNodeent_SyntaxName[] =
      "nodeent_syntax";
 
@@ -2772,21 +3322,30 @@ tSCC zNodeent_SyntaxList[] =
  *  Machine/OS name selection pattern
  */
 #define apzNodeent_SyntaxMachs (const char**)NULL
-#define NODEENT_SYNTAX_TEST_CT  0
-#define aNodeent_SyntaxTests   (tTestDesc*)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zNodeent_SyntaxSelect0[] =
+       "char[ \t]*\\*na_addr[ \t]*$";
+
+#define    NODEENT_SYNTAX_TEST_CT  1
+static tTestDesc aNodeent_SyntaxTests[] = {
+  { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Nodeent_Syntax
  */
-const char* apzNodeent_SyntaxPatch[] = { "sed",
-    "-e", "s/char.*na_addr *$/char *na_addr;/",
+static const char* apzNodeent_SyntaxPatch[] = {
+    "format",
+    "%0;",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Osf_Namespace_A fix
  */
-#define OSF_NAMESPACE_A_FIXIDX           69
+#define OSF_NAMESPACE_A_FIXIDX           83
 tSCC zOsf_Namespace_AName[] =
      "osf_namespace_a";
 
@@ -2813,7 +3372,7 @@ tSCC zOsf_Namespace_ATest3[] =
        " -z \"`grep __regex_t regex.h`\"";
 
 #define    OSF_NAMESPACE_A_TEST_CT  4
-tTestDesc aOsf_Namespace_ATests[] = {
+static tTestDesc aOsf_Namespace_ATests[] = {
   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
@@ -2822,64 +3381,72 @@ tTestDesc aOsf_Namespace_ATests[] = {
 /*
  *  Fix Command Arguments for Osf_Namespace_A
  */
-const char* apzOsf_Namespace_APatch[] = { "sed",
-    "-e", "s/regex_t/__regex_t/g",
-    "-e", "s/regoff_t/__regoff_t/g",
-    "-e", "s/regmatch_t/__regmatch_t/g",
+static const char* apzOsf_Namespace_APatch[] = {
+    "format",
+    "__%0",
+    "reg(ex|off|match)_t",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Osf_Namespace_B fix
+ *  Description of Osf_Namespace_C fix
  */
-#define OSF_NAMESPACE_B_FIXIDX           70
-tSCC zOsf_Namespace_BName[] =
-     "osf_namespace_b";
+#define OSF_NAMESPACE_C_FIXIDX           84
+tSCC zOsf_Namespace_CName[] =
+     "osf_namespace_c";
 
 /*
  *  File name selection pattern
  */
-tSCC zOsf_Namespace_BList[] =
+tSCC zOsf_Namespace_CList[] =
   "|regex.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzOsf_Namespace_BMachs (const char**)NULL
+#define apzOsf_Namespace_CMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zOsf_Namespace_CSelect0[] =
+       "#include <reg_types.h>.*";
 
 /*
  *  perform the 'test' shell command - do fix on success
  */
-tSCC zOsf_Namespace_BTest0[] =
+tSCC zOsf_Namespace_CTest0[] =
        " -r reg_types.h";
-tSCC zOsf_Namespace_BTest1[] =
+tSCC zOsf_Namespace_CTest1[] =
        " -r sys/lc_core.h";
-tSCC zOsf_Namespace_BTest2[] =
+tSCC zOsf_Namespace_CTest2[] =
        " -n \"`grep '} regex_t;' reg_types.h`\"";
-tSCC zOsf_Namespace_BTest3[] =
+tSCC zOsf_Namespace_CTest3[] =
        " -z \"`grep __regex_t regex.h`\"";
 
-#define    OSF_NAMESPACE_B_TEST_CT  4
-tTestDesc aOsf_Namespace_BTests[] = {
-  { TT_TEST,     zOsf_Namespace_BTest0,   0 /* unused */ },
-  { TT_TEST,     zOsf_Namespace_BTest1,   0 /* unused */ },
-  { TT_TEST,     zOsf_Namespace_BTest2,   0 /* unused */ },
-  { TT_TEST,     zOsf_Namespace_BTest3,   0 /* unused */ }, };
+#define    OSF_NAMESPACE_C_TEST_CT  5
+static tTestDesc aOsf_Namespace_CTests[] = {
+  { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
+  { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
+  { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
+  { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
+  { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Osf_Namespace_B
+ *  Fix Command Arguments for Osf_Namespace_C
  */
-const char* apzOsf_Namespace_BPatch[] = { "sed",
-    "-e", "/#include <reg_types.h>/a\\\n\
-typedef __regex_t\tregex_t;\\\n\
-typedef __regoff_t\tregoff_t;\\\n\
-typedef __regmatch_t\tregmatch_t;\n",
+static const char* apzOsf_Namespace_CPatch[] = {
+    "format",
+    "%0\n\
+typedef __regex_t\tregex_t;\n\
+typedef __regoff_t\tregoff_t;\n\
+typedef __regmatch_t\tregmatch_t;",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Pthread_Page_Size fix
  */
-#define PTHREAD_PAGE_SIZE_FIXIDX         71
+#define PTHREAD_PAGE_SIZE_FIXIDX         85
 tSCC zPthread_Page_SizeName[] =
      "pthread_page_size";
 
@@ -2900,21 +3467,22 @@ tSCC zPthread_Page_SizeSelect0[] =
        "^int __page_size";
 
 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
-tTestDesc aPthread_Page_SizeTests[] = {
+static tTestDesc aPthread_Page_SizeTests[] = {
   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Pthread_Page_Size
  */
-const char* apzPthread_Page_SizePatch[] = { "sed",
-    "-e", "s/^int __page_size/extern int __page_size/",
+static const char* apzPthread_Page_SizePatch[] = {
+    "format",
+    "extern %0",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Read_Ret_Type fix
  */
-#define READ_RET_TYPE_FIXIDX             72
+#define READ_RET_TYPE_FIXIDX             86
 tSCC zRead_Ret_TypeName[] =
      "read_ret_type";
 
@@ -2935,22 +3503,24 @@ tSCC zRead_Ret_TypeSelect0[] =
        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
 
 #define    READ_RET_TYPE_TEST_CT  1
-tTestDesc aRead_Ret_TypeTests[] = {
+static tTestDesc aRead_Ret_TypeTests[] = {
   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Read_Ret_Type
  */
-const char* apzRead_Ret_TypePatch[] = { "sed",
-    "-e", "s/^\\(extern int\tfclose(), fflush()\\), \\(fread(), fwrite()\\)\\(.*\\)$/extern unsigned int\t\\2;\\\n\
-\\1\\3/",
+static const char* apzRead_Ret_TypePatch[] = {
+    "format",
+    "extern unsigned int fread(), fwrite();\n\
+%1%2",
+    "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Rs6000_Double fix
  */
-#define RS6000_DOUBLE_FIXIDX             73
+#define RS6000_DOUBLE_FIXIDX             87
 tSCC zRs6000_DoubleName[] =
      "rs6000_double";
 
@@ -2971,129 +3541,340 @@ tSCC zRs6000_DoubleSelect0[] =
        "[^a-zA-Z_]class\\(";
 
 #define    RS6000_DOUBLE_TEST_CT  1
-tTestDesc aRs6000_DoubleTests[] = {
+static tTestDesc aRs6000_DoubleTests[] = {
   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Rs6000_Double
  */
-const char* apzRs6000_DoublePatch[] = { "sed",
-    "-e", "/class[(]/i\\\n\
-#ifndef __cplusplus\n",
-    "-e", "/class[(]/a\\\n\
-#endif\n",
+static const char* apzRs6000_DoublePatch[] = {
+    "format",
+    "#ifndef __cplusplus\n\
+%0\n\
+#endif",
+    "^.*[^a-zA-Z_]class\\(.*",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Rs6000_Fchmod fix
+ */
+#define RS6000_FCHMOD_FIXIDX             88
+tSCC zRs6000_FchmodName[] =
+     "rs6000_fchmod";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zRs6000_FchmodList[] =
+  "|sys/stat.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzRs6000_FchmodMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zRs6000_FchmodSelect0[] =
+       "fchmod\\(char \\*";
+
+#define    RS6000_FCHMOD_TEST_CT  1
+static tTestDesc aRs6000_FchmodTests[] = {
+  { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Rs6000_Fchmod
+ */
+static const char* apzRs6000_FchmodPatch[] = {
+    "format",
+    "fchmod(int",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Rs6000_Param fix
+ */
+#define RS6000_PARAM_FIXIDX              89
+tSCC zRs6000_ParamName[] =
+     "rs6000_param";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zRs6000_ParamList[] =
+  "|stdio.h|unistd.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzRs6000_ParamMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zRs6000_ParamSelect0[] =
+       "rename\\(const char \\*old, const char \\*new\\)";
+
+#define    RS6000_PARAM_TEST_CT  1
+static tTestDesc aRs6000_ParamTests[] = {
+  { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Rs6000_Param
+ */
+static const char* apzRs6000_ParamPatch[] = {
+    "format",
+    "rename(const char *_old, const char *_new)",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Sco_Static_Func fix
+ */
+#define SCO_STATIC_FUNC_FIXIDX           90
+tSCC zSco_Static_FuncName[] =
+     "sco_static_func";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSco_Static_FuncList[] =
+  "|sys/stat.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzSco_Static_FuncMachs[] = {
+        "i?86-*-sco3.2*",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSco_Static_FuncSelect0[] =
+       "^static int";
+
+#define    SCO_STATIC_FUNC_TEST_CT  1
+static tTestDesc aSco_Static_FuncTests[] = {
+  { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Sco_Static_Func
+ */
+static const char* apzSco_Static_FuncPatch[] = { "sed",
+    "-e", "/^static int/i\\\n\
+#if __cplusplus\\\n\
+extern \"C\" {\\\n\
+#endif /* __cplusplus */",
+    "-e", "/^}$/a\\\n\
+#if __cplusplus\\\n\
+ }\\\n\
+#endif /* __cplusplus */",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Strict_Ansi_Not fix
+ */
+#define STRICT_ANSI_NOT_FIXIDX           91
+tSCC zStrict_Ansi_NotName[] =
+     "strict_ansi_not";
+
+/*
+ *  File name selection pattern
+ */
+#define zStrict_Ansi_NotList (char*)NULL
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzStrict_Ansi_NotMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zStrict_Ansi_NotSelect0[] =
+       "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
+
+/*
+ *  perform the C function call test
+ */
+tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
+
+#define    STRICT_ANSI_NOT_TEST_CT  2
+static tTestDesc aStrict_Ansi_NotTests[] = {
+  { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
+  { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Strict_Ansi_Not
+ */
+static const char* apzStrict_Ansi_NotPatch[] = {
+    "format",
+    "%1 !defined(__STRICT_ANSI__)%3",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Strict_Ansi_Not_Ctd fix
+ */
+#define STRICT_ANSI_NOT_CTD_FIXIDX       92
+tSCC zStrict_Ansi_Not_CtdName[] =
+     "strict_ansi_not_ctd";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zStrict_Ansi_Not_CtdList[] =
+  "|math.h|limits.h|stdio.h|signal.h|stdlib.h|time.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zStrict_Ansi_Not_CtdSelect0[] =
+       "^([ \t]*[|&][|&][ \t(]*)(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
+
+/*
+ *  perform the C function call test
+ */
+tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
+
+#define    STRICT_ANSI_NOT_CTD_TEST_CT  2
+static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
+  { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
+  { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Strict_Ansi_Not_Ctd
+ */
+static const char* apzStrict_Ansi_Not_CtdPatch[] = {
+    "format",
+    "%1 !defined(__STRICT_ANSI__)%3",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Rs6000_Fchmod fix
+ *  Description of Strict_Ansi_Only fix
  */
-#define RS6000_FCHMOD_FIXIDX             74
-tSCC zRs6000_FchmodName[] =
-     "rs6000_fchmod";
+#define STRICT_ANSI_ONLY_FIXIDX          93
+tSCC zStrict_Ansi_OnlyName[] =
+     "strict_ansi_only";
 
 /*
  *  File name selection pattern
  */
-tSCC zRs6000_FchmodList[] =
-  "|sys/stat.h|";
+#define zStrict_Ansi_OnlyList (char*)NULL
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRs6000_FchmodMachs (const char**)NULL
+#define apzStrict_Ansi_OnlyMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zRs6000_FchmodSelect0[] =
-       "fchmod\\(char";
+tSCC zStrict_Ansi_OnlySelect0[] =
+       "^([ \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)(.*)";
 
-#define    RS6000_FCHMOD_TEST_CT  1
-tTestDesc aRs6000_FchmodTests[] = {
-  { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
+/*
+ *  perform the C function call test
+ */
+tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
+
+#define    STRICT_ANSI_ONLY_TEST_CT  2
+static tTestDesc aStrict_Ansi_OnlyTests[] = {
+  { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
+  { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Rs6000_Fchmod
+ *  Fix Command Arguments for Strict_Ansi_Only
  */
-const char* apzRs6000_FchmodPatch[] = { "sed",
-    "-e", "s/fchmod(char \\*/fchmod(int/",
+static const char* apzStrict_Ansi_OnlyPatch[] = {
+    "format",
+    "%1 defined(__STRICT_ANSI__)%3",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Rs6000_Param fix
+ *  Description of Sco_Utime fix
  */
-#define RS6000_PARAM_FIXIDX              75
-tSCC zRs6000_ParamName[] =
-     "rs6000_param";
+#define SCO_UTIME_FIXIDX                 94
+tSCC zSco_UtimeName[] =
+     "sco_utime";
 
 /*
  *  File name selection pattern
  */
-tSCC zRs6000_ParamList[] =
-  "|stdio.h|unistd.h|";
+tSCC zSco_UtimeList[] =
+  "|sys/times.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzRs6000_ParamMachs (const char**)NULL
+tSCC* apzSco_UtimeMachs[] = {
+        "i?86-*-sco3.2v4*",
+        (const char*)NULL };
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zRs6000_ParamSelect0[] =
-       "const char new";
+tSCC zSco_UtimeSelect0[] =
+       "\\(const char \\*, struct utimbuf \\*\\);";
 
-#define    RS6000_PARAM_TEST_CT  1
-tTestDesc aRs6000_ParamTests[] = {
-  { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
+#define    SCO_UTIME_TEST_CT  1
+static tTestDesc aSco_UtimeTests[] = {
+  { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Rs6000_Param
+ *  Fix Command Arguments for Sco_Utime
  */
-const char* apzRs6000_ParamPatch[] = { "sed",
-    "-e", "s@rename(const char \\*old, const char \\*new)@rename(const char *_old, const char *_new)@",
+static const char* apzSco_UtimePatch[] = {
+    "format",
+    "(const char *, const struct utimbuf *);",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sony_Include fix
+ *  Description of Solaris27_Mutex_Init fix
  */
-#define SONY_INCLUDE_FIXIDX              76
-tSCC zSony_IncludeName[] =
-     "sony_include";
+#define SOLARIS27_MUTEX_INIT_FIXIDX      95
+tSCC zSolaris27_Mutex_InitName[] =
+     "solaris27_mutex_init";
 
 /*
  *  File name selection pattern
  */
-tSCC zSony_IncludeList[] =
-  "|machine/machparam.h|";
+tSCC zSolaris27_Mutex_InitList[] =
+  "|pthread.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSony_IncludeMachs (const char**)NULL
+#define apzSolaris27_Mutex_InitMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSony_IncludeSelect0[] =
-       "\"\\.\\./machine/endian.h\"";
+tSCC zSolaris27_Mutex_InitSelect0[] =
+       "@\\(#\\)pthread.h[ \t]+1.26[ \t]+98/04/12 SMI";
 
-#define    SONY_INCLUDE_TEST_CT  1
-tTestDesc aSony_IncludeTests[] = {
-  { TT_EGREP,    zSony_IncludeSelect0, (regex_t*)NULL }, };
+#define    SOLARIS27_MUTEX_INIT_TEST_CT  1
+static tTestDesc aSolaris27_Mutex_InitTests[] = {
+  { TT_EGREP,    zSolaris27_Mutex_InitSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sony_Include
+ *  Fix Command Arguments for Solaris27_Mutex_Init
  */
-const char* apzSony_IncludePatch[] = { "sed",
-    "-e", "s@\"../machine/endian.h\"@<machine/endian.h>@",
+static const char* apzSolaris27_Mutex_InitPatch[] = {
+    "format",
+    "%1, {0}}",
+    "(define[ \t]+PTHREAD_MUTEX_INITIALIZER.*),[ \t]*0}$",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Statsswtch fix
  */
-#define STATSSWTCH_FIXIDX                77
+#define STATSSWTCH_FIXIDX                96
 tSCC zStatsswtchName[] =
      "statsswtch";
 
@@ -3114,21 +3895,22 @@ tSCC zStatsswtchSelect0[] =
        "boottime$";
 
 #define    STATSSWTCH_TEST_CT  1
-tTestDesc aStatsswtchTests[] = {
+static tTestDesc aStatsswtchTests[] = {
   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Statsswtch
  */
-const char* apzStatsswtchPatch[] = { "sed",
-    "-e", "s/boottime$/boottime;/",
+static const char* apzStatsswtchPatch[] = {
+    "format",
+    "boottime;",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Stdio_Stdarg_H fix
  */
-#define STDIO_STDARG_H_FIXIDX            78
+#define STDIO_STDARG_H_FIXIDX            97
 tSCC zStdio_Stdarg_HName[] =
      "stdio_stdarg_h";
 
@@ -3149,15 +3931,15 @@ tSCC zStdio_Stdarg_HBypass0[] =
        "include.*(stdarg.h|machine/ansi.h)";
 
 #define    STDIO_STDARG_H_TEST_CT  1
-tTestDesc aStdio_Stdarg_HTests[] = {
+static tTestDesc aStdio_Stdarg_HTests[] = {
   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Stdio_Stdarg_H
  */
-const char* apzStdio_Stdarg_HPatch[] = { "sed",
-    "-e", "1i\\\n\
-#define __need___va_list\\\n\
+static const char* apzStdio_Stdarg_HPatch[] = {
+    "wrap",
+    "#define __need___va_list\n\
 #include <stdarg.h>\n",
     (char*)NULL };
 
@@ -3165,7 +3947,7 @@ const char* apzStdio_Stdarg_HPatch[] = { "sed",
  *
  *  Description of Stdio_Va_List fix
  */
-#define STDIO_VA_LIST_FIXIDX             79
+#define STDIO_VA_LIST_FIXIDX             98
 tSCC zStdio_Va_ListName[] =
      "stdio_va_list";
 
@@ -3183,22 +3965,23 @@ tSCC zStdio_Va_ListList[] =
  *  content bypass pattern - skip fix if pattern found
  */
 tSCC zStdio_Va_ListBypass0[] =
-       "__gnuc_va_list|_BSD_VA_LIST_";
+       "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list";
 
 #define    STDIO_VA_LIST_TEST_CT  1
-tTestDesc aStdio_Va_ListTests[] = {
+static tTestDesc aStdio_Va_ListTests[] = {
   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Stdio_Va_List
  */
-const char* apzStdio_Va_ListPatch[] = { "sed",
+static const char* apzStdio_Va_ListPatch[] = { "sed",
     "-e", "s@ va_list @ __gnuc_va_list @\n\
 s@ va_list)@ __gnuc_va_list)@\n\
 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
 s@ va_list@ __not_va_list__@\n\
 s@\\*va_list@*__not_va_list__@\n\
 s@ __va_list)@ __gnuc_va_list)@\n\
+s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
 s@VA_LIST@DUMMY_VA_LIST@\n\
@@ -3207,79 +3990,167 @@ s@_Va_LIST@_VA_LIST@",
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sun_Bogus_Ifdef fix
+ *  Description of Struct_File fix
  */
-#define SUN_BOGUS_IFDEF_FIXIDX           80
-tSCC zSun_Bogus_IfdefName[] =
-     "sun_bogus_ifdef";
+#define STRUCT_FILE_FIXIDX               99
+tSCC zStruct_FileName[] =
+     "struct_file";
 
 /*
  *  File name selection pattern
  */
-tSCC zSun_Bogus_IfdefList[] =
-  "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
+tSCC zStruct_FileList[] =
+  "|rpc/xdr.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSun_Bogus_IfdefMachs (const char**)NULL
+#define apzStruct_FileMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSun_Bogus_IfdefSelect0[] =
-       "#ifdef __i386__ || __vax__";
+tSCC zStruct_FileSelect0[] =
+       "^.*xdrstdio_create.*struct __file_s";
 
-#define    SUN_BOGUS_IFDEF_TEST_CT  1
-tTestDesc aSun_Bogus_IfdefTests[] = {
-  { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
+#define    STRUCT_FILE_TEST_CT  1
+static tTestDesc aStruct_FileTests[] = {
+  { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sun_Bogus_Ifdef
+ *  Fix Command Arguments for Struct_File
+ */
+static const char* apzStruct_FilePatch[] = {
+    "format",
+    "struct __file_s;\n\
+%0",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Struct_Sockaddr fix
+ */
+#define STRUCT_SOCKADDR_FIXIDX           100
+tSCC zStruct_SockaddrName[] =
+     "struct_sockaddr";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zStruct_SockaddrList[] =
+  "|rpc/auth.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzStruct_SockaddrMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zStruct_SockaddrSelect0[] =
+       "^.*authdes_create.*struct sockaddr";
+
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zStruct_SockaddrBypass0[] =
+       "<sys/socket.h>";
+
+#define    STRUCT_SOCKADDR_TEST_CT  2
+static tTestDesc aStruct_SockaddrTests[] = {
+  { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Struct_Sockaddr
  */
-const char* apzSun_Bogus_IfdefPatch[] = { "sed",
-    "-e", "s/\\#ifdef __i386__ || __vax__/\\#if __i386__ || __vax__/g",
+static const char* apzStruct_SockaddrPatch[] = {
+    "format",
+    "struct sockaddr;\n\
+%0",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sun_Bogus_Ifdef_Sun4c fix
+ *  Description of Sun_Auth_Proto fix
+ */
+#define SUN_AUTH_PROTO_FIXIDX            101
+tSCC zSun_Auth_ProtoName[] =
+     "sun_auth_proto";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSun_Auth_ProtoList[] =
+  "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzSun_Auth_ProtoMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSun_Auth_ProtoSelect0[] =
+       "\\(\\*[a-z][a-z_]*\\)\\(\\)";
+
+#define    SUN_AUTH_PROTO_TEST_CT  1
+static tTestDesc aSun_Auth_ProtoTests[] = {
+  { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Sun_Auth_Proto
+ */
+static const char* apzSun_Auth_ProtoPatch[] = {
+    "format",
+    "#ifdef __cplusplus\n\
+%1(...);%2\n\
+#else\n\
+%1();%2\n\
+#endif",
+    "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Sun_Bogus_Ifdef fix
  */
-#define SUN_BOGUS_IFDEF_SUN4C_FIXIDX     81
-tSCC zSun_Bogus_Ifdef_Sun4cName[] =
-     "sun_bogus_ifdef_sun4c";
+#define SUN_BOGUS_IFDEF_FIXIDX           102
+tSCC zSun_Bogus_IfdefName[] =
+     "sun_bogus_ifdef";
 
 /*
  *  File name selection pattern
  */
-tSCC zSun_Bogus_Ifdef_Sun4cList[] =
-  "|hsfs/hsnode.h|";
+tSCC zSun_Bogus_IfdefList[] =
+  "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSun_Bogus_Ifdef_Sun4cMachs (const char**)NULL
+#define apzSun_Bogus_IfdefMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSun_Bogus_Ifdef_Sun4cSelect0[] =
-       "#ifdef __i386__ || __sun4c__";
+tSCC zSun_Bogus_IfdefSelect0[] =
+       "#ifdef(.*\\|\\|.*)";
 
-#define    SUN_BOGUS_IFDEF_SUN4C_TEST_CT  1
-tTestDesc aSun_Bogus_Ifdef_Sun4cTests[] = {
-  { TT_EGREP,    zSun_Bogus_Ifdef_Sun4cSelect0, (regex_t*)NULL }, };
+#define    SUN_BOGUS_IFDEF_TEST_CT  1
+static tTestDesc aSun_Bogus_IfdefTests[] = {
+  { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sun_Bogus_Ifdef_Sun4c
+ *  Fix Command Arguments for Sun_Bogus_Ifdef
  */
-const char* apzSun_Bogus_Ifdef_Sun4cPatch[] = { "sed",
-    "-e", "s/\\#ifdef __i386__ || __sun4c__/\\#if __i386__ || __sun4c__/g",
+static const char* apzSun_Bogus_IfdefPatch[] = {
+    "format",
+    "#if%1",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Sun_Catmacro fix
  */
-#define SUN_CATMACRO_FIXIDX              82
+#define SUN_CATMACRO_FIXIDX              103
 tSCC zSun_CatmacroName[] =
      "sun_catmacro";
 
@@ -3297,29 +4168,29 @@ tSCC zSun_CatmacroList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zSun_CatmacroSelect0[] =
-       "^#define[ \t]+CAT\\(a,b\\)";
+       "^#define[ \t]+CAT\\(a,b\\).*";
 
 #define    SUN_CATMACRO_TEST_CT  1
-tTestDesc aSun_CatmacroTests[] = {
+static tTestDesc aSun_CatmacroTests[] = {
   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Sun_Catmacro
  */
-const char* apzSun_CatmacroPatch[] = { "sed",
-    "-e", "/^#define[ \t]CAT(a,b)/ i\\\n\
-#ifdef __STDC__ \\\n\
-#define CAT(a,b) a##b\\\n\
-#else\n",
-    "-e", "/^#define[ \t]CAT(a,b)/ a\\\n\
-#endif\n",
+static const char* apzSun_CatmacroPatch[] = {
+    "format",
+    "#ifdef __STDC__\n\
+#  define CAT(a,b) a##b\n\
+#else\n\
+%0\n\
+#endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Sun_Malloc fix
  */
-#define SUN_MALLOC_FIXIDX                83
+#define SUN_MALLOC_FIXIDX                104
 tSCC zSun_MallocName[] =
      "sun_malloc";
 
@@ -3338,18 +4209,19 @@ tSCC zSun_MallocList[] =
 /*
  *  Fix Command Arguments for Sun_Malloc
  */
-const char* apzSun_MallocPatch[] = { "sed",
+static const char* apzSun_MallocPatch[] = { "sed",
     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
+    "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Sun_Rusers_Semi fix
  */
-#define SUN_RUSERS_SEMI_FIXIDX           84
+#define SUN_RUSERS_SEMI_FIXIDX           105
 tSCC zSun_Rusers_SemiName[] =
      "sun_rusers_semi";
 
@@ -3370,13 +4242,13 @@ tSCC zSun_Rusers_SemiSelect0[] =
        "_cnt$";
 
 #define    SUN_RUSERS_SEMI_TEST_CT  1
-tTestDesc aSun_Rusers_SemiTests[] = {
+static tTestDesc aSun_Rusers_SemiTests[] = {
   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Sun_Rusers_Semi
  */
-const char* apzSun_Rusers_SemiPatch[] = { "sed",
+static const char* apzSun_Rusers_SemiPatch[] = { "sed",
     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
     (char*)NULL };
 
@@ -3384,7 +4256,7 @@ const char* apzSun_Rusers_SemiPatch[] = { "sed",
  *
  *  Description of Sun_Signal fix
  */
-#define SUN_SIGNAL_FIXIDX                85
+#define SUN_SIGNAL_FIXIDX                106
 tSCC zSun_SignalName[] =
      "sun_signal";
 
@@ -3402,392 +4274,479 @@ tSCC zSun_SignalList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zSun_SignalSelect0[] =
-       "^void\t\\(\\*signal\\(\\)\\)\\(\\);";
+       "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
 
 #define    SUN_SIGNAL_TEST_CT  1
-tTestDesc aSun_SignalTests[] = {
+static tTestDesc aSun_SignalTests[] = {
   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Sun_Signal
  */
-const char* apzSun_SignalPatch[] = { "sed",
-    "-e", "/^void\t(\\*signal())();$/i\\\n\
-#ifdef __cplusplus\\\n\
-void\t(*signal(...))(...);\\\n\
-#else\n",
-    "-e", "/^void\t(\\*signal())();$/a\\\n\
-#endif\n",
+static const char* apzSun_SignalPatch[] = {
+    "format",
+    "#ifdef __cplusplus\n\
+void\t(*signal(...))(...);\n\
+#else\n\
+%0\n\
+#endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sun_Auth_Proto fix
+ *  Description of Sunos_Matherr_Decl fix
  */
-#define SUN_AUTH_PROTO_FIXIDX            86
-tSCC zSun_Auth_ProtoName[] =
-     "sun_auth_proto";
+#define SUNOS_MATHERR_DECL_FIXIDX        107
+tSCC zSunos_Matherr_DeclName[] =
+     "sunos_matherr_decl";
 
 /*
  *  File name selection pattern
  */
-tSCC zSun_Auth_ProtoList[] =
-  "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
+tSCC zSunos_Matherr_DeclList[] =
+  "|math.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSun_Auth_ProtoMachs (const char**)NULL
+#define apzSunos_Matherr_DeclMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSun_Auth_ProtoSelect0[] =
-       "\\(\\*[a-z][a-z_]*\\)\\(\\)";
+tSCC zSunos_Matherr_DeclSelect0[] =
+       "matherr";
 
-#define    SUN_AUTH_PROTO_TEST_CT  1
-tTestDesc aSun_Auth_ProtoTests[] = {
-  { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
+/*
+ *  content bypass pattern - skip fix if pattern found
+ */
+tSCC zSunos_Matherr_DeclBypass0[] =
+       "matherr.*(struct exception|__MATH_EXCEPTION)";
+
+#define    SUNOS_MATHERR_DECL_TEST_CT  2
+static tTestDesc aSunos_Matherr_DeclTests[] = {
+  { TT_NEGREP,   zSunos_Matherr_DeclBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zSunos_Matherr_DeclSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sun_Auth_Proto
+ *  Fix Command Arguments for Sunos_Matherr_Decl
  */
-const char* apzSun_Auth_ProtoPatch[] = { "sed",
-    "-e", "s/^\\(.*(\\*[a-z][a-z_]*)(\\)\\();.*\\)/\\\n\
-#ifdef __cplusplus\\\n\
-\\1...\\2\\\n\
-#else\\\n\
-\\1\\2\\\n\
-#endif/",
+static const char* apzSunos_Matherr_DeclPatch[] = {
+    "wrap",
+    "struct exception;\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sunos_Matherr_Decl fix
+ *  Description of Sunos_Strlen fix
  */
-#define SUNOS_MATHERR_DECL_FIXIDX        87
-tSCC zSunos_Matherr_DeclName[] =
-     "sunos_matherr_decl";
+#define SUNOS_STRLEN_FIXIDX              108
+tSCC zSunos_StrlenName[] =
+     "sunos_strlen";
 
 /*
  *  File name selection pattern
  */
-tSCC zSunos_Matherr_DeclList[] =
-  "|math.h|";
+tSCC zSunos_StrlenList[] =
+  "|strings.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSunos_Matherr_DeclMachs (const char**)NULL
+#define apzSunos_StrlenMachs (const char**)NULL
 
 /*
- *  content bypass pattern - skip fix if pattern found
+ *  content selection pattern - do fix if pattern found
  */
-tSCC zSunos_Matherr_DeclBypass0[] =
-       "matherr.*struct exception";
+tSCC zSunos_StrlenSelect0[] =
+       "int[ \t]*strlen\\(\\);(.*)";
 
-#define    SUNOS_MATHERR_DECL_TEST_CT  1
-tTestDesc aSunos_Matherr_DeclTests[] = {
-  { TT_NEGREP,   zSunos_Matherr_DeclBypass0, (regex_t*)NULL }, };
+#define    SUNOS_STRLEN_TEST_CT  1
+static tTestDesc aSunos_StrlenTests[] = {
+  { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sunos_Matherr_Decl
+ *  Fix Command Arguments for Sunos_Strlen
  */
-const char* apzSunos_Matherr_DeclPatch[] = { "sed",
-    "-e", "/^struct exception/,$b",
-    "-e", "/matherr/i\\\n\
-struct exception;\n",
+static const char* apzSunos_StrlenPatch[] = {
+    "format",
+    "__SIZE_TYPE__ strlen();%1",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sunos_Strlen fix
+ *  Description of Svr4__P fix
  */
-#define SUNOS_STRLEN_FIXIDX              88
-tSCC zSunos_StrlenName[] =
-     "sunos_strlen";
+#define SVR4__P_FIXIDX                   109
+tSCC zSvr4__PName[] =
+     "svr4__p";
 
 /*
  *  File name selection pattern
  */
-tSCC zSunos_StrlenList[] =
-  "|strings.h|";
+tSCC zSvr4__PList[] =
+  "|math.h|floatingpoint.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSunos_StrlenMachs (const char**)NULL
+#define apzSvr4__PMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSunos_StrlenSelect0[] =
-       "int[ \t]*strlen";
+tSCC zSvr4__PSelect0[] =
+       "^#define[ \t]+__P.*";
 
-#define    SUNOS_STRLEN_TEST_CT  1
-tTestDesc aSunos_StrlenTests[] = {
-  { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
+#define    SVR4__P_TEST_CT  1
+static tTestDesc aSvr4__PTests[] = {
+  { TT_EGREP,    zSvr4__PSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Sunos_Strlen
+ *  Fix Command Arguments for Svr4__P
  */
-const char* apzSunos_StrlenPatch[] = { "sed",
-    "-e", "s/int[ \t]*strlen();/__SIZE_TYPE__ strlen();/",
+static const char* apzSvr4__PPatch[] = {
+    "format",
+    "#ifndef __P\n\
+%0\n\
+#endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Systypes fix
+ *  Description of Svr4_Getcwd fix
  */
-#define SYSTYPES_FIXIDX                  89
-tSCC zSystypesName[] =
-     "systypes";
+#define SVR4_GETCWD_FIXIDX               110
+tSCC zSvr4_GetcwdName[] =
+     "svr4_getcwd";
 
 /*
  *  File name selection pattern
  */
-tSCC zSystypesList[] =
-  "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
+tSCC zSvr4_GetcwdList[] =
+  "|stdlib.h|unistd.h|prototypes.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSystypesMachs (const char**)NULL
+#define apzSvr4_GetcwdMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSystypesSelect0[] =
-       "typedef[ \t]+[a-z_][ \ta-z_]*[ \t](size|ptrdiff|wchar)_t";
+tSCC zSvr4_GetcwdSelect0[] =
+       "getcwd\\(char \\*, int\\)";
 
-#define    SYSTYPES_TEST_CT  1
-tTestDesc aSystypesTests[] = {
-  { TT_EGREP,    zSystypesSelect0, (regex_t*)NULL }, };
+#define    SVR4_GETCWD_TEST_CT  1
+static tTestDesc aSvr4_GetcwdTests[] = {
+  { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Systypes
+ *  Fix Command Arguments for Svr4_Getcwd
  */
-const char* apzSystypesPatch[] = { "sed",
-    "-e", "/^[ \t]*\\*[ \t]*typedef unsigned int size_t;/N",
-    "-e", "s/^\\([ \t]*\\*[ \t]*typedef unsigned int size_t;\\n[ \t]*\\*\\/\\)/\\1\\\n\
-#ifndef __SIZE_TYPE__\\\n\
-#define __SIZE_TYPE__ long unsigned int\\\n\
-#endif\\\n\
-typedef __SIZE_TYPE__ size_t;\\\n\
-/",
-    "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]size_t/i\\\n\
-#ifndef __SIZE_TYPE__\\\n\
-#define __SIZE_TYPE__ long unsigned int\\\n\
-#endif\n",
-    "-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]size_t/typedef __SIZE_TYPE__ size_t/",
-    "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]ptrdiff_t/i\\\n\
-#ifndef __PTRDIFF_TYPE__\\\n\
-#define __PTRDIFF_TYPE__ long int\\\n\
-#endif\n",
-    "-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]ptrdiff_t/typedef __PTRDIFF_TYPE__ ptrdiff_t/",
-    "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/i\\\n\
-#ifndef __WCHAR_TYPE__\\\n\
-#define __WCHAR_TYPE__ int\\\n\
-#endif\\\n\
-#ifndef __cplusplus\n",
-    "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/a\\\n\
-#endif\n",
-    "-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/typedef __WCHAR_TYPE__ wchar_t/",
+static const char* apzSvr4_GetcwdPatch[] = {
+    "format",
+    "getcwd(char *, size_t)",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Svr4_Profil fix
+ */
+#define SVR4_PROFIL_FIXIDX               111
+tSCC zSvr4_ProfilName[] =
+     "svr4_profil";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSvr4_ProfilList[] =
+  "|stdlib.h|unistd.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzSvr4_ProfilMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSvr4_ProfilSelect0[] =
+       "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
+
+#define    SVR4_PROFIL_TEST_CT  1
+static tTestDesc aSvr4_ProfilTests[] = {
+  { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Svr4_Profil
+ */
+static const char* apzSvr4_ProfilPatch[] = {
+    "format",
+    "profil(unsigned short *, size_t, int, unsigned int)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Systypes_Stdlib_Size_T fix
+ *  Description of Gnu_Types fix
  */
-#define SYSTYPES_STDLIB_SIZE_T_FIXIDX    90
-tSCC zSystypes_Stdlib_Size_TName[] =
-     "systypes_stdlib_size_t";
+#define GNU_TYPES_FIXIDX                 112
+tSCC zGnu_TypesName[] =
+     "gnu_types";
 
 /*
  *  File name selection pattern
  */
-tSCC zSystypes_Stdlib_Size_TList[] =
-  "|sys/types.h|stdlib.h|";
+tSCC zGnu_TypesList[] =
+  "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSystypes_Stdlib_Size_TMachs (const char**)NULL
+#define apzGnu_TypesMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zSystypes_Stdlib_Size_TSelect0[] =
-       "typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t";
+tSCC zGnu_TypesSelect0[] =
+       "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
 
 /*
  *  content bypass pattern - skip fix if pattern found
  */
-tSCC zSystypes_Stdlib_Size_TBypass0[] =
-       "_(GCC|BSD)_SIZE_T";
+tSCC zGnu_TypesBypass0[] =
+       "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
 
-#define    SYSTYPES_STDLIB_SIZE_T_TEST_CT  2
-tTestDesc aSystypes_Stdlib_Size_TTests[] = {
-  { TT_NEGREP,   zSystypes_Stdlib_Size_TBypass0, (regex_t*)NULL },
-  { TT_EGREP,    zSystypes_Stdlib_Size_TSelect0, (regex_t*)NULL }, };
+#define    GNU_TYPES_TEST_CT  2
+static tTestDesc aGnu_TypesTests[] = {
+  { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Systypes_Stdlib_Size_T
+ *  Fix Command Arguments for Gnu_Types
  */
-const char* apzSystypes_Stdlib_Size_TPatch[] = { "sed",
-    "-e", "/typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t/i\\\n\
-#ifndef _GCC_SIZE_T\\\n\
-#define _GCC_SIZE_T\n",
-    "-e", "/typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t/a\\\n\
-#endif\n",
+static const char* apzGnu_TypesPatch[] = {
+    "gnu_type",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Sysv68_String fix
  */
-#define SYSV68_STRING_FIXIDX             91
+#define SYSV68_STRING_FIXIDX             113
 tSCC zSysv68_StringName[] =
      "sysv68_string";
 
 /*
  *  File name selection pattern
  */
-tSCC zSysv68_StringList[] =
-  "|string.h|";
+tSCC zSysv68_StringList[] =
+  "|testing.h|string.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzSysv68_StringMachs (const char**)NULL
+#define SYSV68_STRING_TEST_CT  0
+#define aSysv68_StringTests   (tTestDesc*)NULL
+
+/*
+ *  Fix Command Arguments for Sysv68_String
+ */
+static const char* apzSysv68_StringPatch[] = { "sed",
+    "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
+    "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
+    "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
+    "-e", "/^extern char$/N",
+    "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
+    "-e", "/^extern int$/N",
+    "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
+    "-e", "/^\tstrncmp(),$/N",
+    "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
+extern unsigned int\\\n\
+\\2/",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Sysz_Stdlib_For_Sun fix
+ */
+#define SYSZ_STDLIB_FOR_SUN_FIXIDX       114
+tSCC zSysz_Stdlib_For_SunName[] =
+     "sysz_stdlib_for_sun";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zSysz_Stdlib_For_SunList[] =
+  "|stdlib.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzSysz_Stdlib_For_SunMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zSysz_Stdlib_For_SunSelect0[] =
+       "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
+
+#define    SYSZ_STDLIB_FOR_SUN_TEST_CT  1
+static tTestDesc aSysz_Stdlib_For_SunTests[] = {
+  { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Sysz_Stdlib_For_Sun
+ */
+static const char* apzSysz_Stdlib_For_SunPatch[] = {
+    "format",
+    "void *\t%1(",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ *  Description of Tinfo_Cplusplus fix
+ */
+#define TINFO_CPLUSPLUS_FIXIDX           115
+tSCC zTinfo_CplusplusName[] =
+     "tinfo_cplusplus";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zTinfo_CplusplusList[] =
+  "|tinfo.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSysv68_StringMachs (const char**)NULL
-#define SYSV68_STRING_TEST_CT  0
-#define aSysv68_StringTests   (tTestDesc*)NULL
+#define apzTinfo_CplusplusMachs (const char**)NULL
 
 /*
- *  Fix Command Arguments for Sysv68_String
+ *  content selection pattern - do fix if pattern found
  */
-const char* apzSysv68_StringPatch[] = { "sed",
-    "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
-    "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
-    "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
-    "-e", "/^extern char$/N",
-    "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
-    "-e", "/^\tstrncmp(),$/N",
-    "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
-extern unsigned int\\\n\
-\\2/",
-    "-e", "/^extern int$/N",
-    "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
+tSCC zTinfo_CplusplusSelect0[] =
+       "[ \t]_cplusplus";
+
+#define    TINFO_CPLUSPLUS_TEST_CT  1
+static tTestDesc aTinfo_CplusplusTests[] = {
+  { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Tinfo_Cplusplus
+ */
+static const char* apzTinfo_CplusplusPatch[] = {
+    "format",
+    " __cplusplus",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sysz_Stdlib_For_Sun fix
+ *  Description of Ultrix_Atof_Param fix
  */
-#define SYSZ_STDLIB_FOR_SUN_FIXIDX       92
-tSCC zSysz_Stdlib_For_SunName[] =
-     "sysz_stdlib_for_sun";
+#define ULTRIX_ATOF_PARAM_FIXIDX         116
+tSCC zUltrix_Atof_ParamName[] =
+     "ultrix_atof_param";
 
 /*
  *  File name selection pattern
  */
-tSCC zSysz_Stdlib_For_SunList[] =
-  "|stdlib.h|";
+tSCC zUltrix_Atof_ParamList[] =
+  "|math.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSysz_Stdlib_For_SunMachs (const char**)NULL
-#define SYSZ_STDLIB_FOR_SUN_TEST_CT  0
-#define aSysz_Stdlib_For_SunTests   (tTestDesc*)NULL
+#define apzUltrix_Atof_ParamMachs (const char**)NULL
 
 /*
- *  Fix Command Arguments for Sysz_Stdlib_For_Sun
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_Atof_ParamSelect0[] =
+       "atof\\([ \t]*char";
+
+#define    ULTRIX_ATOF_PARAM_TEST_CT  1
+static tTestDesc aUltrix_Atof_ParamTests[] = {
+  { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Ultrix_Atof_Param
  */
-const char* apzSysz_Stdlib_For_SunPatch[] = { "sed",
-    "-e", "s/int\tabort/void\tabort/g",
-    "-e", "s/int\tfree/void\tfree/g",
-    "-e", "s/char[ \t]*\\*[ \t]*calloc/void \\*\tcalloc/g",
-    "-e", "s/char[ \t]*\\*[ \t]*malloc/void \\*\tmalloc/g",
-    "-e", "s/char[ \t]*\\*[ \t]*realloc/void \\*\trealloc/g",
-    "-e", "s/char[ \t]*\\*[ \t]*bsearch/void \\*\tbsearch/g",
-    "-e", "s/int[ \t][ \t]*exit/void\texit/g",
+static const char* apzUltrix_Atof_ParamPatch[] = {
+    "format",
+    "atof(const char",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Sysz_Stdtypes_For_Sun fix
+ *  Description of Ultrix_Const fix
  */
-#define SYSZ_STDTYPES_FOR_SUN_FIXIDX     93
-tSCC zSysz_Stdtypes_For_SunName[] =
-     "sysz_stdtypes_for_sun";
+#define ULTRIX_CONST_FIXIDX              117
+tSCC zUltrix_ConstName[] =
+     "ultrix_const";
 
 /*
  *  File name selection pattern
  */
-tSCC zSysz_Stdtypes_For_SunList[] =
-  "|sys/stdtypes.h|";
+tSCC zUltrix_ConstList[] =
+  "|stdio.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzSysz_Stdtypes_For_SunMachs (const char**)NULL
-#define SYSZ_STDTYPES_FOR_SUN_TEST_CT  0
-#define aSysz_Stdtypes_For_SunTests   (tTestDesc*)NULL
+#define apzUltrix_ConstMachs (const char**)NULL
 
 /*
- *  Fix Command Arguments for Sysz_Stdtypes_For_Sun
+ *  content selection pattern - do fix if pattern found
  */
-const char* apzSysz_Stdtypes_For_SunPatch[] = { "sed",
-    "-e", "/[\t ]size_t.*;/i\\\n\
-#ifndef _GCC_SIZE_T\\\n\
-#define _GCC_SIZE_T\n",
-    "-e", "/[\t ]size_t.*;/a\\\n\
-#endif\n",
-    "-e", "/[\t ]ptrdiff_t.*;/i\\\n\
-#ifndef _GCC_PTRDIFF_T\\\n\
-#define _GCC_PTRDIFF_T\n",
-    "-e", "/[\t ]ptrdiff_t.*;/a\\\n\
-#endif\n",
-    "-e", "/[\t ]wchar_t.*;/i\\\n\
-#ifndef _GCC_WCHAR_T\\\n\
-#define _GCC_WCHAR_T\n",
-    "-e", "/[\t ]wchar_t.*;/a\\\n\
-#endif\n",
+tSCC zUltrix_ConstSelect0[] =
+       "perror\\( char \\*";
+
+#define    ULTRIX_CONST_TEST_CT  1
+static tTestDesc aUltrix_ConstTests[] = {
+  { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Ultrix_Const
+ */
+static const char* apzUltrix_ConstPatch[] = {
+    "format",
+    "%1 const %3 *__",
+    "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Tinfo_Cplusplus fix
+ *  Description of Ultrix_Const2 fix
  */
-#define TINFO_CPLUSPLUS_FIXIDX           94
-tSCC zTinfo_CplusplusName[] =
-     "tinfo_cplusplus";
+#define ULTRIX_CONST2_FIXIDX             118
+tSCC zUltrix_Const2Name[] =
+     "ultrix_const2";
 
 /*
  *  File name selection pattern
  */
-tSCC zTinfo_CplusplusList[] =
-  "|tinfo.h|";
+tSCC zUltrix_Const2List[] =
+  "|stdio.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzTinfo_CplusplusMachs (const char**)NULL
+#define apzUltrix_Const2Machs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zTinfo_CplusplusSelect0[] =
-       "[ \t]_cplusplus";
+tSCC zUltrix_Const2Select0[] =
+       "\\*fopen\\( char \\*";
 
-#define    TINFO_CPLUSPLUS_TEST_CT  1
-tTestDesc aTinfo_CplusplusTests[] = {
-  { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
+#define    ULTRIX_CONST2_TEST_CT  1
+static tTestDesc aUltrix_Const2Tests[] = {
+  { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Tinfo_Cplusplus
+ *  Fix Command Arguments for Ultrix_Const2
  */
-const char* apzTinfo_CplusplusPatch[] = { "sed",
-    "-e", "s/[ \t]_cplusplus/ __cplusplus/",
+static const char* apzUltrix_Const2Patch[] = {
+    "format",
+    "%1( const char *%3, const char *",
+    "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Ultrix_Fix_Fixproto fix
  */
-#define ULTRIX_FIX_FIXPROTO_FIXIDX       95
+#define ULTRIX_FIX_FIXPROTO_FIXIDX       119
 tSCC zUltrix_Fix_FixprotoName[] =
      "ultrix_fix_fixproto";
 
@@ -3808,154 +4767,206 @@ tSCC zUltrix_Fix_FixprotoSelect0[] =
        "ULTRIX";
 
 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
-tTestDesc aUltrix_Fix_FixprotoTests[] = {
+static tTestDesc aUltrix_Fix_FixprotoTests[] = {
   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Ultrix_Fix_Fixproto
  */
-const char* apzUltrix_Fix_FixprotoPatch[] = { "sed",
-    "-e", "/^[ \t]*extern[ \t]*int[ \t]*uname();$/i\\\n\
-struct utsname;\n",
+static const char* apzUltrix_Fix_FixprotoPatch[] = {
+    "format",
+    "struct utsname;\n\
+%0",
+    "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Ultrix_Atof_Param fix
+ *  Description of Ultrix_Ifdef fix
  */
-#define ULTRIX_ATOF_PARAM_FIXIDX         96
-tSCC zUltrix_Atof_ParamName[] =
-     "ultrix_atof_param";
+#define ULTRIX_IFDEF_FIXIDX              120
+tSCC zUltrix_IfdefName[] =
+     "ultrix_ifdef";
 
 /*
  *  File name selection pattern
  */
-tSCC zUltrix_Atof_ParamList[] =
-  "|math.h|";
+tSCC zUltrix_IfdefList[] =
+  "|sys/file.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzUltrix_Atof_ParamMachs (const char**)NULL
+#define apzUltrix_IfdefMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zUltrix_Atof_ParamSelect0[] =
-       "atof\\([ \t]*char";
+tSCC zUltrix_IfdefSelect0[] =
+       "^#ifdef KERNEL[ \t]+&&";
 
-#define    ULTRIX_ATOF_PARAM_TEST_CT  1
-tTestDesc aUltrix_Atof_ParamTests[] = {
-  { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
+#define    ULTRIX_IFDEF_TEST_CT  1
+static tTestDesc aUltrix_IfdefTests[] = {
+  { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Ultrix_Atof_Param
+ *  Fix Command Arguments for Ultrix_Ifdef
  */
-const char* apzUltrix_Atof_ParamPatch[] = { "sed",
-    "-e", "s@atof(\\([ \t]*char[ \t]*\\*[^)]*\\))@atof(const \\1)@",
+static const char* apzUltrix_IfdefPatch[] = {
+    "format",
+    "#if defined(KERNEL) &&",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Ultrix_Const fix
+ *  Description of Ultrix_Math_Ifdef fix
  */
-#define ULTRIX_CONST_FIXIDX              97
-tSCC zUltrix_ConstName[] =
-     "ultrix_const";
+#define ULTRIX_MATH_IFDEF_FIXIDX         121
+tSCC zUltrix_Math_IfdefName[] =
+     "ultrix_math_ifdef";
 
 /*
  *  File name selection pattern
  */
-tSCC zUltrix_ConstList[] =
-  "|stdio.h|";
+tSCC zUltrix_Math_IfdefList[] =
+  "|sys/limits.h|float.h|math.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzUltrix_ConstMachs (const char**)NULL
-#define ULTRIX_CONST_TEST_CT  0
-#define aUltrix_ConstTests   (tTestDesc*)NULL
+#define apzUltrix_Math_IfdefMachs (const char**)NULL
 
 /*
- *  Fix Command Arguments for Ultrix_Const
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_Math_IfdefSelect0[] =
+       "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
+
+#define    ULTRIX_MATH_IFDEF_TEST_CT  1
+static tTestDesc aUltrix_Math_IfdefTests[] = {
+  { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Ultrix_Math_Ifdef
  */
-const char* apzUltrix_ConstPatch[] = { "sed",
-    "-e", "s@perror( char \\*__s );@perror( const char *__s );@",
-    "-e", "s@fputs( char \\*__s,@fputs( const char *__s,@",
-    "-e", "s@fopen( char \\*__filename, char \\*__type );@fopen( const char *__filename, const char *__type );@",
-    "-e", "s@fwrite( void \\*__ptr,@fwrite( const void *__ptr,@",
-    "-e", "s@fscanf( FILE \\*__stream, char \\*__format,@fscanf( FILE *__stream, const char *__format,@",
-    "-e", "s@scanf( char \\*__format,@scanf( const char *__format,@",
-    "-e", "s@sscanf( char \\*__s, char \\*__format,@sscanf( const char *__s, const char *__format,@",
-    "-e", "s@popen(char \\*, char \\*);@popen(const char *, const char *);@",
-    "-e", "s@tempnam(char\\*,char\\*);@tempnam(const char*,const char*);@",
+static const char* apzUltrix_Math_IfdefPatch[] = {
+    "format",
+    "%1",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Ultrix_Ifdef fix
+ *  Description of Ultrix_Nested_Ioctl fix
  */
-#define ULTRIX_IFDEF_FIXIDX              98
-tSCC zUltrix_IfdefName[] =
-     "ultrix_ifdef";
+#define ULTRIX_NESTED_IOCTL_FIXIDX       122
+tSCC zUltrix_Nested_IoctlName[] =
+     "ultrix_nested_ioctl";
 
 /*
  *  File name selection pattern
  */
-tSCC zUltrix_IfdefList[] =
-  "|sys/file.h|";
+tSCC zUltrix_Nested_IoctlList[] =
+  "|sys/ioctl.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzUltrix_IfdefMachs (const char**)NULL
+#define apzUltrix_Nested_IoctlMachs (const char**)NULL
 
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zUltrix_IfdefSelect0[] =
-       "#ifdef KERNEL[ \t]*[^ \t]";
+tSCC zUltrix_Nested_IoctlSelect0[] =
+       "^/\\* #define SIOCSCREEN";
 
-#define    ULTRIX_IFDEF_TEST_CT  1
-tTestDesc aUltrix_IfdefTests[] = {
-  { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
+#define    ULTRIX_NESTED_IOCTL_TEST_CT  1
+static tTestDesc aUltrix_Nested_IoctlTests[] = {
+  { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Ultrix_Ifdef
+ *  Fix Command Arguments for Ultrix_Nested_Ioctl
  */
-const char* apzUltrix_IfdefPatch[] = { "sed",
-    "-e", "s/#ifdef KERNEL/#if defined(KERNEL)/",
+static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
+    "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Ultrix_Nested_Cmnt fix
+ *  Description of Ultrix_Nested_Svc fix
  */
-#define ULTRIX_NESTED_CMNT_FIXIDX        99
-tSCC zUltrix_Nested_CmntName[] =
-     "ultrix_nested_cmnt";
+#define ULTRIX_NESTED_SVC_FIXIDX         123
+tSCC zUltrix_Nested_SvcName[] =
+     "ultrix_nested_svc";
 
 /*
  *  File name selection pattern
  */
-tSCC zUltrix_Nested_CmntList[] =
+tSCC zUltrix_Nested_SvcList[] =
   "|rpc/svc.h|";
 /*
  *  Machine/OS name selection pattern
  */
-#define apzUltrix_Nested_CmntMachs (const char**)NULL
-#define ULTRIX_NESTED_CMNT_TEST_CT  0
-#define aUltrix_Nested_CmntTests   (tTestDesc*)NULL
+#define apzUltrix_Nested_SvcMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_Nested_SvcSelect0[] =
+       "^ \\*[ \t]*int protocol;  */\\*";
+
+#define    ULTRIX_NESTED_SVC_TEST_CT  1
+static tTestDesc aUltrix_Nested_SvcTests[] = {
+  { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Ultrix_Nested_Cmnt
+ *  Fix Command Arguments for Ultrix_Nested_Svc
  */
-const char* apzUltrix_Nested_CmntPatch[] = { "sed",
+static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Ultrix_Stat fix
+ */
+#define ULTRIX_STAT_FIXIDX               124
+tSCC zUltrix_StatName[] =
+     "ultrix_stat";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zUltrix_StatList[] =
+  "|sys/stat.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzUltrix_StatMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_StatSelect0[] =
+       "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+#define    ULTRIX_STAT_TEST_CT  1
+static tTestDesc aUltrix_StatTests[] = {
+  { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Ultrix_Stat
+ */
+static const char* apzUltrix_StatPatch[] = { "sed",
+    "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
+\\\n\
+/* macro to test for symbolic link */\\\n\
+#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
+    "-e", "/^[ \t]*fstat(),$/a\\\n\
+\tlstat(),\n",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Ultrix_Static fix
  */
-#define ULTRIX_STATIC_FIXIDX             100
+#define ULTRIX_STATIC_FIXIDX             125
 tSCC zUltrix_StaticName[] =
      "ultrix_static";
 
@@ -3976,13 +4987,13 @@ tSCC zUltrix_StaticSelect0[] =
        "#include \"r[34]_cpu";
 
 #define    ULTRIX_STATIC_TEST_CT  1
-tTestDesc aUltrix_StaticTests[] = {
+static tTestDesc aUltrix_StaticTests[] = {
   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Ultrix_Static
  */
-const char* apzUltrix_StaticPatch[] = { "sed",
+static const char* apzUltrix_StaticPatch[] = { "sed",
     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
@@ -3990,9 +5001,44 @@ const char* apzUltrix_StaticPatch[] = { "sed",
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Ultrix_Strings fix
+ */
+#define ULTRIX_STRINGS_FIXIDX            126
+tSCC zUltrix_StringsName[] =
+     "ultrix_strings";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zUltrix_StringsList[] =
+  "|strings.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+#define apzUltrix_StringsMachs (const char**)NULL
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_StringsSelect0[] =
+       "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+#define    ULTRIX_STRINGS_TEST_CT  1
+static tTestDesc aUltrix_StringsTests[] = {
+  { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Ultrix_Strings
+ */
+static const char* apzUltrix_StringsPatch[] = {
+    "wrap",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Undefine_Null fix
  */
-#define UNDEFINE_NULL_FIXIDX             101
+#define UNDEFINE_NULL_FIXIDX             127
 tSCC zUndefine_NullName[] =
      "undefine_null";
 
@@ -4009,48 +5055,52 @@ tSCC zUndefine_NullName[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zUndefine_NullSelect0[] =
-       "^#[ \t]*define[ \t]*[ \t]NULL[ \t]";
+       "^#[ \t]*define[ \t]+NULL[ \t]";
 
 /*
  *  content bypass pattern - skip fix if pattern found
  */
 tSCC zUndefine_NullBypass0[] =
-       "#[ \t]*(ifn|un)def[ \t]*[ \t]NULL($|[ \t])";
+       "#[ \t]*(ifn|un)def[ \t]+NULL($|[ \t\r])";
 
 #define    UNDEFINE_NULL_TEST_CT  2
-tTestDesc aUndefine_NullTests[] = {
+static tTestDesc aUndefine_NullTests[] = {
   { TT_NEGREP,   zUndefine_NullBypass0, (regex_t*)NULL },
   { TT_EGREP,    zUndefine_NullSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Undefine_Null
  */
-const char* apzUndefine_NullPatch[] = { "sed",
-    "-e", "/^#[ \t]*define[ \t][ \t]*NULL[ \t]/i\\\n\
-#undef NULL\n",
+static const char* apzUndefine_NullPatch[] = {
+    "format",
+    "#ifndef NULL%2\n\
+#define NULL%1%2\n\
+#endif%2\n",
+    "^#[ \t]*define[ \t]*[ \t]NULL([^\r\n\
+]+)([\r]*)\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Unixware7_Byteorder_Fix fix
+ *  Description of Uw7_Byteorder_Fix fix
  */
-#define UNIXWARE7_BYTEORDER_FIX_FIXIDX   102
-tSCC zUnixware7_Byteorder_FixName[] =
-     "unixware7_byteorder_fix";
+#define UW7_BYTEORDER_FIX_FIXIDX         128
+tSCC zUw7_Byteorder_FixName[] =
+     "uw7_byteorder_fix";
 
 /*
  *  File name selection pattern
  */
-tSCC zUnixware7_Byteorder_FixList[] =
+tSCC zUw7_Byteorder_FixList[] =
   "|arpa/inet.h|";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzUnixware7_Byteorder_FixMachs[] = {
+tSCC* apzUw7_Byteorder_FixMachs[] = {
         "*-*-sysv4*",
-        "i[34567]86-*-sysv5*",
-        "i[34567]86-*-udk*",
-        "i[34567]86-*-solaris2.[0-4]",
+        "i?86-*-sysv5*",
+        "i?86-*-udk*",
+        "i?86-*-solaris2.[0-4]",
         "powerpcle-*-solaris2.[0-4]",
         "sparc-*-solaris2.[0-4]",
         (const char*)NULL };
@@ -4058,26 +5108,34 @@ tSCC* apzUnixware7_Byteorder_FixMachs[] = {
 /*
  *  content selection pattern - do fix if pattern found
  */
-tSCC zUnixware7_Byteorder_FixSelect0[] =
+tSCC zUw7_Byteorder_FixSelect0[] =
        "in_port_t";
 
-#define    UNIXWARE7_BYTEORDER_FIX_TEST_CT  1
-tTestDesc aUnixware7_Byteorder_FixTests[] = {
-  { TT_EGREP,    zUnixware7_Byteorder_FixSelect0, (regex_t*)NULL }, };
+/*
+ *  perform the 'test' shell command - do fix on success
+ */
+tSCC zUw7_Byteorder_FixTest0[] =
+       "-f $DESTDIR/sys/byteorder.h";
+
+#define    UW7_BYTEORDER_FIX_TEST_CT  2
+static tTestDesc aUw7_Byteorder_FixTests[] = {
+  { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
+  { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Unixware7_Byteorder_Fix
+ *  Fix Command Arguments for Uw7_Byteorder_Fix
  */
-const char* apzUnixware7_Byteorder_FixPatch[] = { "sed",
-    "-e", "/^extern.*htons.*(in_port_t)/d",
-    "-e", "/^extern.*ntohs.*(in_port_t)/d",
+static const char* apzUw7_Byteorder_FixPatch[] = {
+    "format",
+    "",
+    "^extern.*(htons|ntohs).*\\(in_port_t\\).*\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Va_I960_Macro fix
  */
-#define VA_I960_MACRO_FIXIDX             103
+#define VA_I960_MACRO_FIXIDX             129
 tSCC zVa_I960_MacroName[] =
      "va_i960_macro";
 
@@ -4098,24 +5156,22 @@ tSCC zVa_I960_MacroSelect0[] =
        "__(vsiz|vali|vpad|alignof__)";
 
 #define    VA_I960_MACRO_TEST_CT  1
-tTestDesc aVa_I960_MacroTests[] = {
+static tTestDesc aVa_I960_MacroTests[] = {
   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Va_I960_Macro
  */
-const char* apzVa_I960_MacroPatch[] = { "sed",
-    "-e", "s/__vsiz/__vxvsiz/",
-    "-e", "s/__vali/__vxvali/",
-    "-e", "s/__vpad/__vxvpad/",
-    "-e", "s/__alignof__/__vxalignof__/",
+static const char* apzVa_I960_MacroPatch[] = {
+    "format",
+    "__vx%1",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Void_Null fix
  */
-#define VOID_NULL_FIXIDX                 104
+#define VOID_NULL_FIXIDX                 130
 tSCC zVoid_NullName[] =
      "void_null";
 
@@ -4133,24 +5189,25 @@ tSCC zVoid_NullList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zVoid_NullSelect0[] =
-       "#[ \t]*define[ \t][ \t]*NULL[ \t].*void";
+       "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
 
 #define    VOID_NULL_TEST_CT  1
-tTestDesc aVoid_NullTests[] = {
+static tTestDesc aVoid_NullTests[] = {
   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Void_Null
  */
-const char* apzVoid_NullPatch[] = { "sed",
-    "-e", "s/^#[ \t]*define[ \t]*NULL[ \t]*((void[ \t]*\\*)0)/#define NULL 0/",
+static const char* apzVoid_NullPatch[] = {
+    "format",
+    "#define NULL 0",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Vxworks_Gcc_Problem fix
  */
-#define VXWORKS_GCC_PROBLEM_FIXIDX       105
+#define VXWORKS_GCC_PROBLEM_FIXIDX       131
 tSCC zVxworks_Gcc_ProblemName[] =
      "vxworks_gcc_problem";
 
@@ -4171,13 +5228,13 @@ tSCC zVxworks_Gcc_ProblemSelect0[] =
        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
 
 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
-tTestDesc aVxworks_Gcc_ProblemTests[] = {
+static tTestDesc aVxworks_Gcc_ProblemTests[] = {
   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Vxworks_Gcc_Problem
  */
-const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
+static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
     "-e", "/[ \t]size_t/i\\\n\
 #ifndef _GCC_SIZE_T\\\n\
@@ -4200,7 +5257,7 @@ const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
  *
  *  Description of Vxworks_Needs_Vxtypes fix
  */
-#define VXWORKS_NEEDS_VXTYPES_FIXIDX     106
+#define VXWORKS_NEEDS_VXTYPES_FIXIDX     132
 tSCC zVxworks_Needs_VxtypesName[] =
      "vxworks_needs_vxtypes";
 
@@ -4218,24 +5275,25 @@ tSCC zVxworks_Needs_VxtypesList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zVxworks_Needs_VxtypesSelect0[] =
-       "uint_t[ \t][ \t]*_clocks_per_sec";
+       "uint_t([ \t]+_clocks_per_sec)";
 
 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
-tTestDesc aVxworks_Needs_VxtypesTests[] = {
+static tTestDesc aVxworks_Needs_VxtypesTests[] = {
   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
  */
-const char* apzVxworks_Needs_VxtypesPatch[] = { "sed",
-    "-e", "s/uint_t/unsigned int/",
+static const char* apzVxworks_Needs_VxtypesPatch[] = {
+    "format",
+    "unsigned int%1",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of Vxworks_Needs_Vxworks fix
  */
-#define VXWORKS_NEEDS_VXWORKS_FIXIDX     107
+#define VXWORKS_NEEDS_VXWORKS_FIXIDX     133
 tSCC zVxworks_Needs_VxworksName[] =
      "vxworks_needs_vxworks";
 
@@ -4253,7 +5311,7 @@ tSCC zVxworks_Needs_VxworksList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zVxworks_Needs_VxworksSelect0[] =
-       "#[ \t]define[ \t][ \t]*__INCstath";
+       "#[ \t]define[ \t]+__INCstath";
 
 /*
  *  perform the 'test' shell command - do fix on success
@@ -4266,7 +5324,7 @@ tSCC zVxworks_Needs_VxworksTest2[] =
        " -n \"`egrep ULONG $file`\"";
 
 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
-tTestDesc aVxworks_Needs_VxworksTests[] = {
+static tTestDesc aVxworks_Needs_VxworksTests[] = {
   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
@@ -4275,7 +5333,7 @@ tTestDesc aVxworks_Needs_VxworksTests[] = {
 /*
  *  Fix Command Arguments for Vxworks_Needs_Vxworks
  */
-const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
+static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
 #include <types/vxTypesOld.h>\n",
     (char*)NULL };
@@ -4284,7 +5342,7 @@ const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
  *
  *  Description of Vxworks_Time fix
  */
-#define VXWORKS_TIME_FIXIDX              108
+#define VXWORKS_TIME_FIXIDX              134
 tSCC zVxworks_TimeName[] =
      "vxworks_time";
 
@@ -4302,7 +5360,7 @@ tSCC zVxworks_TimeList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zVxworks_TimeSelect0[] =
-       "VOIDFUNCPTR";
+       "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
 
 /*
  *  perform the 'test' shell command - do fix on success
@@ -4311,31 +5369,31 @@ tSCC zVxworks_TimeTest0[] =
        " -r vxWorks.h";
 
 #define    VXWORKS_TIME_TEST_CT  2
-tTestDesc aVxworks_TimeTests[] = {
+static tTestDesc aVxworks_TimeTests[] = {
   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for Vxworks_Time
  */
-const char* apzVxworks_TimePatch[] = { "sed",
-    "-e", "/VOIDFUNCPTR/i\\\n\
-#ifndef __gcc_VOIDFUNCPTR_defined\\\n\
-#ifdef __cplusplus\\\n\
-typedef void (*__gcc_VOIDFUNCPTR) (...);\\\n\
-#else\\\n\
-typedef void (*__gcc_VOIDFUNCPTR) ();\\\n\
-#endif\\\n\
-#define __gcc_VOIDFUNCPTR_defined\\\n\
-#endif\n",
-    "-e", "s/VOIDFUNCPTR/__gcc_VOIDFUNCPTR/g",
+static const char* apzVxworks_TimePatch[] = {
+    "format",
+    "#ifndef __gcc_VOIDFUNCPTR_defined\n\
+#ifdef __cplusplus\n\
+typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
+#else\n\
+typedef void (*__gcc_VOIDFUNCPTR) ();\n\
+#endif\n\
+#define __gcc_VOIDFUNCPTR_defined\n\
+#endif\n\
+#define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of X11_Class fix
  */
-#define X11_CLASS_FIXIDX                 109
+#define X11_CLASS_FIXIDX                 135
 tSCC zX11_ClassName[] =
      "x11_class";
 
@@ -4350,32 +5408,39 @@ tSCC zX11_ClassList[] =
 #define apzX11_ClassMachs (const char**)NULL
 
 /*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zX11_ClassSelect0[] =
+       "^([ \t]*char \\*)class;(.*)";
+
+/*
  *  content bypass pattern - skip fix if pattern found
  */
 tSCC zX11_ClassBypass0[] =
        "__cplusplus";
 
-#define    X11_CLASS_TEST_CT  1
-tTestDesc aX11_ClassTests[] = {
-  { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL }, };
+#define    X11_CLASS_TEST_CT  2
+static tTestDesc aX11_ClassTests[] = {
+  { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for X11_Class
  */
-const char* apzX11_ClassPatch[] = { "sed",
-    "-e", "/char \\*class;/i\\\n\
-#ifdef __cplusplus\\\n\
-\tchar *c_class;\\\n\
-#else\n",
-    "-e", "/char \\*class;/a\\\n\
-#endif\n",
+static const char* apzX11_ClassPatch[] = {
+    "format",
+    "#ifdef __cplusplus\n\
+%1c_class;%2\n\
+#else\n\
+%1class;%2\n\
+#endif",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of X11_Class_Usage fix
  */
-#define X11_CLASS_USAGE_FIXIDX           110
+#define X11_CLASS_USAGE_FIXIDX           136
 tSCC zX11_Class_UsageName[] =
      "x11_class_usage";
 
@@ -4390,27 +5455,35 @@ tSCC zX11_Class_UsageList[] =
 #define apzX11_Class_UsageMachs (const char**)NULL
 
 /*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zX11_Class_UsageSelect0[] =
+       " class\\)";
+
+/*
  *  content bypass pattern - skip fix if pattern found
  */
 tSCC zX11_Class_UsageBypass0[] =
        "__cplusplus";
 
-#define    X11_CLASS_USAGE_TEST_CT  1
-tTestDesc aX11_Class_UsageTests[] = {
-  { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL }, };
+#define    X11_CLASS_USAGE_TEST_CT  2
+static tTestDesc aX11_Class_UsageTests[] = {
+  { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
+  { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for X11_Class_Usage
  */
-const char* apzX11_Class_UsagePatch[] = { "sed",
-    "-e", "s/ class[)]/ c_class)/g",
+static const char* apzX11_Class_UsagePatch[] = {
+    "format",
+    " c_class)",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
  *  Description of X11_New fix
  */
-#define X11_NEW_FIXIDX                   111
+#define X11_NEW_FIXIDX                   137
 tSCC zX11_NewName[] =
      "x11_new";
 
@@ -4431,13 +5504,13 @@ tSCC zX11_NewBypass0[] =
        "__cplusplus";
 
 #define    X11_NEW_TEST_CT  1
-tTestDesc aX11_NewTests[] = {
+static tTestDesc aX11_NewTests[] = {
   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for X11_New
  */
-const char* apzX11_NewPatch[] = { "sed",
+static const char* apzX11_NewPatch[] = { "sed",
     "-e", "/Widget\told, new;/i\\\n\
 #ifdef __cplusplus\\\n\
 \tWidget\told, c_new;\\\n\
@@ -4451,7 +5524,7 @@ const char* apzX11_NewPatch[] = { "sed",
  *
  *  Description of X11_Sprintf fix
  */
-#define X11_SPRINTF_FIXIDX               112
+#define X11_SPRINTF_FIXIDX               138
 tSCC zX11_SprintfName[] =
      "x11_sprintf";
 
@@ -4469,19 +5542,20 @@ tSCC zX11_SprintfList[] =
  *  content selection pattern - do fix if pattern found
  */
 tSCC zX11_SprintfSelect0[] =
-       "sprintf\\(\\)";
+       "^extern char \\*\tsprintf\\(\\);$";
 
 #define    X11_SPRINTF_TEST_CT  1
-tTestDesc aX11_SprintfTests[] = {
+static tTestDesc aX11_SprintfTests[] = {
   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
 
 /*
  *  Fix Command Arguments for X11_Sprintf
  */
-const char* apzX11_SprintfPatch[] = { "sed",
-    "-e", "s,^extern char \\*\tsprintf();$,#ifndef __STDC__\\\n\
-extern char *\tsprintf();\\\n\
-#endif /* !defined __STDC__ */,",
+static const char* apzX11_SprintfPatch[] = {
+    "format",
+    "#ifndef __STDC__\n\
+%0\n\
+#endif /* !defined __STDC__ */",
     (char*)NULL };
 
 
@@ -4489,573 +5563,703 @@ extern char *\tsprintf();\\\n\
  *
  *  List of all fixes
  */
-#define REGEX_COUNT          98
+#define REGEX_COUNT          146
 #define MACH_LIST_SIZE_LIMIT 279
-#define FIX_COUNT            113
+#define FIX_COUNT            139
 
 tFixDesc fixDescList[ FIX_COUNT ] = {
   {  zAaa_Ki_IfaceName,    zAaa_Ki_IfaceList,
-     apzAaa_Ki_IfaceMachs, (regex_t*)NULL,
+     apzAaa_Ki_IfaceMachs,
      AAA_KI_IFACE_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAaa_Ki_IfaceTests,   apzAaa_Ki_IfacePatch },
+     aAaa_Ki_IfaceTests,   apzAaa_Ki_IfacePatch, 0 },
 
   {  zAaa_KiName,    zAaa_KiList,
-     apzAaa_KiMachs, (regex_t*)NULL,
+     apzAaa_KiMachs,
      AAA_KI_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAaa_KiTests,   apzAaa_KiPatch },
+     aAaa_KiTests,   apzAaa_KiPatch, 0 },
 
   {  zAaa_Ki_CallsName,    zAaa_Ki_CallsList,
-     apzAaa_Ki_CallsMachs, (regex_t*)NULL,
+     apzAaa_Ki_CallsMachs,
      AAA_KI_CALLS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAaa_Ki_CallsTests,   apzAaa_Ki_CallsPatch },
+     aAaa_Ki_CallsTests,   apzAaa_Ki_CallsPatch, 0 },
 
   {  zAaa_Ki_DefsName,    zAaa_Ki_DefsList,
-     apzAaa_Ki_DefsMachs, (regex_t*)NULL,
+     apzAaa_Ki_DefsMachs,
      AAA_KI_DEFS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAaa_Ki_DefsTests,   apzAaa_Ki_DefsPatch },
+     aAaa_Ki_DefsTests,   apzAaa_Ki_DefsPatch, 0 },
+
+  {  zAaa_StandardsName,    zAaa_StandardsList,
+     apzAaa_StandardsMachs,
+     AAA_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+     aAaa_StandardsTests,   apzAaa_StandardsPatch, 0 },
 
   {  zAaa_Bad_FixesName,    zAaa_Bad_FixesList,
-     apzAaa_Bad_FixesMachs, (regex_t*)NULL,
+     apzAaa_Bad_FixesMachs,
      AAA_BAD_FIXES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAaa_Bad_FixesTests,   apzAaa_Bad_FixesPatch },
+     aAaa_Bad_FixesTests,   apzAaa_Bad_FixesPatch, 0 },
 
   {  zAaa_TimeName,    zAaa_TimeList,
-     apzAaa_TimeMachs, (regex_t*)NULL,
+     apzAaa_TimeMachs,
      AAA_TIME_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAaa_TimeTests,   apzAaa_TimePatch },
+     aAaa_TimeTests,   apzAaa_TimePatch, 0 },
 
   {  zAab_Dgux_Int_VarargsName,    zAab_Dgux_Int_VarargsList,
-     apzAab_Dgux_Int_VarargsMachs, (regex_t*)NULL,
+     apzAab_Dgux_Int_VarargsMachs,
      AAB_DGUX_INT_VARARGS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAab_Dgux_Int_VarargsTests,   apzAab_Dgux_Int_VarargsPatch },
+     aAab_Dgux_Int_VarargsTests,   apzAab_Dgux_Int_VarargsPatch, 0 },
 
   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
-     apzAab_Fd_Zero_Asm_Posix_Types_HMachs, (regex_t*)NULL,
+     apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch },
+     aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
 
   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
-     apzAab_Fd_Zero_Gnu_Types_HMachs, (regex_t*)NULL,
+     apzAab_Fd_Zero_Gnu_Types_HMachs,
      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch },
+     aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
 
   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
-     apzAab_Fd_Zero_Selectbits_HMachs, (regex_t*)NULL,
+     apzAab_Fd_Zero_Selectbits_HMachs,
      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch },
+     aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
 
   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
-     apzAab_Sun_MemcpyMachs, (regex_t*)NULL,
+     apzAab_Sun_MemcpyMachs,
      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch },
+     aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
 
   {  zAab_Svr4_Replace_ByteorderName,    zAab_Svr4_Replace_ByteorderList,
-     apzAab_Svr4_Replace_ByteorderMachs, (regex_t*)NULL,
+     apzAab_Svr4_Replace_ByteorderMachs,
      AAB_SVR4_REPLACE_BYTEORDER_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAab_Svr4_Replace_ByteorderTests,   apzAab_Svr4_Replace_ByteorderPatch },
+     aAab_Svr4_Replace_ByteorderTests,   apzAab_Svr4_Replace_ByteorderPatch, 0 },
 
   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
-     apzAab_Ultrix_Ansi_CompatMachs, (regex_t*)NULL,
+     apzAab_Ultrix_Ansi_CompatMachs,
      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
-     aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch },
+     aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
+
+  {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
+     apzAab_Ultrix_LimitsMachs,
+     AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+     aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
+
+  {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
+     apzAab_Ultrix_MemoryMachs,
+     AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+     aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
+
+  {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
+     apzAab_Ultrix_StringMachs,
+     AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+     aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
+
+  {  zAix_PthreadName,    zAix_PthreadList,
+     apzAix_PthreadMachs,
+     AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
+
+  {  zAix_SysmachineName,    zAix_SysmachineList,
+     apzAix_SysmachineMachs,
+     AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
 
   {  zAix_SyswaitName,    zAix_SyswaitList,
-     apzAix_SyswaitMachs, (regex_t*)NULL,
-     AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY,
-     aAix_SyswaitTests,   apzAix_SyswaitPatch },
+     apzAix_SyswaitMachs,
+     AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
 
   {  zAix_VolatileName,    zAix_VolatileList,
-     apzAix_VolatileMachs, (regex_t*)NULL,
-     AIX_VOLATILE_TEST_CT, FD_MACH_ONLY,
-     aAix_VolatileTests,   apzAix_VolatilePatch },
+     apzAix_VolatileMachs,
+     AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
+
+  {  zAlpha___AssertName,    zAlpha___AssertList,
+     apzAlpha___AssertMachs,
+     ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
 
   {  zAlpha_GetoptName,    zAlpha_GetoptList,
-     apzAlpha_GetoptMachs, (regex_t*)NULL,
-     ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY,
-     aAlpha_GetoptTests,   apzAlpha_GetoptPatch },
+     apzAlpha_GetoptMachs,
+     ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
 
   {  zAlpha_ParensName,    zAlpha_ParensList,
-     apzAlpha_ParensMachs, (regex_t*)NULL,
-     ALPHA_PARENS_TEST_CT, FD_MACH_ONLY,
-     aAlpha_ParensTests,   apzAlpha_ParensPatch },
+     apzAlpha_ParensMachs,
+     ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
 
   {  zAlpha_SbrkName,    zAlpha_SbrkList,
-     apzAlpha_SbrkMachs, (regex_t*)NULL,
-     ALPHA_SBRK_TEST_CT, FD_MACH_ONLY,
-     aAlpha_SbrkTests,   apzAlpha_SbrkPatch },
+     apzAlpha_SbrkMachs,
+     ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
 
   {  zArm_Norcroft_HintName,    zArm_Norcroft_HintList,
-     apzArm_Norcroft_HintMachs, (regex_t*)NULL,
-     ARM_NORCROFT_HINT_TEST_CT, FD_MACH_ONLY,
-     aArm_Norcroft_HintTests,   apzArm_Norcroft_HintPatch },
+     apzArm_Norcroft_HintMachs,
+     ARM_NORCROFT_HINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aArm_Norcroft_HintTests,   apzArm_Norcroft_HintPatch, 0 },
 
   {  zArm_WcharName,    zArm_WcharList,
-     apzArm_WcharMachs, (regex_t*)NULL,
-     ARM_WCHAR_TEST_CT, FD_MACH_ONLY,
-     aArm_WcharTests,   apzArm_WcharPatch },
+     apzArm_WcharMachs,
+     ARM_WCHAR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aArm_WcharTests,   apzArm_WcharPatch, 0 },
 
   {  zAux_AsmName,    zAux_AsmList,
-     apzAux_AsmMachs, (regex_t*)NULL,
-     AUX_ASM_TEST_CT, FD_MACH_ONLY,
-     aAux_AsmTests,   apzAux_AsmPatch },
+     apzAux_AsmMachs,
+     AUX_ASM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAux_AsmTests,   apzAux_AsmPatch, 0 },
 
-  {  zAvoid_BoolName,    zAvoid_BoolList,
-     apzAvoid_BoolMachs, (regex_t*)NULL,
-     AVOID_BOOL_TEST_CT, FD_MACH_ONLY,
-     aAvoid_BoolTests,   apzAvoid_BoolPatch },
+  {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
+     apzAvoid_Bool_DefineMachs,
+     AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
 
-  {  zBad_Struct_TermName,    zBad_Struct_TermList,
-     apzBad_Struct_TermMachs, (regex_t*)NULL,
-     BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY,
-     aBad_Struct_TermTests,   apzBad_Struct_TermPatch },
+  {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
+     apzAvoid_Bool_TypeMachs,
+     AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
 
-  {  zBadquoteName,    zBadquoteList,
-     apzBadquoteMachs, (regex_t*)NULL,
-     BADQUOTE_TEST_CT, FD_MACH_ONLY,
-     aBadquoteTests,   apzBadquotePatch },
+  {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
+     apzAvoid_Wchar_T_TypeMachs,
+     AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
 
   {  zBad_LvalName,    zBad_LvalList,
-     apzBad_LvalMachs, (regex_t*)NULL,
+     apzBad_LvalMachs,
      BAD_LVAL_TEST_CT, FD_MACH_ONLY,
-     aBad_LvalTests,   apzBad_LvalPatch },
+     aBad_LvalTests,   apzBad_LvalPatch, 0 },
+
+  {  zBad_Struct_TermName,    zBad_Struct_TermList,
+     apzBad_Struct_TermMachs,
+     BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
+
+  {  zBadquoteName,    zBadquoteList,
+     apzBadquoteMachs,
+     BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aBadquoteTests,   apzBadquotePatch, 0 },
 
   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
-     apzBroken_Assert_StdioMachs, (regex_t*)NULL,
-     BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY,
-     aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch },
+     apzBroken_Assert_StdioMachs,
+     BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
 
   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
-     apzBroken_Assert_StdlibMachs, (regex_t*)NULL,
-     BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY,
-     aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch },
+     apzBroken_Assert_StdlibMachs,
+     BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
+
+  {  zBroken_CabsName,    zBroken_CabsList,
+     apzBroken_CabsMachs,
+     BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
+
+  {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
+     apzCtrl_Quotes_DefMachs,
+     CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
+
+  {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
+     apzCtrl_Quotes_UseMachs,
+     CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
+
+  {  zCxx_UnreadyName,    zCxx_UnreadyList,
+     apzCxx_UnreadyMachs,
+     CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
 
   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
-     apzDec_Intern_AsmMachs, (regex_t*)NULL,
+     apzDec_Intern_AsmMachs,
      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
-     aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch },
+     aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
+
+  {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
+     apzDjgpp_Wchar_HMachs,
+     DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
 
   {  zEcd_CursorName,    zEcd_CursorList,
-     apzEcd_CursorMachs, (regex_t*)NULL,
-     ECD_CURSOR_TEST_CT, FD_MACH_ONLY,
-     aEcd_CursorTests,   apzEcd_CursorPatch },
+     apzEcd_CursorMachs,
+     ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
+
+  {  zFix_Header_BreakageName,    zFix_Header_BreakageList,
+     apzFix_Header_BreakageMachs,
+     FIX_HEADER_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aFix_Header_BreakageTests,   apzFix_Header_BreakagePatch, 0 },
 
-  {  zSco5_Stat_WrappersName,    zSco5_Stat_WrappersList,
-     apzSco5_Stat_WrappersMachs, (regex_t*)NULL,
-     SCO5_STAT_WRAPPERS_TEST_CT, FD_MACH_ONLY,
-     aSco5_Stat_WrappersTests,   apzSco5_Stat_WrappersPatch },
+  {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
+     apzFreebsd_Gcc3_BreakageMachs,
+     FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
 
   {  zHp_InlineName,    zHp_InlineList,
-     apzHp_InlineMachs, (regex_t*)NULL,
-     HP_INLINE_TEST_CT, FD_MACH_ONLY,
-     aHp_InlineTests,   apzHp_InlinePatch },
+     apzHp_InlineMachs,
+     HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHp_InlineTests,   apzHp_InlinePatch, 0 },
 
   {  zHp_SysfileName,    zHp_SysfileList,
-     apzHp_SysfileMachs, (regex_t*)NULL,
-     HP_SYSFILE_TEST_CT, FD_MACH_ONLY,
-     aHp_SysfileTests,   apzHp_SysfilePatch },
+     apzHp_SysfileMachs,
+     HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
 
-  {  zCxx_UnreadyName,    zCxx_UnreadyList,
-     apzCxx_UnreadyMachs, (regex_t*)NULL,
-     CXX_UNREADY_TEST_CT, FD_MACH_ONLY,
-     aCxx_UnreadyTests,   apzCxx_UnreadyPatch },
-
-  {  zHpux_MaxintName,    zHpux_MaxintList,
-     apzHpux_MaxintMachs, (regex_t*)NULL,
-     HPUX_MAXINT_TEST_CT, FD_MACH_ONLY,
-     aHpux_MaxintTests,   apzHpux_MaxintPatch },
+  {  zHpux11_FabsfName,    zHpux11_FabsfList,
+     apzHpux11_FabsfMachs,
+     HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
 
-  {  zHpux_SystimeName,    zHpux_SystimeList,
-     apzHpux_SystimeMachs, (regex_t*)NULL,
-     HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY,
-     aHpux_SystimeTests,   apzHpux_SystimePatch },
+  {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
+     apzHpux11_Uint32_CMachs,
+     HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
 
   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
-     apzHpux8_Bogus_InlinesMachs, (regex_t*)NULL,
+     apzHpux8_Bogus_InlinesMachs,
      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
-     aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch },
+     aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
 
-  {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
-     apzHpux11_Uint32_CMachs, (regex_t*)NULL,
-     HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY,
-     aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch },
+  {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
+     apzInt_Abort_Free_And_ExitMachs,
+     INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
 
   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
-     apzIsc_Omits_With_StdcMachs, (regex_t*)NULL,
-     ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY,
-     aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch },
-
-  {  zIo_Use_QuotesName,    zIo_Use_QuotesList,
-     apzIo_Use_QuotesMachs, (regex_t*)NULL,
-     IO_USE_QUOTES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aIo_Use_QuotesTests,   apzIo_Use_QuotesPatch },
-
-  {  zIo_Def_QuotesName,    zIo_Def_QuotesList,
-     apzIo_Def_QuotesMachs, (regex_t*)NULL,
-     IO_DEF_QUOTES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aIo_Def_QuotesTests,   apzIo_Def_QuotesPatch },
-
-  {  zCtrl_Use_QuotesName,    zCtrl_Use_QuotesList,
-     apzCtrl_Use_QuotesMachs, (regex_t*)NULL,
-     CTRL_USE_QUOTES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aCtrl_Use_QuotesTests,   apzCtrl_Use_QuotesPatch },
-
-  {  zCtrl_Def_QuotesName,    zCtrl_Def_QuotesList,
-     apzCtrl_Def_QuotesMachs, (regex_t*)NULL,
-     CTRL_DEF_QUOTES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aCtrl_Def_QuotesTests,   apzCtrl_Def_QuotesPatch },
+     apzIsc_Omits_With_StdcMachs,
+     ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
 
-  {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
-     apzIp_Missing_SemiMachs, (regex_t*)NULL,
-     IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
-     aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch },
+  {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
+     apzIo_Quotes_DefMachs,
+     IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
 
-  {  zIrix_Multiline_CmntName,    zIrix_Multiline_CmntList,
-     apzIrix_Multiline_CmntMachs, (regex_t*)NULL,
-     IRIX_MULTILINE_CMNT_TEST_CT, FD_MACH_ONLY,
-     aIrix_Multiline_CmntTests,   apzIrix_Multiline_CmntPatch },
+  {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
+     apzIo_Quotes_UseMachs,
+     IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
 
-  {  zIrix_SockaddrName,    zIrix_SockaddrList,
-     apzIrix_SockaddrMachs, (regex_t*)NULL,
-     IRIX_SOCKADDR_TEST_CT, FD_MACH_ONLY,
-     aIrix_SockaddrTests,   apzIrix_SockaddrPatch },
+  {  zHpux_MaxintName,    zHpux_MaxintList,
+     apzHpux_MaxintMachs,
+     HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux_MaxintTests,   apzHpux_MaxintPatch, 0 },
+
+  {  zHpux_SystimeName,    zHpux_SystimeList,
+     apzHpux_SystimeMachs,
+     HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
 
-  {  zIrix_Struct__FileName,    zIrix_Struct__FileList,
-     apzIrix_Struct__FileMachs, (regex_t*)NULL,
-     IRIX_STRUCT__FILE_TEST_CT, FD_MACH_ONLY,
-     aIrix_Struct__FileTests,   apzIrix_Struct__FilePatch },
+  {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
+     apzIp_Missing_SemiMachs,
+     IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
+     aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
 
   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
-     apzIrix_Asm_ApostropheMachs, (regex_t*)NULL,
-     IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY,
-     aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch },
+     apzIrix_Asm_ApostropheMachs,
+     IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
 
-  {  zIsc_FmodName,    zIsc_FmodList,
-     apzIsc_FmodMachs, (regex_t*)NULL,
-     ISC_FMOD_TEST_CT, FD_MACH_ONLY,
-     aIsc_FmodTests,   apzIsc_FmodPatch },
+  {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
+     apzIrix_Stdio_Va_ListMachs,
+     IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
 
-  {  zMotorola_NestedName,    zMotorola_NestedList,
-     apzMotorola_NestedMachs, (regex_t*)NULL,
-     MOTOROLA_NESTED_TEST_CT, FD_MACH_ONLY,
-     aMotorola_NestedTests,   apzMotorola_NestedPatch },
+  {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
+     apzIrix_Limits_ConstMachs,
+     IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
 
-  {  zIsc_Sys_LimitsName,    zIsc_Sys_LimitsList,
-     apzIsc_Sys_LimitsMachs, (regex_t*)NULL,
-     ISC_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
-     aIsc_Sys_LimitsTests,   apzIsc_Sys_LimitsPatch },
+  {  zIsc_FmodName,    zIsc_FmodList,
+     apzIsc_FmodMachs,
+     ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
 
   {  zKandr_ConcatName,    zKandr_ConcatList,
-     apzKandr_ConcatMachs, (regex_t*)NULL,
-     KANDR_CONCAT_TEST_CT, FD_MACH_ONLY,
-     aKandr_ConcatTests,   apzKandr_ConcatPatch },
+     apzKandr_ConcatMachs,
+     KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
+
+  {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
+     apzLibc1_Ifdefd_MemxMachs,
+     LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
 
   {  zLimits_IfndefsName,    zLimits_IfndefsList,
-     apzLimits_IfndefsMachs, (regex_t*)NULL,
-     LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY,
-     aLimits_IfndefsTests,   apzLimits_IfndefsPatch },
+     apzLimits_IfndefsMachs,
+     LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aLimits_IfndefsTests,   apzLimits_IfndefsPatch, 0 },
 
   {  zLynx_Void_IntName,    zLynx_Void_IntList,
-     apzLynx_Void_IntMachs, (regex_t*)NULL,
-     LYNX_VOID_INT_TEST_CT, FD_MACH_ONLY,
-     aLynx_Void_IntTests,   apzLynx_Void_IntPatch },
+     apzLynx_Void_IntMachs,
+     LYNX_VOID_INT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aLynx_Void_IntTests,   apzLynx_Void_IntPatch, 0 },
 
   {  zLynxos_Fcntl_ProtoName,    zLynxos_Fcntl_ProtoList,
-     apzLynxos_Fcntl_ProtoMachs, (regex_t*)NULL,
-     LYNXOS_FCNTL_PROTO_TEST_CT, FD_MACH_ONLY,
-     aLynxos_Fcntl_ProtoTests,   apzLynxos_Fcntl_ProtoPatch },
+     apzLynxos_Fcntl_ProtoMachs,
+     LYNXOS_FCNTL_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aLynxos_Fcntl_ProtoTests,   apzLynxos_Fcntl_ProtoPatch, 0 },
 
   {  zM88k_Bad_Hypot_OptName,    zM88k_Bad_Hypot_OptList,
-     apzM88k_Bad_Hypot_OptMachs, (regex_t*)NULL,
-     M88K_BAD_HYPOT_OPT_TEST_CT, FD_MACH_ONLY,
-     aM88k_Bad_Hypot_OptTests,   apzM88k_Bad_Hypot_OptPatch },
+     apzM88k_Bad_Hypot_OptMachs,
+     M88K_BAD_HYPOT_OPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aM88k_Bad_Hypot_OptTests,   apzM88k_Bad_Hypot_OptPatch, 0 },
 
   {  zM88k_Bad_S_IfName,    zM88k_Bad_S_IfList,
-     apzM88k_Bad_S_IfMachs, (regex_t*)NULL,
-     M88K_BAD_S_IF_TEST_CT, FD_MACH_ONLY,
-     aM88k_Bad_S_IfTests,   apzM88k_Bad_S_IfPatch },
+     apzM88k_Bad_S_IfMachs,
+     M88K_BAD_S_IF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aM88k_Bad_S_IfTests,   apzM88k_Bad_S_IfPatch, 0 },
 
   {  zM88k_Multi_InclName,    zM88k_Multi_InclList,
-     apzM88k_Multi_InclMachs, (regex_t*)NULL,
-     M88K_MULTI_INCL_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
-     aM88k_Multi_InclTests,   apzM88k_Multi_InclPatch },
+     apzM88k_Multi_InclMachs,
+     M88K_MULTI_INCL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aM88k_Multi_InclTests,   apzM88k_Multi_InclPatch, 0 },
 
   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
-     apzMachine_Ansi_H_Va_ListMachs, (regex_t*)NULL,
-     MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY,
-     aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch },
+     apzMachine_Ansi_H_Va_ListMachs,
+     MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
 
   {  zMachine_NameName,    zMachine_NameList,
-     apzMachine_NameMachs, (regex_t*)NULL,
+     apzMachine_NameMachs,
      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aMachine_NameTests,   apzMachine_NamePatch },
+     aMachine_NameTests,   apzMachine_NamePatch, 0 },
 
   {  zMath_ExceptionName,    zMath_ExceptionList,
-     apzMath_ExceptionMachs, (regex_t*)NULL,
-     MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY,
-     aMath_ExceptionTests,   apzMath_ExceptionPatch },
+     apzMath_ExceptionMachs,
+     MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
 
   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
-     apzMath_Huge_Val_From_Dbl_MaxMachs, (regex_t*)NULL,
+     apzMath_Huge_Val_From_Dbl_MaxMachs,
      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
-     aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch },
+     aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
 
   {  zMath_Huge_Val_IfndefName,    zMath_Huge_Val_IfndefList,
-     apzMath_Huge_Val_IfndefMachs, (regex_t*)NULL,
-     MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY,
-     aMath_Huge_Val_IfndefTests,   apzMath_Huge_Val_IfndefPatch },
+     apzMath_Huge_Val_IfndefMachs,
+     MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aMath_Huge_Val_IfndefTests,   apzMath_Huge_Val_IfndefPatch, 0 },
 
-  {  zNested_CommentName,    zNested_CommentList,
-     apzNested_CommentMachs, (regex_t*)NULL,
-     NESTED_COMMENT_TEST_CT, FD_MACH_ONLY,
-     aNested_CommentTests,   apzNested_CommentPatch },
+  {  zNested_MotorolaName,    zNested_MotorolaList,
+     apzNested_MotorolaMachs,
+     NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
+     aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
+
+  {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
+     apzNested_Sys_LimitsMachs,
+     NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
+     aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
+
+  {  zNested_Auth_DesName,    zNested_Auth_DesList,
+     apzNested_Auth_DesMachs,
+     NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
 
   {  zNews_Os_RecursionName,    zNews_Os_RecursionList,
-     apzNews_Os_RecursionMachs, (regex_t*)NULL,
-     NEWS_OS_RECURSION_TEST_CT, FD_MACH_ONLY,
-     aNews_Os_RecursionTests,   apzNews_Os_RecursionPatch },
+     apzNews_Os_RecursionMachs,
+     NEWS_OS_RECURSION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aNews_Os_RecursionTests,   apzNews_Os_RecursionPatch, 0 },
 
   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
-     apzNext_Math_PrefixMachs, (regex_t*)NULL,
-     NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY,
-     aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch },
+     apzNext_Math_PrefixMachs,
+     NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
 
   {  zNext_TemplateName,    zNext_TemplateList,
-     apzNext_TemplateMachs, (regex_t*)NULL,
-     NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY,
-     aNext_TemplateTests,   apzNext_TemplatePatch },
+     apzNext_TemplateMachs,
+     NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
 
   {  zNext_VolitileName,    zNext_VolitileList,
-     apzNext_VolitileMachs, (regex_t*)NULL,
-     NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY,
-     aNext_VolitileTests,   apzNext_VolitilePatch },
+     apzNext_VolitileMachs,
+     NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
 
   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
-     apzNext_Wait_UnionMachs, (regex_t*)NULL,
-     NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY,
-     aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch },
+     apzNext_Wait_UnionMachs,
+     NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
 
   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
-     apzNodeent_SyntaxMachs, (regex_t*)NULL,
-     NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY,
-     aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch },
+     apzNodeent_SyntaxMachs,
+     NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
 
   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
-     apzOsf_Namespace_AMachs, (regex_t*)NULL,
-     OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY,
-     aOsf_Namespace_ATests,   apzOsf_Namespace_APatch },
+     apzOsf_Namespace_AMachs,
+     OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
 
-  {  zOsf_Namespace_BName,    zOsf_Namespace_BList,
-     apzOsf_Namespace_BMachs, (regex_t*)NULL,
-     OSF_NAMESPACE_B_TEST_CT, FD_MACH_ONLY,
-     aOsf_Namespace_BTests,   apzOsf_Namespace_BPatch },
+  {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
+     apzOsf_Namespace_CMachs,
+     OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
 
   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
-     apzPthread_Page_SizeMachs, (regex_t*)NULL,
-     PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY,
-     aPthread_Page_SizeTests,   apzPthread_Page_SizePatch },
+     apzPthread_Page_SizeMachs,
+     PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
 
   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
-     apzRead_Ret_TypeMachs, (regex_t*)NULL,
-     READ_RET_TYPE_TEST_CT, FD_MACH_ONLY,
-     aRead_Ret_TypeTests,   apzRead_Ret_TypePatch },
+     apzRead_Ret_TypeMachs,
+     READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
 
   {  zRs6000_DoubleName,    zRs6000_DoubleList,
-     apzRs6000_DoubleMachs, (regex_t*)NULL,
-     RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY,
-     aRs6000_DoubleTests,   apzRs6000_DoublePatch },
+     apzRs6000_DoubleMachs,
+     RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
 
   {  zRs6000_FchmodName,    zRs6000_FchmodList,
-     apzRs6000_FchmodMachs, (regex_t*)NULL,
-     RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY,
-     aRs6000_FchmodTests,   apzRs6000_FchmodPatch },
+     apzRs6000_FchmodMachs,
+     RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
 
   {  zRs6000_ParamName,    zRs6000_ParamList,
-     apzRs6000_ParamMachs, (regex_t*)NULL,
-     RS6000_PARAM_TEST_CT, FD_MACH_ONLY,
-     aRs6000_ParamTests,   apzRs6000_ParamPatch },
-
-  {  zSony_IncludeName,    zSony_IncludeList,
-     apzSony_IncludeMachs, (regex_t*)NULL,
-     SONY_INCLUDE_TEST_CT, FD_MACH_ONLY,
-     aSony_IncludeTests,   apzSony_IncludePatch },
+     apzRs6000_ParamMachs,
+     RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
+
+  {  zSco_Static_FuncName,    zSco_Static_FuncList,
+     apzSco_Static_FuncMachs,
+     SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
+     aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
+
+  {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
+     apzStrict_Ansi_NotMachs,
+     STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
+
+  {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
+     apzStrict_Ansi_Not_CtdMachs,
+     STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
+
+  {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
+     apzStrict_Ansi_OnlyMachs,
+     STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
+
+  {  zSco_UtimeName,    zSco_UtimeList,
+     apzSco_UtimeMachs,
+     SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSco_UtimeTests,   apzSco_UtimePatch, 0 },
+
+  {  zSolaris27_Mutex_InitName,    zSolaris27_Mutex_InitList,
+     apzSolaris27_Mutex_InitMachs,
+     SOLARIS27_MUTEX_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSolaris27_Mutex_InitTests,   apzSolaris27_Mutex_InitPatch, 0 },
 
   {  zStatsswtchName,    zStatsswtchList,
-     apzStatsswtchMachs, (regex_t*)NULL,
-     STATSSWTCH_TEST_CT, FD_MACH_ONLY,
-     aStatsswtchTests,   apzStatsswtchPatch },
+     apzStatsswtchMachs,
+     STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aStatsswtchTests,   apzStatsswtchPatch, 0 },
 
   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
-     apzStdio_Stdarg_HMachs, (regex_t*)NULL,
-     STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY,
-     aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch },
+     apzStdio_Stdarg_HMachs,
+     STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
 
   {  zStdio_Va_ListName,    zStdio_Va_ListList,
-     apzStdio_Va_ListMachs, (regex_t*)NULL,
+     apzStdio_Va_ListMachs,
      STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
-     aStdio_Va_ListTests,   apzStdio_Va_ListPatch },
+     aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
 
-  {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
-     apzSun_Bogus_IfdefMachs, (regex_t*)NULL,
-     SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY,
-     aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch },
+  {  zStruct_FileName,    zStruct_FileList,
+     apzStruct_FileMachs,
+     STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aStruct_FileTests,   apzStruct_FilePatch, 0 },
 
-  {  zSun_Bogus_Ifdef_Sun4cName,    zSun_Bogus_Ifdef_Sun4cList,
-     apzSun_Bogus_Ifdef_Sun4cMachs, (regex_t*)NULL,
-     SUN_BOGUS_IFDEF_SUN4C_TEST_CT, FD_MACH_ONLY,
-     aSun_Bogus_Ifdef_Sun4cTests,   apzSun_Bogus_Ifdef_Sun4cPatch },
+  {  zStruct_SockaddrName,    zStruct_SockaddrList,
+     apzStruct_SockaddrMachs,
+     STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
+
+  {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
+     apzSun_Auth_ProtoMachs,
+     SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
+
+  {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
+     apzSun_Bogus_IfdefMachs,
+     SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
 
   {  zSun_CatmacroName,    zSun_CatmacroList,
-     apzSun_CatmacroMachs, (regex_t*)NULL,
-     SUN_CATMACRO_TEST_CT, FD_MACH_ONLY,
-     aSun_CatmacroTests,   apzSun_CatmacroPatch },
+     apzSun_CatmacroMachs,
+     SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
 
   {  zSun_MallocName,    zSun_MallocList,
-     apzSun_MallocMachs, (regex_t*)NULL,
+     apzSun_MallocMachs,
      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
-     aSun_MallocTests,   apzSun_MallocPatch },
+     aSun_MallocTests,   apzSun_MallocPatch, 0 },
 
   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
-     apzSun_Rusers_SemiMachs, (regex_t*)NULL,
+     apzSun_Rusers_SemiMachs,
      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
-     aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch },
+     aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
 
   {  zSun_SignalName,    zSun_SignalList,
-     apzSun_SignalMachs, (regex_t*)NULL,
-     SUN_SIGNAL_TEST_CT, FD_MACH_ONLY,
-     aSun_SignalTests,   apzSun_SignalPatch },
-
-  {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
-     apzSun_Auth_ProtoMachs, (regex_t*)NULL,
-     SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY,
-     aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch },
+     apzSun_SignalMachs,
+     SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSun_SignalTests,   apzSun_SignalPatch, 0 },
 
   {  zSunos_Matherr_DeclName,    zSunos_Matherr_DeclList,
-     apzSunos_Matherr_DeclMachs, (regex_t*)NULL,
-     SUNOS_MATHERR_DECL_TEST_CT, FD_MACH_ONLY,
-     aSunos_Matherr_DeclTests,   apzSunos_Matherr_DeclPatch },
+     apzSunos_Matherr_DeclMachs,
+     SUNOS_MATHERR_DECL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSunos_Matherr_DeclTests,   apzSunos_Matherr_DeclPatch, 0 },
 
   {  zSunos_StrlenName,    zSunos_StrlenList,
-     apzSunos_StrlenMachs, (regex_t*)NULL,
-     SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY,
-     aSunos_StrlenTests,   apzSunos_StrlenPatch },
-
-  {  zSystypesName,    zSystypesList,
-     apzSystypesMachs, (regex_t*)NULL,
-     SYSTYPES_TEST_CT, FD_MACH_ONLY,
-     aSystypesTests,   apzSystypesPatch },
-
-  {  zSystypes_Stdlib_Size_TName,    zSystypes_Stdlib_Size_TList,
-     apzSystypes_Stdlib_Size_TMachs, (regex_t*)NULL,
-     SYSTYPES_STDLIB_SIZE_T_TEST_CT, FD_MACH_ONLY,
-     aSystypes_Stdlib_Size_TTests,   apzSystypes_Stdlib_Size_TPatch },
+     apzSunos_StrlenMachs,
+     SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
+
+  {  zSvr4__PName,    zSvr4__PList,
+     apzSvr4__PMachs,
+     SVR4__P_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSvr4__PTests,   apzSvr4__PPatch, 0 },
+
+  {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
+     apzSvr4_GetcwdMachs,
+     SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
+
+  {  zSvr4_ProfilName,    zSvr4_ProfilList,
+     apzSvr4_ProfilMachs,
+     SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
+
+  {  zGnu_TypesName,    zGnu_TypesList,
+     apzGnu_TypesMachs,
+     GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
 
   {  zSysv68_StringName,    zSysv68_StringList,
-     apzSysv68_StringMachs, (regex_t*)NULL,
+     apzSysv68_StringMachs,
      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
-     aSysv68_StringTests,   apzSysv68_StringPatch },
+     aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
 
   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
-     apzSysz_Stdlib_For_SunMachs, (regex_t*)NULL,
-     SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY,
-     aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch },
-
-  {  zSysz_Stdtypes_For_SunName,    zSysz_Stdtypes_For_SunList,
-     apzSysz_Stdtypes_For_SunMachs, (regex_t*)NULL,
-     SYSZ_STDTYPES_FOR_SUN_TEST_CT, FD_MACH_ONLY,
-     aSysz_Stdtypes_For_SunTests,   apzSysz_Stdtypes_For_SunPatch },
+     apzSysz_Stdlib_For_SunMachs,
+     SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
 
   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
-     apzTinfo_CplusplusMachs, (regex_t*)NULL,
-     TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY,
-     aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch },
-
-  {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
-     apzUltrix_Fix_FixprotoMachs, (regex_t*)NULL,
-     ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY,
-     aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch },
+     apzTinfo_CplusplusMachs,
+     TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
 
   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
-     apzUltrix_Atof_ParamMachs, (regex_t*)NULL,
-     ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY,
-     aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch },
+     apzUltrix_Atof_ParamMachs,
+     ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
 
   {  zUltrix_ConstName,    zUltrix_ConstList,
-     apzUltrix_ConstMachs, (regex_t*)NULL,
-     ULTRIX_CONST_TEST_CT, FD_MACH_ONLY,
-     aUltrix_ConstTests,   apzUltrix_ConstPatch },
+     apzUltrix_ConstMachs,
+     ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
 
-  {  zUltrix_IfdefName,    zUltrix_IfdefList,
-     apzUltrix_IfdefMachs, (regex_t*)NULL,
-     ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY,
-     aUltrix_IfdefTests,   apzUltrix_IfdefPatch },
+  {  zUltrix_Const2Name,    zUltrix_Const2List,
+     apzUltrix_Const2Machs,
+     ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
 
-  {  zUltrix_Nested_CmntName,    zUltrix_Nested_CmntList,
-     apzUltrix_Nested_CmntMachs, (regex_t*)NULL,
-     ULTRIX_NESTED_CMNT_TEST_CT, FD_MACH_ONLY,
-     aUltrix_Nested_CmntTests,   apzUltrix_Nested_CmntPatch },
+  {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
+     apzUltrix_Fix_FixprotoMachs,
+     ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
+
+  {  zUltrix_IfdefName,    zUltrix_IfdefList,
+     apzUltrix_IfdefMachs,
+     ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
+
+  {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
+     apzUltrix_Math_IfdefMachs,
+     ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
+
+  {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
+     apzUltrix_Nested_IoctlMachs,
+     ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
+     aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
+
+  {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
+     apzUltrix_Nested_SvcMachs,
+     ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
+     aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
+
+  {  zUltrix_StatName,    zUltrix_StatList,
+     apzUltrix_StatMachs,
+     ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
+     aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
 
   {  zUltrix_StaticName,    zUltrix_StaticList,
-     apzUltrix_StaticMachs, (regex_t*)NULL,
+     apzUltrix_StaticMachs,
      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
-     aUltrix_StaticTests,   apzUltrix_StaticPatch },
+     aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
+
+  {  zUltrix_StringsName,    zUltrix_StringsList,
+     apzUltrix_StringsMachs,
+     ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
 
   {  zUndefine_NullName,    zUndefine_NullList,
-     apzUndefine_NullMachs, (regex_t*)NULL,
-     UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY,
-     aUndefine_NullTests,   apzUndefine_NullPatch },
+     apzUndefine_NullMachs,
+     UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aUndefine_NullTests,   apzUndefine_NullPatch, 0 },
 
-  {  zUnixware7_Byteorder_FixName,    zUnixware7_Byteorder_FixList,
-     apzUnixware7_Byteorder_FixMachs, (regex_t*)NULL,
-     UNIXWARE7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY,
-     aUnixware7_Byteorder_FixTests,   apzUnixware7_Byteorder_FixPatch },
+  {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
+     apzUw7_Byteorder_FixMachs,
+     UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
 
   {  zVa_I960_MacroName,    zVa_I960_MacroList,
-     apzVa_I960_MacroMachs, (regex_t*)NULL,
-     VA_I960_MACRO_TEST_CT, FD_MACH_ONLY,
-     aVa_I960_MacroTests,   apzVa_I960_MacroPatch },
+     apzVa_I960_MacroMachs,
+     VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
 
   {  zVoid_NullName,    zVoid_NullList,
-     apzVoid_NullMachs, (regex_t*)NULL,
-     VOID_NULL_TEST_CT, FD_MACH_ONLY,
-     aVoid_NullTests,   apzVoid_NullPatch },
+     apzVoid_NullMachs,
+     VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aVoid_NullTests,   apzVoid_NullPatch, 0 },
 
   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
-     apzVxworks_Gcc_ProblemMachs, (regex_t*)NULL,
+     apzVxworks_Gcc_ProblemMachs,
      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
-     aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch },
+     aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
 
   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
-     apzVxworks_Needs_VxtypesMachs, (regex_t*)NULL,
-     VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY,
-     aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch },
+     apzVxworks_Needs_VxtypesMachs,
+     VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
 
   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
-     apzVxworks_Needs_VxworksMachs, (regex_t*)NULL,
+     apzVxworks_Needs_VxworksMachs,
      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
-     aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch },
+     aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
 
   {  zVxworks_TimeName,    zVxworks_TimeList,
-     apzVxworks_TimeMachs, (regex_t*)NULL,
-     VXWORKS_TIME_TEST_CT, FD_MACH_ONLY,
-     aVxworks_TimeTests,   apzVxworks_TimePatch },
+     apzVxworks_TimeMachs,
+     VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
 
   {  zX11_ClassName,    zX11_ClassList,
-     apzX11_ClassMachs, (regex_t*)NULL,
-     X11_CLASS_TEST_CT, FD_MACH_ONLY,
-     aX11_ClassTests,   apzX11_ClassPatch },
+     apzX11_ClassMachs,
+     X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aX11_ClassTests,   apzX11_ClassPatch, 0 },
 
   {  zX11_Class_UsageName,    zX11_Class_UsageList,
-     apzX11_Class_UsageMachs, (regex_t*)NULL,
-     X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY,
-     aX11_Class_UsageTests,   apzX11_Class_UsagePatch },
+     apzX11_Class_UsageMachs,
+     X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
 
   {  zX11_NewName,    zX11_NewList,
-     apzX11_NewMachs, (regex_t*)NULL,
+     apzX11_NewMachs,
      X11_NEW_TEST_CT, FD_MACH_ONLY,
-     aX11_NewTests,   apzX11_NewPatch },
+     aX11_NewTests,   apzX11_NewPatch, 0 },
 
   {  zX11_SprintfName,    zX11_SprintfList,
-     apzX11_SprintfMachs, (regex_t*)NULL,
-     X11_SPRINTF_TEST_CT, FD_MACH_ONLY,
-     aX11_SprintfTests,   apzX11_SprintfPatch }
+     apzX11_SprintfMachs,
+     X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aX11_SprintfTests,   apzX11_SprintfPatch, 0 }
 };