LINUX.ORG.RU

История изменений

Исправление Ivan_qrt, (текущая версия) :

Единственных 2 вызова memcpy:

memcpy(c, a, lena);
memcpy(c + lena, b, lenb + 1);

Где c выделялся malloc'ом, а значит ни с кем не перекрывается, а значит вызовов memcpy() для перекрытых областей нет.

Я это имел ввиду.

А перекрытие входящих строк не проблема. Если a - указатель на середину b. (Ноль в конце у обоих общий).

Исходная версия Ivan_qrt, :

Единственных 2 вызова memcpy:

memcpy(c, a, lena);
memcpy(c + lena, b, lenb + 1);

Где c выделялся malloc'ом, а значит ни с кем не перекрывается, а значит вызовов memcpy() для перекрытых областей нет.

Я это имел ввиду.