use #def constant for sub-pattern count

From-SVN: r33961
This commit is contained in:
Bruce Korb 2000-05-17 16:31:57 +00:00 committed by Bruce Korb
parent 5e36475b82
commit 3f69bd930c
2 changed files with 13 additions and 8 deletions

View 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

View 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