OSDN Git Service

Use fnmatch for name matching.
authorkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Jan 2007 18:03:50 +0000 (18:03 +0000)
committerkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Jan 2007 18:03:50 +0000 (18:03 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120528 138bc75d-0d04-0410-961f-82ee72b054a4

fixincludes/ChangeLog
fixincludes/README
fixincludes/fixincl.c
fixincludes/fixincl.tpl
fixincludes/fixincl.x
fixincludes/inclhack.def

index 47929c9..407674d 100644 (file)
@@ -1,3 +1,15 @@
+2007-01-05  Bruce Korb <bkorb@gnu.org>, 
+            Daniel Franke <franke.daniel@gmail.com>
+
+       PR target/30008
+       * fixincl.tpl (List): separate file name patterns with a NUL byte instead
+       of a vertical bar ("|").
+       * fixincl.c (fix_applies, machine_matches): Use fnmatch for name matching.
+       * fixincl.x: Regenerate.
+       * inclhack.def (glibc_c99_inline_[1234], broken_cabs, broken_nan,
+       kandr_concat, sco_math): Replace lists of specfic file names by search
+       patterns.
+
 2006-12-12  Olivier Hainque  <hainque@adacore.com>
 
        * fixincludes/mkfixinc.sh: Add "*-*-vxworks*" to the list of
index 8b8cc98..a26455b 100644 (file)
@@ -69,14 +69,17 @@ MAKING CHANGES TO INCLHACK.DEF
     for variable names and is unique without regard to alphabetic case.
     Please keep them alphabetical by this name.  :-)
 
-2.  If the problem is known to exist only in certain files,
-    then name each such file with a "files = " entry.
+2.  If the problem is known to exist only in certain files, then
+    identify the files with "files = " entries.  If you use fnmatch(3C)
+    wild card characters in a "files" entry, be certain that the first
+    "files" entry has no such character.  Otherwise, the "make check"
+    machinery will attempt to create files with those characters in the
+    name.  That is inconvenient.
 
 3.  It is relatively expensive to fire off a process to fix a source
     file, therefore write apply tests to avoid unnecessary fix
-    processes.  The preferred apply tests are "select", "bypass" and
-    "c_test" because they are performed internally.  The available
-    tests are:
+    processes.  The preferred apply tests are "select", "bypass", "mach"
+    and "c-test" because they are performed internally:
 
     * select - Run a regex on the contents of the file being considered.
                All such regex-es must match.
@@ -84,17 +87,16 @@ MAKING CHANGES TO INCLHACK.DEF
     * bypass - Run a regex on the contents of the file being considered.
                No such regex may match.
 
-    * c_test - call a function in fixtests.c.  See that file.
+    * c-test - call a function in fixtests.c.  See that file.
 
-    The next two tests are relatively slow because they must be handled
-    in a separate shell process.  Some platforms do not support server
-    shells, so the whole process is even slower and more cumbersome there.
-
-    * mach   - Match the output of config.conf against a series of globbing
+    * mach   - Match the output of config.conf against a series of fnmatch
                patterns.  It must match at least one of the patterns, unless
-               "not-machine" has also been specified.  If that has been
-               specified, then the config.conf output may not match any of
-               the patterns.
+               "not-machine" has also been specified.  In that case, the
+               config.conf output must not match any of the patterns.
+
+    The next test is relatively slow because it must be handled in a
+    separate shell process.  Some platforms do not support server shells,
+    so the whole process is even slower and more cumbersome there.
 
     * test   - These should be arguments to the program, "/bin/test".
                You may perform multiple commands, if you enclose them
index f8941c3..7804df6 100644 (file)
@@ -23,6 +23,7 @@ Boston, MA 02110-1301, USA.  */
 
 #include "fixlib.h"
 
+#include <fnmatch.h>
 #include <sys/stat.h>
 #ifndef SEPARATE_FIX_PROC
 #include <sys/wait.h>
@@ -359,96 +360,31 @@ load_file ( const char* fname )
 
 static int
 machine_matches( tFixDesc* p_fixd )
-        {
-# ifndef SEPARATE_FIX_PROC
-          tSCC case_fmt[] = "case %s in\n";     /*  9 bytes, plus string */
-          tSCC esac_fmt[] =
-               " )\n    echo %s ;;\n* ) echo %s ;;\nesac";/*  4 bytes */
-          tSCC skip[] = "skip";                 /*  4 bytes */
-          tSCC run[] = "run";                   /*  3 bytes */
-          /* total bytes to add to machine sum:    49 - see fixincl.tpl */
-
-          const char **papz_machs = p_fixd->papz_machs;
-          char *pz;
-          const char *pz_sep = "";
-          tCC *pz_if_true;
-          tCC *pz_if_false;
-          char cmd_buf[ MACH_LIST_SIZE_LIMIT ]; /* size lim from fixincl.tpl */
-
-          /* Start the case statement */
-
-          sprintf (cmd_buf, case_fmt, pz_machine);
-          pz = cmd_buf + strlen (cmd_buf);
-
-          /*  Determine if a match means to apply the fix or not apply it */
-
-          if (p_fixd->fd_flags & FD_MACH_IFNOT)
-            {
-              pz_if_true  = skip;
-              pz_if_false = run;
-            }
-          else
-            {
-              pz_if_true  = run;
-              pz_if_false = skip;
-            }
-
-          /*  Emit all the machine names.  If there are more than one,
-              then we will insert " | \\\n" between the names  */
-
-          for (;;)
-            {
-              const char* pz_mach = *(papz_machs++);
-
-              if (pz_mach == (const char*) NULL)
-                break;
-              sprintf (pz, "%s%s", pz_sep, pz_mach);
-              pz += strlen (pz);
-              pz_sep = " | \\\n";
-            }
-
-          /* Now emit the match and not-match actions and the esac */
-
-          sprintf (pz, esac_fmt, pz_if_true, pz_if_false);
-
-          /*  Run the script.
-              The result will start either with 's' or 'r'.  */
-
-          {
-            int skip;
-            pz = run_shell (cmd_buf);
-            skip = (*pz == 's');
-            free ( (void*)pz );
-            if (skip)
-              {
-                p_fixd->fd_flags |= FD_SKIP_TEST;
-               return BOOL_FALSE;
-             }
-         }
+{
+  char const ** papz_machs = p_fixd->papz_machs;
+  int have_match = BOOL_FALSE;
 
-  return BOOL_TRUE;
-# else /* is SEPARATE_FIX_PROC */
-  const char **papz_machs = p_fixd->papz_machs;
-  int invert = (p_fixd->fd_flags & FD_MACH_IFNOT) != 0;
   for (;;)
     {
-      const char* pz_mach = *(papz_machs++);
-
-      if (pz_mach == (const char*) NULL)
+      char const * pz_mpat = *(papz_machs++);
+      if (pz_mpat == NULL)
         break;
-      if (strstr (pz_mach, "dos") != NULL && !invert)
-       return BOOL_TRUE;
+      if (fnmatch(pz_mpat, pz_machine, 0) == 0)
+        {
+          have_match = BOOL_TRUE;
+          break;
+        }
     }
 
-  p_fixd->fd_flags |= FD_SKIP_TEST;
-  return BOOL_FALSE;
-# endif
+  if (p_fixd->fd_flags & FD_MACH_IFNOT)
+    return ! have_match;
+  return have_match;
 }
 
 /* * * * * * * * * * * * *
-
-   run_compiles   run all the regexp compiles for all the fixes once.
  */
+ *
*  run_compiles   run all the regexp compiles for all the fixes once.
+ */
 void
 run_compiles (void)
 {
@@ -1074,11 +1010,11 @@ start_fixer (int read_fd, tFixDesc* p_fixd, char* pz_fix_file)
 
 
 /* * * * * * * * * * * * *
-
-   Process the potential fixes for a particular include file.
-   Input:  the original text of the file and the file's name
-   Result: none.  A new file may or may not be created.  */
-
+ *
*  Process the potential fixes for a particular include file.
*  Input:  the original text of the file and the file's name
+ *  Result: none.  A new file may or may not be created.
+ */
 static t_bool
 fix_applies (tFixDesc* p_fixd)
 {
@@ -1087,7 +1023,7 @@ fix_applies (tFixDesc* p_fixd)
   int test_ct;
   tTestDesc *p_test;
 
-# ifdef SEPARATE_FIX_PROC
+#ifdef SEPARATE_FIX_PROC
   /*
    *  There is only one fix that uses a shell script as of this writing.
    *  I hope to nuke it anyway, it does not apply to DOS and it would
@@ -1095,10 +1031,10 @@ fix_applies (tFixDesc* p_fixd)
    */
   if (p_fixd->fd_flags & (FD_SHELL_SCRIPT | FD_SKIP_TEST))
     return BOOL_FALSE;
-# else
+#else
   if (p_fixd->fd_flags & FD_SKIP_TEST)
     return BOOL_FALSE;
-# endif
+#endif
 
   /*  IF there is a file name restriction,
       THEN ensure the current file name matches one in the pattern  */
@@ -1113,17 +1049,11 @@ fix_applies (tFixDesc* p_fixd)
 
       for (;;)
         {
-          pz_scan = strstr (pz_scan + 1, pz_fname);
-          /*  IF we can't match the string at all,
-              THEN bail  */
-          if (pz_scan == (char *) NULL)
-            return BOOL_FALSE;
-
-          /*  IF the match is surrounded by the '|' markers,
-              THEN we found a full match -- time to run the tests  */
-
-          if ((pz_scan[-1] == '|') && (pz_scan[name_len] == '|'))
+          if (fnmatch (pz_scan, pz_fname, 0) == 0)
             break;
+          pz_scan += strlen (pz_scan) + 1;
+          if (*pz_scan == NUL)
+            return BOOL_FALSE;
         }
     }
 
index 420b11d..b4818aa 100644 (file)
@@ -2,7 +2,7 @@
 x=fixincl.x =]
 [= (dne " * " "/* ")=]
  */
-/* DO NOT CVS-MERGE THIS FILE, EITHER [=`date`=]
+/* DO NOT SVN-MERGE THIS FILE, EITHER [=`date`=]
  *
  * You must regenerate it.  Use the ./genfixes script.
  *
@@ -48,7 +48,7 @@ tSCC z[=(. Hack)=]Name[] =
 
   IF (exist? "files")=]
 tSCC z[=(. Hack)=]List[] =
-  "[=FOR files =]|[=files=][=ENDFOR=]|";[=
+  "[=  (join "\\0" (stack "files")) =]\0";[=
 
   ELSE =]
 #define z[=(. Hack)=]List (char*)NULL[=
@@ -73,7 +73,7 @@ tSCC* apz[=(. Hack)=]Machs[] = {[=
 
   ELSE =]
 #define apz[=(. Hack)=]Machs (const char**)NULL[=
-  ENDIF (exist? "files") =][=
+  ENDIF (exist? "mach") =][=
 
   IF (exist? "select")=]
 
index e1e1c38..6c080fa 100644 (file)
@@ -2,11 +2,11 @@
  * 
  * DO NOT EDIT THIS FILE   (fixincl.x)
  * 
- * It has been AutoGen-ed  Monday November  6, 2006 at 11:04:01 AM CET
+ * It has been AutoGen-ed  Saturday January  6, 2007 at 10:08:19 AM PST
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT CVS-MERGE THIS FILE, EITHER Mon Nov  6 11:04:01 CET 2006
+/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Jan  6 10:08:19 PST 2007
  *
  * You must regenerate it.  Use the ./genfixes script.
  *
@@ -26,7 +26,8 @@
  *  
  *  You may redistribute it and/or modify it under the terms of the
  *  GNU General Public License, as published by the Free Software
- *  Foundation; either version 2, or (at your option) any later version.
+ *  Foundation; either version 2 of the License, or (at your option)
+ *  any later version.
  *  
  *  inclhack is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  See the GNU General Public License for more details.
  *  
  *  You should have received a copy of the GNU General Public License
- *  along with inclhack.  See the file "COPYING".  If not,
- *  write to:  The Free Software Foundation, Inc.,
- *             59 Temple Place - Suite 330,
- *             Boston,  MA  02111-1307, USA.
+ *  along with inclhack.  If not, write to:
+ *     The Free Software Foundation, Inc.,
+ *     51 Franklin Street, Fifth Floor
+ *     Boston, MA  02110-1301, USA.
  */
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -51,7 +52,7 @@ tSCC zAab_Darwin7_9_Long_Double_FuncsName[] =
  *  File name selection pattern
  */
 tSCC zAab_Darwin7_9_Long_Double_FuncsList[] =
-  "|architecture/ppc/math.h|";
+  "architecture/ppc/math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -165,7 +166,7 @@ tSCC zAab_Darwin7_9_Long_Double_Funcs_2Name[] =
  *  File name selection pattern
  */
 tSCC zAab_Darwin7_9_Long_Double_Funcs_2List[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -203,7 +204,7 @@ tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
  *  File name selection pattern
  */
 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
-  "|asm/posix_types.h|";
+  "asm/posix_types.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -259,7 +260,7 @@ tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
  *  File name selection pattern
  */
 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
-  "|gnu/types.h|";
+  "gnu/types.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -303,7 +304,7 @@ tSCC zAab_Fd_Zero_Selectbits_HName[] =
  *  File name selection pattern
  */
 tSCC zAab_Fd_Zero_Selectbits_HList[] =
-  "|selectbits.h|";
+  "selectbits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -351,7 +352,7 @@ tSCC zAab_Solaris_Sys_Varargs_HName[] =
  *  File name selection pattern
  */
 tSCC zAab_Solaris_Sys_Varargs_HList[] =
-  "|sys/varargs.h|";
+  "sys/varargs.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -383,7 +384,7 @@ tSCC zAab_Sun_MemcpyName[] =
  *  File name selection pattern
  */
 tSCC zAab_Sun_MemcpyList[] =
-  "|memory.h|";
+  "memory.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -575,7 +576,7 @@ tSCC zAab_Ultrix_Ansi_CompatName[] =
  *  File name selection pattern
  */
 tSCC zAab_Ultrix_Ansi_CompatList[] =
-  "|ansi_compat.h|";
+  "ansi_compat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -609,7 +610,7 @@ tSCC zAab_Ultrix_LimitsName[] =
  *  File name selection pattern
  */
 tSCC zAab_Ultrix_LimitsList[] =
-  "|limits.h|";
+  "limits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -640,7 +641,7 @@ tSCC zAab_Ultrix_MemoryName[] =
  *  File name selection pattern
  */
 tSCC zAab_Ultrix_MemoryList[] =
-  "|memory.h|";
+  "memory.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -671,7 +672,7 @@ tSCC zAab_Ultrix_StringName[] =
  *  File name selection pattern
  */
 tSCC zAab_Ultrix_StringList[] =
-  "|string.h|";
+  "string.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -702,7 +703,7 @@ tSCC zAix_PthreadName[] =
  *  File name selection pattern
  */
 tSCC zAix_PthreadList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -739,7 +740,7 @@ tSCC zAix_SysmachineName[] =
  *  File name selection pattern
  */
 tSCC zAix_SysmachineList[] =
-  "|sys/machine.h|";
+  "sys/machine.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -774,7 +775,7 @@ tSCC zAix_SyswaitName[] =
  *  File name selection pattern
  */
 tSCC zAix_SyswaitList[] =
-  "|sys/wait.h|";
+  "sys/wait.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -813,7 +814,7 @@ tSCC zAix_Syswait_2Name[] =
  *  File name selection pattern
  */
 tSCC zAix_Syswait_2List[] =
-  "|sys/wait.h|";
+  "sys/wait.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -848,7 +849,7 @@ tSCC zAix_VolatileName[] =
  *  File name selection pattern
  */
 tSCC zAix_VolatileList[] =
-  "|sys/signal.h|";
+  "sys/signal.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -883,7 +884,7 @@ tSCC zAlpha___AssertName[] =
  *  File name selection pattern
  */
 tSCC zAlpha___AssertList[] =
-  "|assert.h|";
+  "assert.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -956,7 +957,7 @@ tSCC zAlpha___Extern_Prefix_StandardsName[] =
  *  File name selection pattern
  */
 tSCC zAlpha___Extern_Prefix_StandardsList[] =
-  "|standards.h|";
+  "standards.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -993,7 +994,7 @@ tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
  *  File name selection pattern
  */
 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
-  "|sys/stat.h|sys/mount.h|";
+  "sys/stat.h\0sys/mount.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1030,7 +1031,7 @@ tSCC zAlpha_AssertName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_AssertList[] =
-  "|assert.h|";
+  "assert.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1100,7 +1101,7 @@ tSCC zAlpha_GetoptName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_GetoptList[] =
-  "|stdio.h|stdlib.h|";
+  "stdio.h\0stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1135,7 +1136,7 @@ tSCC zAlpha_ParensName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_ParensList[] =
-  "|sym.h|";
+  "sym.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1170,7 +1171,7 @@ tSCC zAlpha_PthreadName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_PthreadList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1209,7 +1210,7 @@ tSCC zAlpha_Pthread_GccName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_Pthread_GccList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1249,7 +1250,7 @@ tSCC zAlpha_Pthread_InitName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_Pthread_InitList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1290,7 +1291,7 @@ tSCC zAlpha_SbrkName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_SbrkList[] =
-  "|unistd.h|";
+  "unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1325,7 +1326,7 @@ tSCC zAlpha_WcharName[] =
  *  File name selection pattern
  */
 tSCC zAlpha_WcharList[] =
-  "|wchar.h|";
+  "wchar.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1362,7 +1363,7 @@ tSCC zAvoid_Bool_DefineName[] =
  *  File name selection pattern
  */
 tSCC zAvoid_Bool_DefineList[] =
-  "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
+  "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1407,7 +1408,7 @@ tSCC zAvoid_Bool_TypeName[] =
  *  File name selection pattern
  */
 tSCC zAvoid_Bool_TypeList[] =
-  "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
+  "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1500,7 +1501,7 @@ tSCC zBad_Struct_TermName[] =
  *  File name selection pattern
  */
 tSCC zBad_Struct_TermList[] =
-  "|curses.h|";
+  "curses.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1535,7 +1536,7 @@ tSCC zBadquoteName[] =
  *  File name selection pattern
  */
 tSCC zBadquoteList[] =
-  "|sundev/vuid_event.h|";
+  "sundev/vuid_event.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1570,7 +1571,7 @@ tSCC zBroken_Assert_StdioName[] =
  *  File name selection pattern
  */
 tSCC zBroken_Assert_StdioList[] =
-  "|assert.h|";
+  "assert.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1612,7 +1613,7 @@ tSCC zBroken_Assert_StdlibName[] =
  *  File name selection pattern
  */
 tSCC zBroken_Assert_StdlibList[] =
-  "|assert.h|";
+  "assert.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1656,7 +1657,7 @@ tSCC zBroken_CabsName[] =
  *  File name selection pattern
  */
 tSCC zBroken_CabsList[] =
-  "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
+  "math.h\0architecture/*/math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1692,7 +1693,7 @@ tSCC zBroken_NanName[] =
  *  File name selection pattern
  */
 tSCC zBroken_NanList[] =
-  "|architecture/ppc/math.h|architecture/i386/math.h|";
+  "architecture/ppc/math.h\0architecture/*/math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1734,7 +1735,7 @@ tSCC zBsd_Stdio_Attrs_ConflictName[] =
  *  File name selection pattern
  */
 tSCC zBsd_Stdio_Attrs_ConflictList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1842,7 +1843,7 @@ tSCC zCxx_UnreadyName[] =
  *  File name selection pattern
  */
 tSCC zCxx_UnreadyList[] =
-  "|sys/mman.h|rpc/types.h|";
+  "sys/mman.h\0rpc/types.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1889,7 +1890,7 @@ tSCC zDarwin_Gcc4_BreakageName[] =
  *  File name selection pattern
  */
 tSCC zDarwin_Gcc4_BreakageList[] =
-  "|AvailabilityMacros.h|";
+  "AvailabilityMacros.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1926,7 +1927,7 @@ tSCC zDarwin_Private_ExternName[] =
  *  File name selection pattern
  */
 tSCC zDarwin_Private_ExternList[] =
-  "|mach-o/dyld.h|";
+  "mach-o/dyld.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -1964,7 +1965,7 @@ tSCC zDec_Intern_AsmName[] =
  *  File name selection pattern
  */
 tSCC zDec_Intern_AsmList[] =
-  "|c_asm.h|";
+  "c_asm.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2036,7 +2037,7 @@ tSCC zEcd_CursorName[] =
  *  File name selection pattern
  */
 tSCC zEcd_CursorList[] =
-  "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
+  "sunwindow/win_lock.h\0sunwindow/win_cursor.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2071,7 +2072,7 @@ tSCC zException_StructureName[] =
  *  File name selection pattern
  */
 tSCC zException_StructureList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2113,7 +2114,7 @@ tSCC zFreebsd_Gcc3_BreakageName[] =
  *  File name selection pattern
  */
 tSCC zFreebsd_Gcc3_BreakageList[] =
-  "|sys/cdefs.h|";
+  "sys/cdefs.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2157,7 +2158,7 @@ tSCC zFreebsd_Gcc4_BreakageName[] =
  *  File name selection pattern
  */
 tSCC zFreebsd_Gcc4_BreakageList[] =
-  "|sys/cdefs.h|";
+  "sys/cdefs.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2194,7 +2195,7 @@ tSCC zGlibc_C99_Inline_1Name[] =
  *  File name selection pattern
  */
 tSCC zGlibc_C99_Inline_1List[] =
-  "|features.h|";
+  "features.h\0*/features.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2229,7 +2230,7 @@ tSCC zGlibc_C99_Inline_2Name[] =
  *  File name selection pattern
  */
 tSCC zGlibc_C99_Inline_2List[] =
-  "|sys/stat.h|";
+  "sys/stat.h\0*/sys/stat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2274,7 +2275,7 @@ tSCC zGlibc_C99_Inline_3Name[] =
  *  File name selection pattern
  */
 tSCC zGlibc_C99_Inline_3List[] =
-  "|bits/string2.h|";
+  "bits/string2.h\0*/bits/string2.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2310,7 +2311,7 @@ tSCC zGlibc_C99_Inline_4Name[] =
  *  File name selection pattern
  */
 tSCC zGlibc_C99_Inline_4List[] =
-  "|sys/sysmacros.h|";
+  "sys/sysmacros.h\0*/sys/sysmacros.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2349,7 +2350,7 @@ tSCC zGlibc_Mutex_InitName[] =
  *  File name selection pattern
  */
 tSCC zGlibc_Mutex_InitList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2388,7 +2389,7 @@ tSCC zGnu_TypesName[] =
  *  File name selection pattern
  */
 tSCC zGnu_TypesList[] =
-  "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
+  "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2431,7 +2432,7 @@ tSCC zHp_InlineName[] =
  *  File name selection pattern
  */
 tSCC zHp_InlineList[] =
-  "|sys/spinlock.h|machine/machparam.h|";
+  "sys/spinlock.h\0machine/machparam.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2467,7 +2468,7 @@ tSCC zHp_SysfileName[] =
  *  File name selection pattern
  */
 tSCC zHp_SysfileList[] =
-  "|sys/file.h|";
+  "sys/file.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2503,7 +2504,7 @@ tSCC zHpux10_Cpp_Pow_InlineName[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Cpp_Pow_InlineList[] =
-  "|fixinc-test-limits.h|math.h|";
+  "fixinc-test-limits.h\0math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2545,7 +2546,7 @@ tSCC zHpux11_Cpp_Pow_InlineName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_Cpp_Pow_InlineList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2582,7 +2583,7 @@ tSCC zHpux10_Ctype_Declarations1Name[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Ctype_Declarations1List[] =
-  "|ctype.h|";
+  "ctype.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2631,7 +2632,7 @@ tSCC zHpux10_Ctype_Declarations2Name[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Ctype_Declarations2List[] =
-  "|ctype.h|";
+  "ctype.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2698,7 +2699,7 @@ tSCC zHpux10_Stdio_DeclarationsName[] =
  *  File name selection pattern
  */
 tSCC zHpux10_Stdio_DeclarationsList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2747,7 +2748,7 @@ tSCC zHpux11_AbsName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_AbsList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2784,7 +2785,7 @@ tSCC zHpux11_FabsfName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_FabsfList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2864,7 +2865,7 @@ tSCC zHpux11_SnprintfName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_SnprintfList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2899,7 +2900,7 @@ tSCC zHpux11_Uint32_CName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_Uint32_CList[] =
-  "|inttypes.h|";
+  "inttypes.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2934,7 +2935,7 @@ tSCC zHpux11_VsnprintfName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_VsnprintfList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -2969,7 +2970,7 @@ tSCC zHpux8_Bogus_InlinesName[] =
  *  File name selection pattern
  */
 tSCC zHpux8_Bogus_InlinesList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3013,7 +3014,7 @@ tSCC zHpux_Ctype_MacrosName[] =
  *  File name selection pattern
  */
 tSCC zHpux_Ctype_MacrosList[] =
-  "|ctype.h|";
+  "ctype.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3048,7 +3049,7 @@ tSCC zHpux_HtonlName[] =
  *  File name selection pattern
  */
 tSCC zHpux_HtonlList[] =
-  "|netinet/in.h|";
+  "netinet/in.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3088,7 +3089,7 @@ tSCC zHpux_Long_DoubleName[] =
  *  File name selection pattern
  */
 tSCC zHpux_Long_DoubleList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3130,7 +3131,7 @@ tSCC zHpux_SystimeName[] =
  *  File name selection pattern
  */
 tSCC zHpux_SystimeList[] =
-  "|sys/time.h|";
+  "sys/time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3165,7 +3166,7 @@ tSCC zHpux_Spu_InfoName[] =
  *  File name selection pattern
  */
 tSCC zHpux_Spu_InfoList[] =
-  "|ia64/sys/getppdp.h|";
+  "ia64/sys/getppdp.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3204,7 +3205,7 @@ tSCC zHpux11_Extern_SendfileName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_Extern_SendfileList[] =
-  "|sys/socket.h|";
+  "sys/socket.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3243,7 +3244,7 @@ tSCC zHpux11_Extern_SendpathName[] =
  *  File name selection pattern
  */
 tSCC zHpux11_Extern_SendpathList[] =
-  "|sys/socket.h|";
+  "sys/socket.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3282,7 +3283,7 @@ tSCC zHpux_Extern_ErrnoName[] =
  *  File name selection pattern
  */
 tSCC zHpux_Extern_ErrnoList[] =
-  "|errno.h|";
+  "errno.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3326,7 +3327,7 @@ tSCC zHpux_Pthread_InitializersName[] =
  *  File name selection pattern
  */
 tSCC zHpux_Pthread_InitializersList[] =
-  "|sys/pthread.h|";
+  "sys/pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3366,7 +3367,7 @@ tSCC zHuge_Val_HexName[] =
  *  File name selection pattern
  */
 tSCC zHuge_Val_HexList[] =
-  "|bits/huge_val.h|";
+  "bits/huge_val.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3408,7 +3409,7 @@ tSCC zHuge_Valf_HexName[] =
  *  File name selection pattern
  */
 tSCC zHuge_Valf_HexList[] =
-  "|bits/huge_val.h|";
+  "bits/huge_val.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3450,7 +3451,7 @@ tSCC zHuge_Vall_HexName[] =
  *  File name selection pattern
  */
 tSCC zHuge_Vall_HexList[] =
-  "|bits/huge_val.h|";
+  "bits/huge_val.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3492,7 +3493,7 @@ tSCC zInt_Abort_Free_And_ExitName[] =
  *  File name selection pattern
  */
 tSCC zInt_Abort_Free_And_ExitList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3602,7 +3603,7 @@ tSCC zIp_Missing_SemiName[] =
  *  File name selection pattern
  */
 tSCC zIp_Missing_SemiList[] =
-  "|netinet/ip.h|";
+  "netinet/ip.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3636,7 +3637,7 @@ tSCC zIrix___RestrictName[] =
  *  File name selection pattern
  */
 tSCC zIrix___RestrictList[] =
-  "|internal/sgimacros.h|";
+  "internal/sgimacros.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3676,7 +3677,7 @@ tSCC zIrix___Generic1Name[] =
  *  File name selection pattern
  */
 tSCC zIrix___Generic1List[] =
-  "|internal/math_core.h|";
+  "internal/math_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3718,7 +3719,7 @@ tSCC zIrix___Generic2Name[] =
  *  File name selection pattern
  */
 tSCC zIrix___Generic2List[] =
-  "|internal/math_core.h|";
+  "internal/math_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3758,7 +3759,7 @@ tSCC zIrix_Asm_ApostropheName[] =
  *  File name selection pattern
  */
 tSCC zIrix_Asm_ApostropheList[] =
-  "|sys/asm.h|";
+  "sys/asm.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3794,7 +3795,7 @@ tSCC zIrix_Limits_ConstName[] =
  *  File name selection pattern
  */
 tSCC zIrix_Limits_ConstList[] =
-  "|fixinc-test-limits.h|limits.h|";
+  "fixinc-test-limits.h\0limits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3829,7 +3830,7 @@ tSCC zIrix_Socklen_TName[] =
  *  File name selection pattern
  */
 tSCC zIrix_Socklen_TList[] =
-  "|sys/socket.h|";
+  "sys/socket.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3871,7 +3872,7 @@ tSCC zIrix_Stdio_Va_ListName[] =
  *  File name selection pattern
  */
 tSCC zIrix_Stdio_Va_ListList[] =
-  "|stdio.h|internal/stdio_core.h|";
+  "stdio.h\0internal/stdio_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3906,7 +3907,7 @@ tSCC zIrix_WcsftimeName[] =
  *  File name selection pattern
  */
 tSCC zIrix_WcsftimeList[] =
-  "|internal/wchar_core.h|";
+  "internal/wchar_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3945,7 +3946,7 @@ tSCC zIsc_FmodName[] =
  *  File name selection pattern
  */
 tSCC zIsc_FmodList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -3980,7 +3981,7 @@ tSCC zIsc_Omits_With_StdcName[] =
  *  File name selection pattern
  */
 tSCC zIsc_Omits_With_StdcList[] =
-  "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
+  "stdio.h\0math.h\0ctype.h\0sys/limits.h\0sys/fcntl.h\0sys/dirent.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4015,7 +4016,7 @@ tSCC zKandr_ConcatName[] =
  *  File name selection pattern
  */
 tSCC zKandr_ConcatList[] =
-  "|sparc/asm_linkage.h|sun3/asm_linkage.h|sun3x/asm_linkage.h|sun4/asm_linkage.h|sun4c/asm_linkage.h|sun4m/asm_linkage.h|sun4c/debug/asm_linkage.h|sun4m/debug/asm_linkage.h|arm/as_support.h|arm/mc_type.h|arm/xcb.h|dev/chardefmac.h|dev/ps_irq.h|dev/screen.h|dev/scsi.h|sys/tty.h|Xm.acorn/XmP.h|bsd43/bsd43_.h|";
+  "sparc/asm_linkage.h\0sun*/asm_linkage.h\0arm/as_support.h\0arm/mc_type.h\0arm/xcb.h\0dev/chardefmac.h\0dev/ps_irq.h\0dev/screen.h\0dev/scsi.h\0sys/tty.h\0Xm.acorn/XmP.h\0bsd43/bsd43_.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4050,7 +4051,7 @@ tSCC zLibc1_G_Va_ListName[] =
  *  File name selection pattern
  */
 tSCC zLibc1_G_Va_ListList[] =
-  "|_G_config.h|";
+  "_G_config.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4087,7 +4088,7 @@ tSCC zLibc1_Ifdefd_MemxName[] =
  *  File name selection pattern
  */
 tSCC zLibc1_Ifdefd_MemxList[] =
-  "|testing.h|string.h|";
+  "testing.h\0string.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4135,7 +4136,7 @@ tSCC zLinux_Ia64_UcontextName[] =
  *  File name selection pattern
  */
 tSCC zLinux_Ia64_UcontextList[] =
-  "|sys/ucontext.h|";
+  "sys/ucontext.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4172,7 +4173,7 @@ tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
  *  File name selection pattern
  */
 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
-  "|sys/time.h|";
+  "sys/time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4207,7 +4208,7 @@ tSCC zLynxos_Missing_PutenvName[] =
  *  File name selection pattern
  */
 tSCC zLynxos_Missing_PutenvList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4327,7 +4328,7 @@ tSCC zMath_ExceptionName[] =
  *  File name selection pattern
  */
 tSCC zMath_ExceptionList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4374,7 +4375,7 @@ tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
  *  File name selection pattern
  */
 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4419,7 +4420,7 @@ tSCC zNested_Auth_DesName[] =
  *  File name selection pattern
  */
 tSCC zNested_Auth_DesList[] =
-  "|rpc/rpc.h|";
+  "rpc/rpc.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4454,7 +4455,7 @@ tSCC zNested_MotorolaName[] =
  *  File name selection pattern
  */
 tSCC zNested_MotorolaList[] =
-  "|sys/limits.h|limits.h|";
+  "sys/limits.h\0limits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4491,7 +4492,7 @@ tSCC zNested_Sys_LimitsName[] =
  *  File name selection pattern
  */
 tSCC zNested_Sys_LimitsList[] =
-  "|sys/limits.h|";
+  "sys/limits.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4526,7 +4527,7 @@ tSCC zNetbsd_Extra_SemicolonName[] =
  *  File name selection pattern
  */
 tSCC zNetbsd_Extra_SemicolonList[] =
-  "|sys/cdefs.h|";
+  "sys/cdefs.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4563,7 +4564,7 @@ tSCC zNext_Math_PrefixName[] =
  *  File name selection pattern
  */
 tSCC zNext_Math_PrefixList[] =
-  "|ansi/math.h|";
+  "ansi/math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4599,7 +4600,7 @@ tSCC zNext_TemplateName[] =
  *  File name selection pattern
  */
 tSCC zNext_TemplateList[] =
-  "|bsd/libc.h|";
+  "bsd/libc.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4635,7 +4636,7 @@ tSCC zNext_VolitileName[] =
  *  File name selection pattern
  */
 tSCC zNext_VolitileList[] =
-  "|ansi/stdlib.h|";
+  "ansi/stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4671,7 +4672,7 @@ tSCC zNext_Wait_UnionName[] =
  *  File name selection pattern
  */
 tSCC zNext_Wait_UnionList[] =
-  "|sys/wait.h|";
+  "sys/wait.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4706,7 +4707,7 @@ tSCC zNodeent_SyntaxName[] =
  *  File name selection pattern
  */
 tSCC zNodeent_SyntaxList[] =
-  "|netdnet/dnetdb.h|";
+  "netdnet/dnetdb.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4741,7 +4742,7 @@ tSCC zObstack_Lvalue_CastName[] =
  *  File name selection pattern
  */
 tSCC zObstack_Lvalue_CastList[] =
-  "|obstack.h|";
+  "obstack.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4776,7 +4777,7 @@ tSCC zOsf_Namespace_AName[] =
  *  File name selection pattern
  */
 tSCC zOsf_Namespace_AList[] =
-  "|reg_types.h|sys/lc_core.h|";
+  "reg_types.h\0sys/lc_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4821,7 +4822,7 @@ tSCC zOsf_Namespace_CName[] =
  *  File name selection pattern
  */
 tSCC zOsf_Namespace_CList[] =
-  "|regex.h|";
+  "regex.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4875,7 +4876,7 @@ tSCC zPthread_Page_SizeName[] =
  *  File name selection pattern
  */
 tSCC zPthread_Page_SizeList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4910,7 +4911,7 @@ tSCC zPthread_Incomplete_Struct_ArgumentName[] =
  *  File name selection pattern
  */
 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4946,7 +4947,7 @@ tSCC zRead_Ret_TypeName[] =
  *  File name selection pattern
  */
 tSCC zRead_Ret_TypeList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -4983,7 +4984,7 @@ tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
  *  File name selection pattern
  */
 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
-  "|rpc/xdr.h|";
+  "rpc/xdr.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5019,7 +5020,7 @@ tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
  *  File name selection pattern
  */
 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
-  "|rpc/xdr.h|";
+  "rpc/xdr.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5055,7 +5056,7 @@ tSCC zRs6000_DoubleName[] =
  *  File name selection pattern
  */
 tSCC zRs6000_DoubleList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5093,7 +5094,7 @@ tSCC zRs6000_FchmodName[] =
  *  File name selection pattern
  */
 tSCC zRs6000_FchmodList[] =
-  "|sys/stat.h|";
+  "sys/stat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5128,7 +5129,7 @@ tSCC zRs6000_ParamName[] =
  *  File name selection pattern
  */
 tSCC zRs6000_ParamList[] =
-  "|stdio.h|unistd.h|";
+  "stdio.h\0unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5163,7 +5164,7 @@ tSCC zSco_MathName[] =
  *  File name selection pattern
  */
 tSCC zSco_MathList[] =
-  "|math.h|ansi/math.h|posix/math.h|xpg4/math.h|xpg4v2/math.h|xpg4plus/math.h|ods_30_compat/math.h|oldstyle/math.h|";
+  "math.h\0*/math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5217,7 +5218,7 @@ tSCC zSco_RegsetName[] =
  *  File name selection pattern
  */
 tSCC zSco_RegsetList[] =
-  "|sys/regset.h|";
+  "sys/regset.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5254,7 +5255,7 @@ tSCC zSco_Static_FuncName[] =
  *  File name selection pattern
  */
 tSCC zSco_Static_FuncList[] =
-  "|sys/stat.h|";
+  "sys/stat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5297,7 +5298,7 @@ tSCC zSco_UtimeName[] =
  *  File name selection pattern
  */
 tSCC zSco_UtimeList[] =
-  "|sys/times.h|";
+  "sys/times.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5334,7 +5335,7 @@ tSCC zSolaris_Math_1Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Math_1List[] =
-  "|iso/math_c99.h|";
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5377,7 +5378,7 @@ tSCC zSolaris_Math_2Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Math_2List[] =
-  "|iso/math_c99.h|";
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5420,7 +5421,7 @@ tSCC zSolaris_Math_3Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Math_3List[] =
-  "|iso/math_c99.h|";
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5463,7 +5464,7 @@ tSCC zSolaris_Math_4Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Math_4List[] =
-  "|iso/math_c99.h|";
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5516,7 +5517,7 @@ tSCC zSolaris_Math_5Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Math_5List[] =
-  "|iso/math_c99.h|";
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5561,7 +5562,7 @@ tSCC zSolaris_Math_6Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Math_6List[] =
-  "|iso/math_c99.h|";
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5606,7 +5607,7 @@ tSCC zSolaris_Math_7Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Math_7List[] =
-  "|iso/math_c99.h|";
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5657,7 +5658,7 @@ tSCC zSolaris_Math_8Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Math_8List[] =
-  "|iso/math_c99.h|";
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5704,7 +5705,7 @@ tSCC zSolaris_Math_9Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Math_9List[] =
-  "|iso/math_c99.h|";
+  "iso/math_c99.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5747,7 +5748,7 @@ tSCC zSolaris_Mutex_Init_1Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Mutex_Init_1List[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5782,7 +5783,7 @@ tSCC zSolaris_Mutex_Init_2Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Mutex_Init_2List[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5826,7 +5827,7 @@ tSCC zSolaris_Rwlock_Init_1Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Rwlock_Init_1List[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5868,7 +5869,7 @@ tSCC zSolaris_Once_Init_1Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Once_Init_1List[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5906,7 +5907,7 @@ tSCC zSolaris_Once_Init_2Name[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Once_Init_2List[] =
-  "|pthread.h|";
+  "pthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5949,7 +5950,7 @@ tSCC zSolaris_SocketName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_SocketList[] =
-  "|sys/socket.h|";
+  "sys/socket.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -5985,7 +5986,7 @@ tSCC zSolaris_Stdio_TagName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_Stdio_TagList[] =
-  "|stdio_tag.h|";
+  "stdio_tag.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6026,7 +6027,7 @@ tSCC zSolaris_UnistdName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_UnistdList[] =
-  "|unistd.h|";
+  "unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6070,7 +6071,7 @@ tSCC zSolaris_WidecName[] =
  *  File name selection pattern
  */
 tSCC zSolaris_WidecList[] =
-  "|widec.h|";
+  "widec.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6116,7 +6117,7 @@ tSCC zStatsswtchName[] =
  *  File name selection pattern
  */
 tSCC zStatsswtchList[] =
-  "|rpcsvc/rstat.h|";
+  "rpcsvc/rstat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6151,7 +6152,7 @@ tSCC zStdio_Stdarg_HName[] =
  *  File name selection pattern
  */
 tSCC zStdio_Stdarg_HList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6189,7 +6190,7 @@ tSCC zStdio_Va_ListName[] =
  *  File name selection pattern
  */
 tSCC zStdio_Va_ListList[] =
-  "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
+  "stdio.h\0internal/stdio_core.h\0internal/wchar_core.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6238,7 +6239,7 @@ tSCC zStdio_Va_List_ClientsName[] =
  *  File name selection pattern
  */
 tSCC zStdio_Va_List_ClientsList[] =
-  "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
+  "com_err.h\0cps.h\0curses.h\0krb5.h\0lc_core.h\0pfmt.h\0wchar.h\0curses_colr/curses.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6338,7 +6339,7 @@ tSCC zStrict_Ansi_Not_CtdName[] =
  *  File name selection pattern
  */
 tSCC zStrict_Ansi_Not_CtdList[] =
-  "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
+  "math.h\0limits.h\0stdio.h\0signal.h\0stdlib.h\0sys/signal.h\0time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6419,7 +6420,7 @@ tSCC zStruct_FileName[] =
  *  File name selection pattern
  */
 tSCC zStruct_FileList[] =
-  "|rpc/xdr.h|";
+  "rpc/xdr.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6455,7 +6456,7 @@ tSCC zStruct_SockaddrName[] =
  *  File name selection pattern
  */
 tSCC zStruct_SockaddrList[] =
-  "|rpc/auth.h|";
+  "rpc/auth.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6501,7 +6502,7 @@ tSCC zSun_Auth_ProtoName[] =
  *  File name selection pattern
  */
 tSCC zSun_Auth_ProtoList[] =
-  "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
+  "rpc/auth.h\0rpc/clnt.h\0rpc/svc.h\0rpc/xdr.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6548,7 +6549,7 @@ tSCC zSun_Bogus_IfdefName[] =
  *  File name selection pattern
  */
 tSCC zSun_Bogus_IfdefList[] =
-  "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
+  "hsfs/hsfs_spec.h\0hsfs/iso_spec.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6583,7 +6584,7 @@ tSCC zSun_CatmacroName[] =
  *  File name selection pattern
  */
 tSCC zSun_CatmacroList[] =
-  "|pixrect/memvar.h|";
+  "pixrect/memvar.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6622,7 +6623,7 @@ tSCC zSun_MallocName[] =
  *  File name selection pattern
  */
 tSCC zSun_MallocList[] =
-  "|malloc.h|";
+  "malloc.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6660,7 +6661,7 @@ tSCC zSun_Rusers_SemiName[] =
  *  File name selection pattern
  */
 tSCC zSun_Rusers_SemiList[] =
-  "|rpcsvc/rusers.h|";
+  "rpcsvc/rusers.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6694,7 +6695,7 @@ tSCC zSun_SignalName[] =
  *  File name selection pattern
  */
 tSCC zSun_SignalList[] =
-  "|sys/signal.h|signal.h|";
+  "sys/signal.h\0signal.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6733,7 +6734,7 @@ tSCC zSunos_StrlenName[] =
  *  File name selection pattern
  */
 tSCC zSunos_StrlenList[] =
-  "|strings.h|";
+  "strings.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6768,7 +6769,7 @@ tSCC zSvr4_Disable_OptName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_Disable_OptList[] =
-  "|string.h|";
+  "string.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6802,7 +6803,7 @@ tSCC zSvr4_GetcwdName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_GetcwdList[] =
-  "|stdlib.h|unistd.h|prototypes.h|";
+  "stdlib.h\0unistd.h\0prototypes.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6837,7 +6838,7 @@ tSCC zSvr4_KrnlName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_KrnlList[] =
-  "|fs/rfs/rf_cache.h|sys/erec.h|sys/err.h|sys/char.h|sys/getpages.h|sys/map.h|sys/cmn_err.h|sys/kdebugger.h|";
+  "fs/rfs/rf_cache.h\0sys/erec.h\0sys/err.h\0sys/char.h\0sys/getpages.h\0sys/map.h\0sys/cmn_err.h\0sys/kdebugger.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6876,7 +6877,7 @@ tSCC zSvr4_ProfilName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_ProfilList[] =
-  "|stdlib.h|unistd.h|";
+  "stdlib.h\0unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6918,7 +6919,7 @@ tSCC zSvr4_Sighandler_TypeName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_Sighandler_TypeList[] =
-  "|sys/signal.h|";
+  "sys/signal.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6953,7 +6954,7 @@ tSCC zSvr4_Undeclared_GetrngeName[] =
  *  File name selection pattern
  */
 tSCC zSvr4_Undeclared_GetrngeList[] =
-  "|regexp.h|";
+  "regexp.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -6997,7 +6998,7 @@ tSCC zSysv68_StringName[] =
  *  File name selection pattern
  */
 tSCC zSysv68_StringList[] =
-  "|testing.h|string.h|";
+  "testing.h\0string.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7041,7 +7042,7 @@ tSCC zSysz_Stdlib_For_SunName[] =
  *  File name selection pattern
  */
 tSCC zSysz_Stdlib_For_SunList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7083,7 +7084,7 @@ tSCC zThread_KeywordName[] =
  *  File name selection pattern
  */
 tSCC zThread_KeywordList[] =
-  "|pthread.h|bits/sigthread.h|";
+  "pthread.h\0bits/sigthread.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7118,7 +7119,7 @@ tSCC zTinfo_CplusplusName[] =
  *  File name selection pattern
  */
 tSCC zTinfo_CplusplusList[] =
-  "|tinfo.h|";
+  "tinfo.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7153,7 +7154,7 @@ tSCC zUltrix_Atexit_ParamName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Atexit_ParamList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7188,7 +7189,7 @@ tSCC zUltrix_Atof_ParamName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Atof_ParamList[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7223,7 +7224,7 @@ tSCC zUltrix_ConstName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_ConstList[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7259,7 +7260,7 @@ tSCC zUltrix_Const2Name[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Const2List[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7295,7 +7296,7 @@ tSCC zUltrix_Const3Name[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Const3List[] =
-  "|stdio.h|";
+  "stdio.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7331,7 +7332,7 @@ tSCC zUltrix_Fix_FixprotoName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Fix_FixprotoList[] =
-  "|sys/utsname.h|";
+  "sys/utsname.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7368,7 +7369,7 @@ tSCC zUltrix_IfdefName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_IfdefList[] =
-  "|sys/file.h|";
+  "sys/file.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7403,7 +7404,7 @@ tSCC zUltrix_LocaleName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_LocaleList[] =
-  "|locale.h|";
+  "locale.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7437,7 +7438,7 @@ tSCC zUltrix_Math_IfdefName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Math_IfdefList[] =
-  "|sys/limits.h|float.h|math.h|";
+  "sys/limits.h\0float.h\0math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7472,7 +7473,7 @@ tSCC zUltrix_Nested_IoctlName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Nested_IoctlList[] =
-  "|sys/ioctl.h|";
+  "sys/ioctl.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7506,7 +7507,7 @@ tSCC zUltrix_Nested_SvcName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Nested_SvcList[] =
-  "|rpc/svc.h|";
+  "rpc/svc.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7540,7 +7541,7 @@ tSCC zUltrix_StatName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StatList[] =
-  "|sys/stat.h|";
+  "sys/stat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7579,7 +7580,7 @@ tSCC zUltrix_StaticName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StaticList[] =
-  "|machine/cpu.h|";
+  "machine/cpu.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7615,7 +7616,7 @@ tSCC zUltrix_StdlibName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StdlibList[] =
-  "|stdlib.h|";
+  "stdlib.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7656,7 +7657,7 @@ tSCC zUltrix_StringsName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_StringsList[] =
-  "|strings.h|";
+  "strings.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7690,7 +7691,7 @@ tSCC zUltrix_Strings2Name[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Strings2List[] =
-  "|strings.h|";
+  "strings.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7732,7 +7733,7 @@ tSCC zUltrix_Sys_TimeName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_Sys_TimeList[] =
-  "|sys/time.h|";
+  "sys/time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7786,7 +7787,7 @@ tSCC zUltrix_UnistdName[] =
  *  File name selection pattern
  */
 tSCC zUltrix_UnistdList[] =
-  "|unistd.h|";
+  "unistd.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7823,7 +7824,7 @@ tSCC zUnicosmk_RestrictName[] =
  *  File name selection pattern
  */
 tSCC zUnicosmk_RestrictList[] =
-  "|stdio.h|stdlib.h|wchar.h|";
+  "stdio.h\0stdlib.h\0wchar.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7860,7 +7861,7 @@ tSCC zUw7_Byteorder_FixName[] =
  *  File name selection pattern
  */
 tSCC zUw7_Byteorder_FixList[] =
-  "|arpa/inet.h|";
+  "arpa/inet.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7910,7 +7911,7 @@ tSCC zVa_I960_MacroName[] =
  *  File name selection pattern
  */
 tSCC zVa_I960_MacroList[] =
-  "|arch/i960/archI960.h|";
+  "arch/i960/archI960.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7945,7 +7946,7 @@ tSCC zVoid_NullName[] =
  *  File name selection pattern
  */
 tSCC zVoid_NullList[] =
-  "|curses.h|dbm.h|locale.h|stdio.h|stdlib.h|string.h|time.h|unistd.h|sys/dir.h|sys/param.h|sys/types.h|";
+  "curses.h\0dbm.h\0locale.h\0stdio.h\0stdlib.h\0string.h\0time.h\0unistd.h\0sys/dir.h\0sys/param.h\0sys/types.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -7987,7 +7988,7 @@ tSCC zVxworks_Gcc_ProblemName[] =
  *  File name selection pattern
  */
 tSCC zVxworks_Gcc_ProblemList[] =
-  "|types/vxTypesBase.h|";
+  "types/vxTypesBase.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -8036,7 +8037,7 @@ tSCC zVxworks_Needs_VxtypesName[] =
  *  File name selection pattern
  */
 tSCC zVxworks_Needs_VxtypesList[] =
-  "|time.h|";
+  "time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -8071,7 +8072,7 @@ tSCC zVxworks_Needs_VxworksName[] =
  *  File name selection pattern
  */
 tSCC zVxworks_Needs_VxworksList[] =
-  "|sys/stat.h|";
+  "sys/stat.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -8119,7 +8120,7 @@ tSCC zVxworks_TimeName[] =
  *  File name selection pattern
  */
 tSCC zVxworks_TimeList[] =
-  "|time.h|";
+  "time.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -8169,7 +8170,7 @@ tSCC zWindiss_Math1Name[] =
  *  File name selection pattern
  */
 tSCC zWindiss_Math1List[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -8197,7 +8198,7 @@ tSCC zWindiss_Math2Name[] =
  *  File name selection pattern
  */
 tSCC zWindiss_Math2List[] =
-  "|math.h|";
+  "math.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -8260,7 +8261,7 @@ tSCC zX11_ClassName[] =
  *  File name selection pattern
  */
 tSCC zX11_ClassList[] =
-  "|X11/ShellP.h|";
+  "X11/ShellP.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -8306,7 +8307,7 @@ tSCC zX11_Class_UsageName[] =
  *  File name selection pattern
  */
 tSCC zX11_Class_UsageList[] =
-  "|Xm/BaseClassI.h|";
+  "Xm/BaseClassI.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -8348,7 +8349,7 @@ tSCC zX11_NewName[] =
  *  File name selection pattern
  */
 tSCC zX11_NewList[] =
-  "|Xm/Traversal.h|";
+  "Xm/Traversal.h\0";
 /*
  *  Machine/OS name selection pattern
  */
@@ -8388,7 +8389,7 @@ tSCC zX11_SprintfName[] =
  *  File name selection pattern
  */
 tSCC zX11_SprintfList[] =
-  "|X11/Xmu.h|X11/Xmu/Xmu.h|";
+  "X11/Xmu.h\0X11/Xmu/Xmu.h\0";
 /*
  *  Machine/OS name selection pattern
  */
index 043f8db..c52e4a0 100644 (file)
@@ -1028,9 +1028,7 @@ fix = {
  */
 fix = {
     hackname = broken_cabs;
-    files    = "math.h";
-    files    = "architecture/ppc/math.h";
-    files    = "architecture/i386/math.h";
+    files    = math.h, "architecture/*/math.h";
     select   = "^extern[ \t]+double[ \t]+cabs";
 
     c_fix     = format;
@@ -1054,8 +1052,14 @@ fix = {
     
 fix = {
     hackname  = broken_nan;
+    /*
+     *  It is tempting to omit the first "files" entry.  Do not.
+     *  The testing machinery will take the first "files" entry as the name
+     *  of a test file to play with.  It would be a nuisance to have a directory
+     *  with the name "*".
+     */
     files     = "architecture/ppc/math.h";
-    files     = "architecture/i386/math.h";
+    files     = "architecture/*/math.h";
     select    = "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)";
     bypass    = "powl";
     c_fix     = format; 
@@ -1294,7 +1298,7 @@ fix = {
  */
 fix = {
     hackname  = glibc_c99_inline_1;
-    files     = features.h;
+    files     = features.h, '*/features.h';
     select    = "^ *&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__$";
     c_fix     = format;
     c_fix_arg = "%0 && __STDC_VERSION__ < 199901L";
@@ -1314,7 +1318,7 @@ EOT;
  */
 fix = {
     hackname  = glibc_c99_inline_2;
-    files     = sys/stat.h;
+    files     = sys/stat.h, '*/sys/stat.h';
     select    = "extern __inline__ int";
     sed              = "s/extern int \\(stat\\|lstat\\|fstat\\|mknod\\)/"
                "#if __STDC_VERSION__ < 199901L\\\nextern\\\n#endif\\\n"
@@ -1336,7 +1340,7 @@ EOT;
 
 fix = {
     hackname  = glibc_c99_inline_3;
-    files     = bits/string2.h;
+    files     = bits/string2.h, '*/bits/string2.h';
     bypass    = "__STDC_VERSION__";
     c_fix     = format;
     c_fix_arg = "# if defined(__cplusplus) || __STDC_VERSION__ >= 19901L";
@@ -1353,7 +1357,7 @@ EOT;
 
 fix = {
     hackname  = glibc_c99_inline_4;
-    files     = sys/sysmacros.h;
+    files     = sys/sysmacros.h, '*/sys/sysmacros.h';
     bypass    = "__STDC_VERSION__";
     c_fix     = format;
     c_fix_arg = "\n#if __STDC_VERSION__ < 19901L\nextern\n#endif\n";
@@ -2250,13 +2254,7 @@ fix = {
 fix = {
     hackname = kandr_concat;
     files  = "sparc/asm_linkage.h";
-    files  = "sun3/asm_linkage.h";
-    files  = "sun3x/asm_linkage.h";
-    files  = "sun4/asm_linkage.h";
-    files  = "sun4c/asm_linkage.h";
-    files  = "sun4m/asm_linkage.h";
-    files  = "sun4c/debug/asm_linkage.h";
-    files  = "sun4m/debug/asm_linkage.h";
+    files  = "sun*/asm_linkage.h";
     files  = "arm/as_support.h";
     files  = "arm/mc_type.h";
     files  = "arm/xcb.h";
@@ -2851,14 +2849,7 @@ fix = {
  */
 fix = {
     hackname = sco_math;
-    files    = math.h;
-    files    = ansi/math.h;
-    files    = posix/math.h;
-    files    = xpg4/math.h;
-    files    = xpg4v2/math.h;
-    files    = xpg4plus/math.h;
-    files    = ods_30_compat/math.h;
-    files    = oldstyle/math.h;
+    files    = math.h, '*/math.h';
     select   = "inline double abs";
     bypass   = "__GNUG__";
     sed      = "/#define.*__fp_class(a) \\\\/i\\\n"