Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com From: "Suhaib M. Siddiqi" To: "Cygwin Mailing List" Subject: RE: sys_errlist Date: Wed, 3 Nov 1999 20:37:51 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) In-Reply-To: <199911040017.QAA27536@aleph.ssd.hal.com> X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Importance: Normal M$ is abummer. They love to invent their own stuff intentionally to make life more complicated for developers. The POSIX subsytem in MSVC simply sucks Suhaib > -----Original Message----- > From: cygwin-owner AT sourceware DOT cygnus DOT com > [mailto:cygwin-owner AT sourceware DOT cygnus DOT com]On Behalf Of J. J. Farrell > Sent: Wednesday, November 03, 1999 7:18 PM > To: Cygwin Mailing List > Subject: Re: sys_errlist > > > > From: "J. J. Farrell" > > > > Since the non-underscore versions are required to be present in > > the interface definition which many modern UNIXes are based on, > > I'd say that cygwin should expose them, but no-cygwin shouldn't. > > Is it possible to expose them in a way which makes user declaration > > work, as mandated by the SVID, rather than requiring the > > inclusion? Both should expose the underscore versions since there's > > no harm doing so. > > To add another confusing data point, I've just noticed that Microsoft > Visual C 6.0 declares _sys_errlist and _sys_nerr in rather > that ; and if the compiler is not running in "strict ANSI" > mode and doesn't have _POSIX_ defined, it also declares sys_errlist > and sys_nerr in . > > I don't know if the optimum solution can be achieved, but it would > look like: > > - when in maximum UNIX compatibility mode, just declaring > > extern char *sys_errlist[]; extern int sys_nerr; > > in the code should work. Failing this, removing these declarations > and including seems a reasonable option since such code > will almost certainly be including already. The versions > with leading underscores should probably be made available in the > same way. > > - when in maximum VC++ compatibility mode, the leading underscore > versions should be made available by including ; if not > in strict Standard C mode, the non-underscore versions should be > available in the same way. > > If it isn't possible to support declarations in the code, the simplest > solution is probably that both and should declare > the leading underscore names, and if not in strict Standard C mode > they should #define the no-underscore names to the underscore ones. > > > -- > Want to unsubscribe from this list? > Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com > -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com