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 Message-Id: <199911032200.QAA03357@mercury.xraylith.wisc.edu> To: John Fralinger cc: cygwin AT sourceware DOT cygnus DOT com Subject: Re: sys_errlist In-Reply-To: Your message of "Wed, 03 Nov 1999 14:25:36 EST." <00e701bf2631$34f297b0$9a5c37c0 AT ei DOT dupont DOT com> Date: Wed, 03 Nov 1999 16:00:03 -0600 From: Mumit Khan John Fralinger writes: > Mumit, > Thanks for your quick response. > Your test code below does indeed work. > > I am still confused about when to use an "_" and when not to. > > I do not have any problems implementing Mr. Siddiqi's suggestion > but I would like to understand what's going on. sys_nerr, sys_errlist are not mandated by various standards, and the runtimes tend to expose these non-standard items with a leading underscore. This unfortunately causes trouble with lots of the existing Unix code, and that's unfortunate. Perhaps Cygnus will consider exposing the non-underscored version as well via the export definition file? Detecting the correct form of sys_nerr and sys_errlist turns out to be quite tricky. Consider the following tests that are normally used for detecting runtime library characteristics: try 1: create a dummy program with sys_nerr and see if it links. If found, done. try 2: create a dummy program with _sys_nerr and see if it links. If found, done. If neither tests succeed, the runtime library does not have sys_nerr. Now consider the case of Cygwin: you can't just create a dummy program, but also have to make sure you include , and then try both sys_nerr and _sys_nerr. So, what's the right way to do this? Use POSIX mandated strerror () and forget avoid non-standard stuff. Or, since I have code dating back many many years, write a port library that implements sys_nerr and sys_errlist for platforms that don't have it. Regards, Mumit -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com