Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.BINKD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.BINKD с датами от 14 Jul 13 17:53:22 до 13 May 24 22:17:00, всего сообщений: 1927
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 69 из 1927 =========================================== RU.BINKD =
От   : Roman Trunov                     2:5022/2           24 Oct 13 11:26:18
Кому : Pavel Gulchouck                                     24 Oct 13 11:26:18
Тема : То ли лыжи не едут...
FGHI : area://RU.BINKD?msgid=2:5022/2+52694546
На   : area://RU.BINKD?msgid=2:463/68+52683e0f
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.BINKD?msgid=2:5057/77@fidonet+526c04b2
==============================================================================
Hello Pavel!

RT>> Починил я этот findfirst и еще пачку мелких ворнингов (вот только
RT>> случайно шлепнул все одним коммитом с левым описанием).

PG> Левое описание - можно непосредственно в HISTORY изменить.

Там в основном правилась кучка мелких ворнингов, недостойных отдельного описания. Из важного только одна ошибка с uintmax_t, которая выстрелила бы в будущем с файлами больше 2G.

RT>> Выяснилось, что spawn и beginthread теперь тоже возвращают intptr_t.
RT>> Hу это еще можно пережить (там вроде только на ошибку / -1
RT>> проверяется, сработает и так).

PG> Точно сработает?
PG> -1 для указателя - не вполне естественное значение.

Hу, честно говоря, не точно :) Я внимательно в этот район еще не смотрел. Если результат нигде не используется, а только проверяется на "-1", то все будет хорошо (функция возвращает FFFFFFFFFFFFFFFF, мы проверям младшее слово на FFFFFFFF - все работает, указателя с таким младшим словом в винде не бывает). Только там небось написано что-то типа "if (pid < 0)", а вот старший бит в младшем слове запросто может оказаться установлен, получится меньше нуля... Впрочем, если там на самом деле возвращается не указатель, а HANDLE - см. ниже.

RT>> А вот что хуже - то, что socket() в винде возвращает не int, а
RT>> SOCKET, который - сюрприз!- теперь тоже intptr_t, т.е. 64 бита.

PG> Эх... :(

Похоже, можно просто забить. Если верить Марку Руссиновичу и авторам OpenSSL, на всех NT-системах SOCKET на самом деле есть HANDLE некого файла. А HANDLE на NT - просто индекс в некой ядерной таблице, гарантированно влезающий в 32 бита. В OpenSSL забили и все работает.

Roman

--- GoldED+/W32 1.1.0
* Origin: I am not JRRT, I am just RT (2:5022/2)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.082489 секунды