Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     28 Feb 2004  10:07:56
 To : eugen@grosbein.pp.ru
 Subject : Re: Sendmail+qpopper
 -------------------------------------------------------------------------------- 
 
 
 >>> Eugene Grosbein wrote:
 
  EG>>>>> Вообще-то strcpy иногда можно использовать. Hу совсем иногда.
  AF>>>>  Hо лучше strlcpy
  EG>>> char strftime_b[50];
  EG>>> strcpy(strftime_b, 'Date: %a, %d %h %Y %H:%M:%S %Z\r\n');
  EG>>> Зачем в этом месте strlcpy?
  VN>> А ты гарантируешь, что
  VN>> 1) оно в любой локали влезет в 49 символов?
 EG> Локаль тут выставлена явно в C, HTTP/1.0 требует :-)
 
 Предположим.
 
  VN>> 2) у тебя никогда определение strftime_b не уедет вверх на столько строк,
  VN>> что забудешь рано или поздно проверить размер?
 EG> Уедет, только ведь это константа все равно. Константа не просто
 EG> времени компиляции, а вообще константа.
 
 OK, для начала согласимся. Встречный вопрос - а нафига тебе тут вообще
 копирование в буфер, если это содержимое буфера ни для чего кроме
 кормления strftime() не нужно? Почему не const char* со строковой константой?
 
  VN>> Если гарантируешь - ok, твоё дело. Если нет - используй strlcpy.
 EG> Так ведь потеря эффективности, нечистый цикл внутри.
 
 См. выше.
 Ты показываешь пример, где гарантированно влезет потому, что данные
 постоянны. Hо зачем тебе тут вообще буфер и копирование?
 -netch-
 --- ifmail v.2.15dev5.3
  * Origin: Dark side of coredump (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Sendmail+qpopper   Valentin Nechayev   28 Feb 2004 10:07:56 
Архивное /ru.unix.bsd/7368f4e9843e.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional