MCPcopy Create free account
hub / github.com/Meituan-Dianping/SQLAdvisor / make_new_set

Function make_new_set

extra/replace.c:701–736  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

699}
700
701static REP_SET *make_new_set(REP_SETS *sets)
702{
703 uint i,count,*bit_buffer;
704 REP_SET *set;
705 if (sets->extra)
706 {
707 sets->extra--;
708 set=sets->set+ sets->count++;
709 memset(set->bits, 0, sizeof(uint)*sets->size_of_bits);
710 memset(&set->next[0], 0, sizeof(set->next[0])*LAST_CHAR_CODE);
711 set->found_offset=0;
712 set->found_len=0;
713 set->table_offset= (uint) ~0;
714 set->size_of_bits=sets->size_of_bits;
715 return set;
716 }
717 count=sets->count+sets->invisible+SET_MALLOC_HUNC;
718 if (!(set=(REP_SET*) my_realloc((uchar*) sets->set_buffer,
719 sizeof(REP_SET)*count,
720 MYF(MY_WME))))
721 return 0;
722 sets->set_buffer=set;
723 sets->set=set+sets->invisible;
724 if (!(bit_buffer=(uint*) my_realloc((uchar*) sets->bit_buffer,
725 (sizeof(uint)*sets->size_of_bits)*count,
726 MYF(MY_WME))))
727 return 0;
728 sets->bit_buffer=bit_buffer;
729 for (i=0 ; i < count ; i++)
730 {
731 sets->set_buffer[i].bits=bit_buffer;
732 bit_buffer+=sets->size_of_bits;
733 }
734 sets->extra=SET_MALLOC_HUNC;
735 return make_new_set(sets);
736}
737
738static void free_last_set(REP_SETS *sets)
739{

Callers 1

init_replaceFunction · 0.85

Calls 1

my_reallocFunction · 0.85

Tested by

no test coverage detected