From bdecd73e1a795cfc227e94f9a1b05089dd9f7f5b Mon Sep 17 00:00:00 2001
From: unknown <ram@gw.mysql.r18.ru>
Date: Tue, 1 Feb 2005 18:35:09 +0400
Subject: [PATCH] A fix (bug #7971: set_bit/clear_bit names conflict w/Linux
 kernel headers >= 2.6.9-rcxx)

extra/replace.c:
  A fix (bug #7971: set_bit/clear_bit names conflict w/Linux kernel headers >= 2.6.9-rcxx)
  set_bit replaced with internal_set_bit
  clear_bit replaced with internal_clear_bit
---
 extra/replace.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/extra/replace.c b/extra/replace.c
index 5444f443382..706d4941768 100644
--- a/extra/replace.c
+++ b/extra/replace.c
@@ -376,8 +376,8 @@ static REP_SET *make_new_set(REP_SETS *sets);
 static void make_sets_invisible(REP_SETS *sets);
 static void free_last_set(REP_SETS *sets);
 static void free_sets(REP_SETS *sets);
-static void set_bit(REP_SET *set, uint bit);
-static void clear_bit(REP_SET *set, uint bit);
+static void internal_set_bit(REP_SET *set, uint bit);
+static void internal_clear_bit(REP_SET *set, uint bit);
 static void or_bits(REP_SET *to,REP_SET *from);
 static void copy_bits(REP_SET *to,REP_SET *from);
 static int cmp_bits(REP_SET *set1,REP_SET *set2);
@@ -454,7 +454,7 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count,
   {
     if (from[i][0] == '\\' && from[i][1] == '^')
     {
-      set_bit(start_states,states+1);
+      internal_set_bit(start_states,states+1);
       if (!from[i][2])
       {
 	start_states->table_offset=i;
@@ -463,8 +463,8 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count,
     }
     else if (from[i][0] == '\\' && from[i][1] == '$')
     {
-      set_bit(start_states,states);
-      set_bit(word_states,states);
+      internal_set_bit(start_states,states);
+      internal_set_bit(word_states,states);
       if (!from[i][2] && start_states->table_offset == (uint) ~0)
       {
 	start_states->table_offset=i;
@@ -473,11 +473,11 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count,
     }
     else
     {
-      set_bit(word_states,states);
+      internal_set_bit(word_states,states);
       if (from[i][0] == '\\' && (from[i][1] == 'b' && from[i][2]))
-	set_bit(start_states,states+1);
+	internal_set_bit(start_states,states+1);
       else
-	set_bit(start_states,states);
+	internal_set_bit(start_states,states);
     }
     for (pos=from[i], len=0; *pos ; pos++)
     {
@@ -583,9 +583,9 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count,
 		follow[i].len > found_end)
 	      found_end=follow[i].len;
 	    if (chr && follow[i].chr)
-	      set_bit(new_set,i+1);		/* To next set */
+	      internal_set_bit(new_set,i+1);		/* To next set */
 	    else
-	      set_bit(new_set,i);
+	      internal_set_bit(new_set,i);
 	  }
 	}
 	if (found_end)
@@ -602,7 +602,7 @@ REPLACE *init_replace(my_string *from, my_string *to,uint count,
 	    if (follow[bit_nr-1].len < found_end ||
 		(new_set->found_len &&
 		 (chr == 0 || !follow[bit_nr].chr)))
-	      clear_bit(new_set,i);
+	      internal_clear_bit(new_set,i);
 	    else
 	    {
 	      if (chr == 0 || !follow[bit_nr].chr)
@@ -751,13 +751,13 @@ static void free_sets(REP_SETS *sets)
   return;
 }
 
-static void set_bit(REP_SET *set, uint bit)
+static void internal_set_bit(REP_SET *set, uint bit)
 {
   set->bits[bit / WORD_BIT] |= 1 << (bit % WORD_BIT);
   return;
 }
 
-static void clear_bit(REP_SET *set, uint bit)
+static void internal_clear_bit(REP_SET *set, uint bit)
 {
   set->bits[bit / WORD_BIT] &= ~ (1 << (bit % WORD_BIT));
   return;
-- 
2.30.9