X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fregex.c;h=04e92a8bdd33ae0ec6e98fcdb49c32a53998d36d;hb=512ba8f4f8cd29b154fc3ddf064276f0db9fd294;hp=abab97412fa5843f399500e5f996652939e10491;hpb=7bf62aa2b513ee6355b8deefb7214a38c22f07cd;p=gnulib.git diff --git a/lib/regex.c b/lib/regex.c index abab97412..04e92a8bd 100644 --- a/lib/regex.c +++ b/lib/regex.c @@ -1241,20 +1241,22 @@ typedef union /* Call this when have matched a real character; it sets `matched' flags for the subexpressions which we are currently inside. Also records that those subexprs have matched. */ -#define SET_REGS_MATCHED() \ - if (!set_regs_matched_done) \ - { \ - unsigned r; \ - set_regs_matched_done = 1; \ - for (r = lowest_active_reg; r <= highest_active_reg; r++) \ - { \ - MATCHED_SOMETHING (reg_info[r]) \ - = EVER_MATCHED_SOMETHING (reg_info[r]) \ - = 1; \ - } \ - } \ - else - +#define SET_REGS_MATCHED() \ + do \ + { \ + if (!set_regs_matched_done) \ + { \ + unsigned r; \ + set_regs_matched_done = 1; \ + for (r = lowest_active_reg; r <= highest_active_reg; r++) \ + { \ + MATCHED_SOMETHING (reg_info[r]) \ + = EVER_MATCHED_SOMETHING (reg_info[r]) \ + = 1; \ + } \ + } \ + } \ + while (0) /* Registers are set to a sentinel when they haven't yet matched. */ static char reg_unset_dummy;