crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QProcess не работает из-за strcat
mva
  опции профиля:
сообщение 1.10.2013, 15:37
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

Спасибо сказали: 3 раз(а)




Репутация:   0  


Доброго времени суток!

Подключаю драйвер фискального регистратора к своему приложению просто включая его исходники в свои. Обнаружил, что у меня перестает работать запуск через QProcess стороннего приложения (браузера FireFox), никак не связанного с драйвером, из-за одной строки в коде драйвера.

Раскрывающийся текст

int readoptions (void)
{
char *homedir;
int etc_res;
int home_res;

fr = drvfrInitialize();

homedir = getenv("HOME");
etc_res = readrcfile("/etc/drvfrrc");
home_res = readrcfile(strcat(homedir, "/.drvfrrc")); // Из-за присутствия strcat в этом месте, мое стороннее приложение не запускается

if(etc_res == -1 && home_res == -1) return -1;
fr->prop->ComPortNumber = t_devnum;
fr->prop->Password = t_passwd;
fr->prop->Timeout = t_timeout;
fr->prop->BaudRate = t_linespeed;
return 1;
}


Если я проблемную строку поменяю на такую:

home_res = readrcfile(QString().append(homedir).append("/.drvfrrc").toAscii().data());

то стороннее приложение запускается нормально. С чем может быть связан такой эффект?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 6:32