#25
|
|||
|
|||
НTick FAQ [2/2]
FAQ Robot написал(а) к All в Jun 17 10:00:14 по местному времени:
/------/ [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) На то он и warning, что предупреждает о возможной (но совсем не обязательной) ошибке (possibly used unsafely). Так вот, в данном случае ошибки нет, все так и задумано, и warning можно игнорировать. Отличие его от других warning-ов в том, что его не так просто обойти или отключить, как в других случаях (сделать явное преобразование типов или вместо "if (a=b)" написать "if ((a=b)!=0)"). Предложенный вариант использования mkstemp() мало того, что непереносим, но еще и попросту не подходит в нашем случае, т.к. эта функция не позволяет создавать временный файл с определенным расширением. Все написано совершенно корректно, и менять код только ради того, чтобы убрать warning, IMНO смысла нет. /------/ [14] Q: Нtick не удаляет из рабочего каталога распакованные из архивов файлы 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 - уточни в документации на мейлер. /---------------------------------------------------------------------/ При написании данного файла за основу взят НPT FAQ. --- hpt/w32 1.9.0 |