From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=AC_FROM_MANY_DOTS,BAYES_00 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,efaa27606ebae249 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-06-24 06:09:08 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!in.100proofnews.com!in.100proofnews.com!cycny01.gnilink.net!cyclone1.gnilink.net!spamkiller2.gnilink.net!nwrdny02.gnilink.net.POSTED!53ab2750!not-for-mail From: "Frank J. Lhota" Newsgroups: comp.lang.ada References: <3ef8340b$2@baen1673807.greenlnk.net> Subject: Re: Errors in the Win32 bindings X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Message-ID: Date: Tue, 24 Jun 2003 13:09:07 GMT NNTP-Posting-Host: 151.203.14.90 X-Complaints-To: abuse@verizon.net X-Trace: nwrdny02.gnilink.net 1056460147 151.203.14.90 (Tue, 24 Jun 2003 09:09:07 EDT) NNTP-Posting-Date: Tue, 24 Jun 2003 09:09:07 EDT Xref: archiver1.google.com comp.lang.ada:39662 Date: 2003-06-24T13:09:07+00:00 List-Id: "Martin Dowie" wrote in message news:3ef8340b$2@baen1673807.greenlnk.net... > Who should these errors be reported to? > > e.g. function utime takes an access parameter which > prohibits passing a 'NULL' although this is a valid > value for this routine. I found a similar error in the Win32.Winsock package. The specification for the "select" function (renamed "c_select" to avoid the reserved word) is function c_select( nfds : Win32.INT; readfds : access FD_SET; writefds : access FD_SET; exceptfds: access FD_SET; timeout : ac_TIMEVAL_t) return Win32.INT; -- winsock.h:741 which prohibits using null for readfds, writefds, and exceptfds, in spite of the fact that this is a common method of passing empty sets to "select". Given that Win32.Winsock already defines the following access type type PFD_SET is access all FD_SET; -- winsock.h:846 we could fix this problem by using this access type to declare readfds, writefds, and exceptfds, e.g. function c_select( nfds : Win32.INT; readfds : PFD_SET; writefds : PFD_SET; exceptfds: PFD_SET; timeout : ac_TIMEVAL_t) return Win32.INT; -- winsock.h:741 With this declaration, you can use any combination of nulls and access to actual FD_SET values in a call to "c_select". Also, the package specification for Win32.Winsock is missing a declaration for the FD_ZERO procedure, which should be there as an inlined subprogram. Curiously, a body for FD_ZERO can be found in the Win32.Winsock package body. What is frustrating is that these problems are ridiculously easy to fix, if only we knew who is responsible for maintaining the Win32 packages. I raised this issue in this NG several months ago. None of the responses answered the question of who owns Win32. If no one is currently maintaining Win32, should a group of dedicated Ada engineers take it over, perhaps making it a sourceforge project?