current_src = xbt_dynar_get_ptr(path_src, index_src);
current_dst = xbt_dynar_get_ptr(path_dst, index_dst);
while (index_src >= 0 && index_dst >= 0 && *current_src == *current_dst) {
current_src = xbt_dynar_get_ptr(path_src, index_src);
current_dst = xbt_dynar_get_ptr(path_dst, index_dst);
while (index_src >= 0 && index_dst >= 0 && *current_src == *current_dst) {
xbt_dynar_free(&(*elem)->re_str_link);
pcre_free((*elem)->re_src);
pcre_free((*elem)->re_dst);
xbt_dynar_free(&(*elem)->re_str_link);
pcre_free((*elem)->re_src);
pcre_free((*elem)->re_dst);
pcre_free((*elem)->generic_rule_route.re_dst);
xbt_free((*elem)->re_src_gateway);
xbt_free((*elem)->re_dst_gateway);
pcre_free((*elem)->generic_rule_route.re_dst);
xbt_free((*elem)->re_src_gateway);
xbt_free((*elem)->re_dst_gateway);
current_src = xbt_dynar_get_ptr(path_src, index_src);
current_dst = xbt_dynar_get_ptr(path_dst, index_dst);
while (index_src >= 0 && index_dst >= 0 && *current_src == *current_dst) {
current_src = xbt_dynar_get_ptr(path_src, index_src);
current_dst = xbt_dynar_get_ptr(path_dst, index_dst);
while (index_src >= 0 && index_dst >= 0 && *current_src == *current_dst) {