static void brk_shot_reuse (BrkShot *dst, const BrkShot *src) { trie_state_copy (dst->dict_state, src->dict_state); dst->str_pos = src->str_pos; if (dst->n_brk_pos < src->n_brk_pos) { dst->brk_pos = (int *) realloc (dst->brk_pos, src->n_brk_pos * sizeof (int)); } memcpy (dst->brk_pos, src->brk_pos, src->cur_brk_pos * sizeof (int)); dst->n_brk_pos = src->n_brk_pos; dst->cur_brk_pos = src->cur_brk_pos; dst->penalty = src->penalty; }
void ATTrie :: savePosition(ATTrie :: Position dst, ATTrie :: Position src) { trie_state_copy((TrieState*)dst, (TrieState*)src); }