prev
next
ru.husky
FromFAQ Robot2:5020/1042.0Date Write2017-11-01 10:00:06
ToAll0:0/0.0Date Arrived2017-11-01 10:20:12
SubjHTick FAQ [2/2]
Attr
/------/

[13] Q: Компилятор под FreeBSD ругается: warning: mktemp() possibly used
unsafely; consider using mkstemp()

A: (SD, PG)
В переводе это сообщение звучит так: "Предупреждение: функция mktemp(),
возможно, используется небезопасным образом; предпочтительно использовать
mkstemp()". mktemp() генерирует имя временного файла, mkstemp() к тому же
создает этот файл. Смысл предупреждения состоит в том, что после завершения
mktemp() сгенерированное имя файла может оказаться занятым.
Вот только есть одна тонкость: mktemp() - стандартная функция, а mkstemp()
- нет (в некоторых реализациях встречается еще и mkstemps() - создание файла
с суффиксом). Ради сохранения переносимости кода в husky используется
mktemp() с соответствующими проверками.

A: (PG)
Hа то он и warning, что предупреждает о _возможной_ (но совсем не
обязательной) ошибке (_possibly_ used unsafely). Так вот, в данном
случае ошибки нет, все так и задумано, и warning можно игнорировать.
Отличие его от других warning-ов в том, что его не так просто обойти
или отключить, как в других случаях (сделать явное преобразование
типов или вместо "if (a=b)" написать "if ((a=b)!=0)"). Предложенный
вариант использования mkstemp() мало того, что непереносим, но еще и
попросту не подходит в нашем случае, т.к. эта функция не позволяет
создавать временный файл с определенным расширением.
Все написано совершенно корректно, и менять код только ради того, чтобы
убрать warning, IMHO смысла нет.

/------/

[14] Q: Htick не удаляет из рабочего каталога распакованные из архивов файлы

A: (DP)
RTFM! Пропиши нормально распаковщики! hint: параметр $f укажи. А то у тебя
извлекается не один файл, а все.
=== Cut ===
Unpack "pkzip25 -ext -silent -over=all -nozip -nofix $a $p $f" 0 504b0304
Unpack "rar e -y -c- $a $p $f" 0 52617221
Unpack "rar e -y -c- $a $p $f" 28 52534658
Unpack "arj e -y $a $p $f" 0 60ea
Unpack "ha ey $a $p $f" 0 4841
Unpack "lha e /m $a $p $f" 4 6c68

/--------------------------------------------------------------------------/

[15] Q: Как сделать, чтобы сначала отправлялись netmail и echomail, затем
файлэхи

A: (SD)
Тут нужен правильно работающий с приоритетной почтой мейлер. В большинстве
мейлеров неархивированный нетмейл (*.?ut) отправляется первым, затем мейлер
отправляет файлы из *.?lo с атрибутом immediate, затем direct или crash,
затем normal. Таким образом, для эхомейла hpt указываешь атрибут direct или
crash, для файлех htick'у - normal. Cоответсвенно hpt будет писать в *.dlo
или *.clo, htick - *.flo. Мейлер при этом отсылает сначала нетмейл (*.?ut,
в порядке приоритетности разных *.?ut), затем crash mail и direct mail,
затем normal mail. Использовать direct или crash - уточни в документации на
мейлер.

/---------------------------------------------------------------------/


При написании данного файла за основу взят HPT FAQ.
--- hpt/w32 1.9.0
* Origin: Moscow, Russia (2:5020/1042)