Lines Matching refs:ms2
272 const mixed_string_ty *ms2) in mixed_string_concat() argument
275 if (ms2->nsegments == 0) in mixed_string_concat()
278 return mixed_string_clone (ms2); in mixed_string_concat()
282 size_t nsegments = ms1->nsegments + ms2->nsegments; in mixed_string_concat()
284 if (ms1->segments[ms1->nsegments-1]->type == ms2->segments[0]->type) in mixed_string_concat()
296 size_t len2 = ms2->segments[0]->length; in mixed_string_concat()
301 newseg->type = ms2->segments[0]->type; in mixed_string_concat()
304 memcpy (newseg->contents + len1, ms2->segments[0]->contents, len2); in mixed_string_concat()
307 for (i = 1; i < ms2->nsegments; i++) in mixed_string_concat()
308 ms->segments[j++] = segment_clone (ms2->segments[i]); in mixed_string_concat()
318 for (i = 0; i < ms2->nsegments; i++) in mixed_string_concat()
319 ms->segments[j++] = segment_clone (ms2->segments[i]); in mixed_string_concat()
332 mixed_string_concat_free1 (mixed_string_ty *ms1, const mixed_string_ty *ms2) in mixed_string_concat_free1() argument
335 if (ms2->nsegments == 0) in mixed_string_concat_free1()
340 return mixed_string_clone (ms2); in mixed_string_concat_free1()
345 size_t nsegments = ms1->nsegments + ms2->nsegments; in mixed_string_concat_free1()
347 if (ms1->segments[ms1->nsegments-1]->type == ms2->segments[0]->type) in mixed_string_concat_free1()
359 size_t len2 = ms2->segments[0]->length; in mixed_string_concat_free1()
364 newseg->type = ms2->segments[0]->type; in mixed_string_concat_free1()
367 memcpy (newseg->contents + len1, ms2->segments[0]->contents, len2); in mixed_string_concat_free1()
371 for (i = 1; i < ms2->nsegments; i++) in mixed_string_concat_free1()
372 ms->segments[j++] = segment_clone (ms2->segments[i]); in mixed_string_concat_free1()
382 for (i = 0; i < ms2->nsegments; i++) in mixed_string_concat_free1()
383 ms->segments[j++] = segment_clone (ms2->segments[i]); in mixed_string_concat_free1()