This is the mail archive of the
mailing list for the Cygwin project.
- From: "Chris Sutcliffe" <ir0nh34d at gmail dot com>
- To: cygwin-announce at cygwin dot com
- Date: Mon, 15 Sep 2008 12:42:20 -0400
- Subject: Updated: mingw-runtime-3.15
- Reply-to: The Cygwin Mailing List <cygwin at cygwin dot com>
I've made a new version of the mingw-runtime available for download.
For a list of changes see:
New features in release 3.15
* A replacement implementation for MinGW's snprintf() and vsnprintf()
functions; this further extends the scope of replacement to include
printf(), fprintf(), sprintf(), vprintf(), vfprintf() and vsprintf()
- Full support for *all* of the *standard* format conversion specs
mandated by ISO-C99 and POSIX, (excluding POSIX-XSI extensions).
- Microsoft's non-standard format conversion specs also supported.
- Correct formatting of values with MinGW's long double data type.
As in previous releases, the MinGW implementations of snprintf() and
vsnprintf() are the default for these two functions, with the MSVCRT
alternatives being called as _snprintf() and _vsnprintf().
In the case of the other six replacement functions, MSVCRT provides
no underscore decorated name by which they may be invoked; thus, the
MSVCRT implementation for these remains the default. To enable the
MinGW replacements for these six functions, users may employ any one
(or more) of the following, (and *must* #include stdio.h):--
- Include the `-posix' option, in the GCC command, when compiling.
- Compile with the `-ansi' option, or any of the `std' options
which causes __STRICT_ANSI__ to be defined.
- Define any of __STRICT_ANSI__, _ISOC99_SOURCE, _POSIX_SOURCE,
_POSIX_C_SOURCE, _GNU_SOURCE, _BSD_SOURCE, _SVID_SOURCE,
_XOPEN_SOURCE or _XOPEN_SOURCE_EXTENDED, *before* including
*any* system header file, and in particular stdio.h, (which
*must* be included).
- Define __USE_MINGW_ANSI_STDIO with a non-zero value, *before*
including *any* system header file.
- Define __MINGW_FEATURES__ to represent any odd valued unsigned
long long integer, (i.e. __MINGW_FEATURES__ & 0x1ULL == 0x1ULL),
*before* including *any* system header file.
- Microsoft's convention of printing at least three exponent digits,
for "%e" format, (and for "%g" when appropriate), is retained as
default; support for _set_output_format(_TWO_DIGIT_EXPONENT) is
included, for users of MSVCR80.DLL (and later).
- Users preferring the ISO-C99/POSIX standard of only two exponent
digits may set PRINTF_EXPONENT_DIGITS=2, in the environment; this
capability is supported by all of the MinGW replacement functions
named above, for users of all versions of MSVCRT.
N.B. *All* of the above techniques, which induce the selection of
the MinGW replacement functions may be overridden, by *explicitly*
defining __USE_MINGW_ANSI_STDIO as zero, *before* including *any*
system header file.
When the MinGW replacement functions have been selected, by any of
the above methods, the original MSVCRT function may be invoked by
prefixing `__msvcrt_' to the function name, e.g. __msvcrt_printf().
* A replacement implementation for the getopt() family of functions,
adding support for the GNU getopt_long_only() function. Users
should note that this intentionally *removes* support for the BSD
or Mac OS-X specific, and non-standard, `optreset' global variable;
to reset the getopt() scanner, use `optind = 0;' instead of relying
on this non-standard, non-portable and now-unsupported feature.
To update your installation, click on the "Install Cygwin now" link on
the http://cygwin.com/ web page. This downloads setup.exe to your
system. Then, run setup and answer all of the questions.
If you have questions or comments, please send them to the Cygwin
mailing list at: firstname.lastname@example.org .
*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***
If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there. It will be in the format:
If you need more information on unsubscribing, start reading here:
Please read *all* of the information on unsubscribing that is
available starting at this URL.