Please paste formatted code (read Readable code)
Сначала я подумал, что это запутано по своей природе.
По поводу вопроса, когда вы делаете strcpy, вам нужно проверить, достаточно ли велика строка назначения для хранения исходной строки.
Здесь DEST_LEN равен объему памяти в байтах.
if(source != NULL && dest != NULL)
{
strncpy (dest , source , DEST_LEN -1);
}
Спасибо за редактирование модератором.
Klockworks обнаруживает strcpy как ошибку как инструмент статического анализа. Я бы предложил вам определить пользовательские макросы для операций со строками. Это проверит объем памяти, которая будет скопирована. Для других операций вы также можете легко отредактировать этот макрос и избежать ложных тревог, как указано выше.