= Сообщение: 65 из 1947 =========================================== RU.BINKD = От : Pavel Gulchouck 2:463/68 24 Oct 13 11:28:02 Кому : Yuri Myakotin 24 Oct 13 11:28:02 Тема : То ли лыжи не едут... FGHI : area://RU.BINKD?msgid=2:463/68+5268dc33 На : area://RU.BINKD?msgid=2:5020/4441.1+5268d274 = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.BINKD?msgid=2:5020/4441.1+5268e60a ============================================================================== Hi Yuri!
24 Oct 13, Yuri Myakotin ==> Pavel Gulchouck:
RT>>> А вот что хуже - то, что socket() в винде возвращает не int, а RT>>> SOCKET, который - сюрприз!- теперь тоже intptr_t, т.е. 64 бита.
PG>> Эх... :(
YM> Тем не менее уже несколько дней скомпиленный MSVC 2013 в 64бит бинкд работает у меня без всяких проблем. Единственная YM> правка - в том самом месте, где падало (int/long на intptr_t).
Если SOCKET это обычный 64-битный указатель на какую-то структуру, то теоретически, пока сегмент меньше 2G, старшие биты там будут нулевыми, и его можно безболезненно конвертить в int и обратно. Для binkd он должен быть намного меньше, чем 2G, так что всё должно работать.
Но закладываться на это и оставлять такую ситуацию, конечно, неправильно - мало ли, что потом изменится, и ловить ошибку будет трудно. У findfirst() вон оказались старшие биты.
YM> PS насчет своей идеи с .bsy файлами - пока просто добавил для себя код, который создание/удаление .bsy дублирует YM> посылкой адреса моему тоссеру через named pipe. Сейчас делаю обработчик, который будет динамически паковать нетмейл на YM> линка в момент начала успешной сессии с ним.