Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-Id: <199903292310.RAA22326@modi.xraylith.wisc.edu> X-Authentication-Warning: modi.xraylith.wisc.edu: localhost.xraylith.wisc.edu [127.0.0.1] didn't use HELO protocol To: "Brian Macy" cc: cygwin AT sourceware DOT cygnus DOT com Subject: Re: libc and crt support... In-reply-to: Your message of "Mon, 29 Mar 1999 13:29:55 PST." <00ca01be7a2b$568c99f0$020210ac AT paso DOT atasd DOT com> Date: Mon, 29 Mar 1999 17:10:04 -0600 From: Mumit Khan "Brian Macy" writes: > I noticed 2 things when using the Cygwin stuff. > > - There is no vsnprintf > - There is no beginthreadex > > Where can I go to change this? beginthreadex is cake to implement and is the > only sane way to implement a thread class. vsnprintf is the only safe way to > implement a C++ String class with a sprintf function. Both are non-standard; if you start adding all the routines that everybody wants/needs, then you end up with Win32 API ;-) beginthreadex is not part of win32 API and has no place in Cygwin runtime. It's not even part of Windows standard C runtime, but was added later on to MSVC runtime. If you're going to have MSVC-specific code, then the correct approach is to write a portability layer to provide emulation for other runtimes. vsnprintf would be a very useful function to have in newlib, but it doesn't exist there; however, vsprintf/vfprintf/etc do exist and you should be able to use those instead. Or, get a free version off the net and add it to your port library. Regards, Mumit -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com