The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
strerror_r не пашет, !*! kokoav, 26-Фев-06, 13:41  [смотреть все]
Под FC4, кусок кода

perror("Could not connect");
char sys_err_buf[256];
if( strerror_r(err_no, sys_err_buf, 256) == 0){
  std::ostringstream os;
  os << msg << " - " << sys_err_buf;
  err_msg = os.str();
}else{
  std::cerr << errno << perror(" ") << std::endl;
}

Выдает
Could not connect: Connection refused
29 Illegal seek

т.е. strerror_r всегда возвращает -1, при этом perror прекрасно этот номер(111) ошибки находит.

Обошел через sys_errlist[err_no], но почему strerror_r не работает, может кто сталкивался, нужна именно потокобезопасная версия.

  • strerror_r не пашет, !*! vic, 14:45 , 26-Фев-06 (1)
    >if( strerror_r(err_no, sys_err_buf, 256) == 0){

    Попробуй дочитать ман до конца, там в части CONFORMING TO найдешь другой прототип этой функции и сразу поймешь почему она тебе упорно выдает -1 :)

    P.S. Все таки она пашет :)




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру