После выделения и инициализации char*
и копирование данных для него
char * uri= new char [strlen(realm) + strlen("sip:") +1]();
strcpy(uri, "sip:");
strcat(uri, realm);
Я передаю это char*
в pj_str(char*)
функция. Эта функция конвертирует char*
в pj_str_t
struct
который содержит указатель на буфер и его длину.
Затем функция продолжает свою логику и использует uri pj_str
,
Перед возвратом функции она должна быть освобождена *uri
, При выполнении этой строки кода первые два символа содержат восьмеричные данные мусора, иначе он содержит ожидаемые данные.
delete [] uri;
В чем проблема?!
Разве этого недостаточно, чтобы сделать
delete [] uri;
Других решений пока нет …