delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/03/29/18:11:25

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" <bmacy AT sunshinecomputing DOT com>
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 <khan AT xraylith DOT wisc DOT EDU>

"Brian Macy" <bmacy AT sunshinecomputing DOT com> 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019