|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/7368f4e9843e.html, оценка из 5, голосов 10
|