OSDN Git Service

use #def constant for sub-pattern count
authorkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 May 2000 16:31:57 +0000 (16:31 +0000)
committerkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 May 2000 16:31:57 +0000 (16:31 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33961 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/fixinc/fixfixes.c

index f3e232b..e526541 100644 (file)
@@ -7,7 +7,9 @@
 
        * fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE
        * fixinc/server.c: likewise
-       * fixinc/fixfixes.c( char_macro_def_fix ): fix regex + #ifdef debugging code
+       * fixinc/fixfixes.c( char_macro_def_fix ): fix regex
+       + #ifdef debugging code + use #def constant for
+       sub-pattern count
        * fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping
        on C++ math namespace
 
index 68ce227..1f81d6a 100644 (file)
@@ -296,11 +296,12 @@ FIX_PROC_HEAD( char_macro_use_fix )
 #endif
     ;
 
+# define SUB_PAT_CT 1
   char *pz_pat;
 
   static regex_t re;
 
-  regmatch_t rm[2];
+  regmatch_t rm[SUB_PAT_CT+1];
 
   if (p_fixd->patch_args[1] == NULL)
     {
@@ -316,10 +317,10 @@ FIX_PROC_HEAD( char_macro_use_fix )
       exit(3);
     }
 
-  compile_re (pz_pat, &re, 2, "macro pattern", "char_macro_use_fix");
+  compile_re (pz_pat, &re, 1, "macro pattern", "char_macro_use_fix");
   free (pz_pat);
 
-  while (regexec (&re, text, 3, rm, 0) == 0)
+  while (regexec (&re, text, SUB_PAT_CT+1, rm, 0) == 0)
     {
       const char* pz = text + rm[1].rm_so;
 
@@ -334,6 +335,7 @@ FIX_PROC_HEAD( char_macro_use_fix )
     }
 
   fputs (text, stdout);
+# undef SUB_PAT_CT
 }
 
 
@@ -382,8 +384,8 @@ FIX_PROC_HEAD( char_macro_def_fix )
   char *pz_pat;
 
   static regex_t re;
-
-  regmatch_t rm[3];
+# define SUB_PAT_CT 2
+  regmatch_t rm[SUB_PAT_CT+1];
   const char *p;
   int  rerr;
 
@@ -404,7 +406,7 @@ FIX_PROC_HEAD( char_macro_def_fix )
   compile_re (pz_pat, &re, 1, "macro pattern", "char_macro_def_fix");
 
 #ifdef DEBUG
-  if ((rerr = regexec (&re, text, 3, rm, 0)) != 0)
+  if ((rerr = regexec (&re, text, SUB_PAT_CT+1, rm, 0)) != 0)
     {
       fprintf( stderr, "Match error %d:\n%s\n", rerr, pz_pat );
       exit(3);
@@ -413,7 +415,7 @@ FIX_PROC_HEAD( char_macro_def_fix )
 
   free (pz_pat);
   
-  while ((rerr = regexec (&re, text, 3, rm, 0)) == 0)
+  while ((rerr = regexec (&re, text, SUB_PAT_CT+1, rm, 0)) == 0)
     {
       const char* pz = text + rm[2].rm_so;
 
@@ -450,6 +452,7 @@ FIX_PROC_HEAD( char_macro_def_fix )
    *  Emit the rest of the text
    */
   fputs (text, stdout);
+# undef SUB_PAT_CT
 }
 
 /* Fix for machine name #ifdefs that are not in the namespace reserved