RT> Починил я этот findfirst и еще пачку мелких ворнингов (вот только случайно шлепнул все одним коммитом с левым RT> описанием).
Спасибо! Как я понимаю, в stable это тоже нужно править. Левое описание - можно непосредственно в HISTORY изменить.
RT> Выяснилось, что spawn и beginthread теперь тоже возвращают intptr_t. Hу это еще можно пережить (там вроде RT> только на ошибку / -1 проверяется, сработает и так).
Точно сработает? -1 для указателя - не вполне естественное значение.
RT> А вот что хуже - то, что socket() в винде возвращает не int, а RT> SOCKET, который - сюрприз!- теперь тоже intptr_t, т.е. 64 бита.
Эх... :(
RT> Если они там в микрософте на самом деле возвращают RT> какой-то указатель с установленными старшими битами, то ничего работать не будет, и править придется довольно много... RT> Придется заводить свой тип BINKD_SOCKET, который у всех нормальных людей будет Int, а у микрософта - что у них там в RT> это время суток модно...
Наверное, можно не BINKD_SOCKET, а просто SOCKET, который, если не определён, то typedef int. И ведь делать нечего, уже не рассосётся. :(
Хотя есть другой вариант. Там ведь для функций работы с сокетами под виндой всё равно врапперы. Сделать у binkd/win собственный массив сокетов, и хранить индекс в этом массиве. Пожалуй, так мне даже больше нравится. Нет ли в этом варианте каких-то явных недостатков, которые я не заметил? Открытие/закрытие сокета нужно семафорить - не проблема.