This list is closed, nobody may subscribe to it.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(13) |
Feb
(2) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(38) |
Jul
(10) |
Aug
(70) |
Sep
(63) |
Oct
(61) |
Nov
(41) |
Dec
(28) |
| 2002 |
Jan
(43) |
Feb
(11) |
Mar
(9) |
Apr
(2) |
May
(97) |
Jun
(94) |
Jul
(13) |
Aug
(49) |
Sep
(41) |
Oct
(24) |
Nov
(55) |
Dec
(126) |
| 2003 |
Jan
(90) |
Feb
(75) |
Mar
(32) |
Apr
(24) |
May
(54) |
Jun
(54) |
Jul
(22) |
Aug
(4) |
Sep
(16) |
Oct
(8) |
Nov
(6) |
Dec
(13) |
| 2004 |
Jan
|
Feb
(17) |
Mar
(60) |
Apr
(21) |
May
(12) |
Jun
|
Jul
(13) |
Aug
|
Sep
(29) |
Oct
|
Nov
|
Dec
(2) |
| 2005 |
Jan
(22) |
Feb
(3) |
Mar
(2) |
Apr
(13) |
May
(82) |
Jun
(18) |
Jul
(30) |
Aug
(17) |
Sep
(3) |
Oct
(19) |
Nov
(4) |
Dec
(8) |
| 2006 |
Jan
(1) |
Feb
(6) |
Mar
(2) |
Apr
(40) |
May
|
Jun
(21) |
Jul
(1) |
Aug
(410) |
Sep
(3) |
Oct
|
Nov
(56) |
Dec
(7) |
| 2007 |
Jan
(19) |
Feb
|
Mar
(4) |
Apr
(8) |
May
(19) |
Jun
(6) |
Jul
(4) |
Aug
(6) |
Sep
|
Oct
(4) |
Nov
(3) |
Dec
(2) |
| 2008 |
Jan
(13) |
Feb
(18) |
Mar
(12) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(6) |
Mar
(8) |
Apr
(2) |
May
(2) |
Jun
|
Jul
|
Aug
(2) |
Sep
(11) |
Oct
(13) |
Nov
(17) |
Dec
(6) |
| 2010 |
Jan
(24) |
Feb
(10) |
Mar
(27) |
Apr
(20) |
May
(108) |
Jun
(8) |
Jul
(23) |
Aug
(38) |
Sep
(49) |
Oct
(17) |
Nov
(12) |
Dec
(14) |
| 2011 |
Jan
(17) |
Feb
(7) |
Mar
(28) |
Apr
(8) |
May
(20) |
Jun
(11) |
Jul
(7) |
Aug
(12) |
Sep
(4) |
Oct
(20) |
Nov
(19) |
Dec
(2) |
| 2012 |
Jan
(2) |
Feb
(6) |
Mar
(5) |
Apr
(24) |
May
(5) |
Jun
(4) |
Jul
(6) |
Aug
(18) |
Sep
(38) |
Oct
(26) |
Nov
(12) |
Dec
(6) |
| 2013 |
Jan
(19) |
Feb
(18) |
Mar
(44) |
Apr
(35) |
May
(18) |
Jun
(21) |
Jul
(10) |
Aug
(19) |
Sep
(44) |
Oct
(25) |
Nov
(1) |
Dec
(2) |
| 2014 |
Jan
(8) |
Feb
|
Mar
|
Apr
(5) |
May
(1) |
Jun
(3) |
Jul
|
Aug
(3) |
Sep
|
Oct
(4) |
Nov
(4) |
Dec
(7) |
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(4) |
Jul
(6) |
Aug
(2) |
Sep
(8) |
Oct
(2) |
Nov
(1) |
Dec
(3) |
| 2016 |
Jan
(7) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(9) |
Jun
(4) |
Jul
(20) |
Aug
(4) |
Sep
(7) |
Oct
(6) |
Nov
(9) |
Dec
(2) |
| 2017 |
Jan
(7) |
Feb
(7) |
Mar
(5) |
Apr
|
May
(1) |
Jun
(4) |
Jul
(12) |
Aug
(4) |
Sep
(1) |
Oct
(4) |
Nov
(11) |
Dec
(14) |
| 2018 |
Jan
(3) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
1
|
2
|
3
|
4
|
5
|
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
|
27
(1) |
28
|
29
(1) |
30
|
31
(1) |
|
|
|
From: Keith M. <no...@so...> - 2015-12-31 22:14:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via 43446e97d80b003730ed434e57669909e651b2a8 (commit)
from 7f210a0beee915334348d23c9ac68e07c5a6f8c3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/43446e97d80b003730ed434e57669909e651b2a8/
commit 43446e97d80b003730ed434e57669909e651b2a8
Author: Keith Marshall <kei...@us...>
Date: Thu Dec 31 21:20:24 2015 +0000
Avoid user namespace pollution by non-standard type 'off64_t'.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 0c7350d..88ae58a 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,27 @@
+2015-12-30 Keith Marshall <kei...@us...>
+
+ Avoid user namespace pollution by non-standard type 'off64_t'.
+
+ * include/sys/types.h (off64_t): Rename it as...
+ (__off64_t): ...this implementation-private alternative name, so
+ eliminating the potential for user namespace pollution.
+
+ * include/io.h (lseek64): Use '__off64_t', instead of 'off64_t', as
+ return type, and type of offset argument, in both prototype and inline
+ implementation; note that this addresses the issue of pollution in the
+ user namespace, while avoiding the issue of MinGW-Bug [#].
+
+ * include/stdio.h (fseeko64, __mingw_fseeko64): Use '__off64_t'
+ instead of 'off64_t', as offset argument type in function prototypes.
+ (ftello64): Likewise, for return type of inline function.
+
+ * mingwex/mingw-fseek.c: Assert copyright; tidy layout.
+ (WIN32_LEAN_AND_MEAN): Define, to minimize impact of <windows.h>.
+ (__mingw_fseeko64): Use '__off64_t' per modified function prototype.
+
+ * mingwex/stdio/fseeko64.c: Assert copyright.
+ (fseeko64): Use '__off64_t' per modified function prototype.
+
2015-12-27 Keith Marshall <kei...@us...>
Improve ISO-C conformity in MinGW printf(); cf. MinGW-Bug [#1761]
diff --git a/mingwrt/include/io.h b/mingwrt/include/io.h
index 535c658..f059f7e 100644
--- a/mingwrt/include/io.h
+++ b/mingwrt/include/io.h
@@ -6,6 +6,7 @@
*
* System level I/O functions and types.
*
+ * TODO: File requires review; rationalization and refactoring recommended.
*/
#ifndef _IO_H_
#define _IO_H_
@@ -295,12 +296,10 @@ __CRT_ALIAS int __cdecl __MINGW_NOTHROW _findnexti64 (intptr_t _v1, struct _find
#endif /* __MSVCRT_VERSION__ >= 0x0800 */
#ifndef __NO_MINGW_LFS
-__CRT_INLINE off64_t lseek64 (int, off64_t, int);
+__CRT_INLINE __off64_t lseek64 (int, __off64_t, int);
__CRT_INLINE __JMPSTUB__(( FUNCTION = lseek64, REMAPPED = _lseeki64 ))
-off64_t lseek64 (int fd, off64_t offset, int whence)
-{
- return _lseeki64(fd, (__int64) offset, whence);
-}
+__off64_t lseek64 (int fd, __off64_t offset, int whence)
+{ return _lseeki64(fd, (__int64)(offset), whence); }
#endif
#endif /* __MSVCRT__ */
diff --git a/mingwrt/include/stdio.h b/mingwrt/include/stdio.h
index 094ebad..2fc3c47 100644
--- a/mingwrt/include/stdio.h
+++ b/mingwrt/include/stdio.h
@@ -10,6 +10,7 @@
* NOTE: The file manipulation functions provided by Microsoft seem to
* work with either slash (/) or backslash (\) as the directory separator.
*
+ * TODO: File requires review; rationalization and refactoring recommended.
*/
#ifndef _STDIO_H_
@@ -625,34 +626,27 @@ _CRTIMP int __cdecl __MINGW_NOTHROW fileno (FILE*);
#define fileno(__F) ((__F)->_file)
#endif
-#if defined (__MSVCRT__) && !defined (__NO_MINGW_LFS)
+#if defined (__MSVCRT__) && ! defined (__NO_MINGW_LFS)
#include <sys/types.h>
__CRT_INLINE __JMPSTUB__(( FUNCTION = fopen64, REMAPPED = fopen ))
FILE* __cdecl __MINGW_NOTHROW fopen64 (const char* filename, const char* mode)
{ return fopen (filename, mode); }
-int __cdecl __MINGW_NOTHROW fseeko64 (FILE*, off64_t, int);
+int __cdecl __MINGW_NOTHROW fseeko64 (FILE*, __off64_t, int);
#ifdef __USE_MINGW_FSEEK
-int __cdecl __MINGW_NOTHROW __mingw_fseeko64 (FILE *, off64_t, int);
+int __cdecl __MINGW_NOTHROW __mingw_fseeko64 (FILE *, __off64_t, int);
#define fseeko64(fp, offset, whence) __mingw_fseeko64(fp, offset, whence)
#endif
__CRT_INLINE __LIBIMPL__(( FUNCTION = ftello64 ))
-off64_t __cdecl __MINGW_NOTHROW ftello64 (FILE * stream)
-{
- fpos_t pos;
- if (fgetpos(stream, &pos))
- return -1LL;
- else
- return ((off64_t) pos);
-}
-#endif /* __NO_MINGW_LFS */
+__off64_t __cdecl __MINGW_NOTHROW ftello64 (FILE * stream)
+{ fpos_t __pos; return (fgetpos(stream, &__pos)) ? -1LL : (__off64_t)(__pos); }
-#endif /* Not __STRICT_ANSI__ */
+#endif /* __MSVCRT__ && !__NO_MINGW_LFS */
+#endif /* !__STRICT_ANSI__ */
/* Wide versions */
-
#ifndef _WSTDIO_DEFINED
/* also in wchar.h - keep in sync */
_CRTIMP int __cdecl __MINGW_NOTHROW fwprintf (FILE*, const wchar_t*, ...);
diff --git a/mingwrt/include/sys/types.h b/mingwrt/include/sys/types.h
index 2113f77..007b6b4 100644
--- a/mingwrt/include/sys/types.h
+++ b/mingwrt/include/sys/types.h
@@ -128,7 +128,7 @@ typedef long long fpos64_t;
#ifndef _OFF64_T_
#define _OFF64_T_
-typedef long long off64_t;
+typedef __int64 __off64_t;
#endif
#if _POSIX_C_SOURCE
diff --git a/mingwrt/mingwex/mingw-fseek.c b/mingwrt/mingwex/mingw-fseek.c
index 9154fa3..27b08ee 100644
--- a/mingwrt/mingwex/mingw-fseek.c
+++ b/mingwrt/mingwex/mingw-fseek.c
@@ -1,9 +1,38 @@
/*
- * Workaround for limitations on win9x where a file contents are
- * not zero'd out if you seek past the end and then write.
- * Copied from ming local-patch to binutils/bfd/libbfd.c written by
- * Mumit Khan <kh...@xr...>
+ * mingw-fseek.c
+ *
+ * Workaround for limitations on Win9x where extended file content
+ * is not zeroed out if you seek past the end and then write.
+ *
+ * $Id$
+ *
+ * Written by Mumit Khan <kh...@xr...>
+ * Copyright (C) 1999, 2002-2005, 2011, 2015, MinGW.org Project.
+ *
+ * Abstracted from MinGW local patch to binutils/bfd/libbfd.c
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice, this permission notice, and the following
+ * disclaimer shall be included in all copies or substantial portions of
+ * the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
*/
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdio.h>
@@ -14,13 +43,12 @@
static int __mingw_fseek_called;
/* The fseek in Win9x runtime does not zero out the file if seeking past
- the end; if you don't want random stuff from your disk included in your
- output DLL/executable, use this version instead. On WinNT/Win2k, it
- just calls runtime fseek().
-
- CHECK/FIXME: Does this work for both text and binary modes?? */
-
-
+ * the end; if you don't want random stuff from your disk included in your
+ * output DLL/executable, use this version instead. On WinNT/Win2k, it
+ * just calls runtime fseek().
+ *
+ * CHECK/FIXME: Does this work for both text and binary modes??
+ */
int
__mingw_fseek (FILE *fp, long offset, int whence)
{
@@ -30,7 +58,7 @@ __mingw_fseek (FILE *fp, long offset, int whence)
}
int
-__mingw_fseeko64 (FILE *fp, off64_t offset, int whence)
+__mingw_fseeko64 (FILE *fp, __off64_t offset, int whence)
{
# undef fseeko64
__mingw_fseek_called = 1;
@@ -42,65 +70,69 @@ __mingw_fwrite (const void *buffer, size_t size, size_t count, FILE *fp)
{
# undef fwrite
if ((_osver & 0x8000) && __mingw_fseek_called)
- {
- ULARGE_INTEGER actual_length;
- LARGE_INTEGER current_position = {{0LL}};
- __mingw_fseek_called = 0;
- fflush (fp);
- actual_length.u.LowPart = GetFileSize ((HANDLE) _get_osfhandle (fileno (fp)),
- &actual_length.u.HighPart);
- if (actual_length.u.LowPart == 0xFFFFFFFF
- && GetLastError() != NO_ERROR )
- return -1;
- current_position.u.LowPart = SetFilePointer ((HANDLE) _get_osfhandle (fileno (fp)),
- current_position.u.LowPart,
- ¤t_position.u.HighPart,
- FILE_CURRENT);
- if (current_position.u.LowPart == 0xFFFFFFFF
- && GetLastError() != NO_ERROR )
- return -1;
+ {
+ ULARGE_INTEGER actual_length;
+ LARGE_INTEGER current_position = {{0LL}};
+ __mingw_fseek_called = 0;
+ fflush (fp);
+ actual_length.u.LowPart = GetFileSize
+ ( (HANDLE) _get_osfhandle (fileno (fp)), &actual_length.u.HighPart
+ );
+ if (actual_length.u.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR )
+ return -1;
+ current_position.u.LowPart = SetFilePointer
+ ( (HANDLE) _get_osfhandle (fileno (fp)), current_position.u.LowPart,
+ ¤t_position.u.HighPart, FILE_CURRENT
+ );
+ if (current_position.u.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR )
+ return -1;
-#ifdef DEBUG
- printf ("__mingw_fwrite: current %I64u, actual %I64u\n",
- current_position.QuadPart, actual_length.QuadPart);
-#endif /* DEBUG */
- if (current_position.QuadPart > actual_length.QuadPart)
- {
- static char __mingw_zeros[ZEROBLOCKSIZE];
- long long numleft;
-
- SetFilePointer ((HANDLE) _get_osfhandle (fileno (fp)),
- 0, 0, FILE_END);
- numleft = current_position.QuadPart - actual_length.QuadPart;
+# ifdef DEBUG
+ printf( "__mingw_fwrite: current %I64u, actual %I64u\n",
+ current_position.QuadPart, actual_length.QuadPart
+ );
+# endif /* DEBUG */
+ if( current_position.QuadPart > actual_length.QuadPart )
+ {
+ static char __mingw_zeros[ZEROBLOCKSIZE];
+ long long numleft;
-#ifdef DEBUG
- printf ("__mingw_fwrite: Seeking %I64d bytes past end\n", numleft);
-#endif /* DEBUG */
- while (numleft > 0LL)
- {
- DWORD nzeros = (numleft > ZEROBLOCKSIZE)
- ? ZEROBLOCKSIZE : numleft;
- DWORD written;
- if (! WriteFile ((HANDLE) _get_osfhandle (fileno (fp)),
- __mingw_zeros, nzeros, &written, NULL))
- {
- /* Best we can hope for, or at least DJ says so. */
- SetFilePointer ((HANDLE) _get_osfhandle (fileno (fp)),
- 0, 0, FILE_BEGIN);
- return -1;
- }
- if (written < nzeros)
- {
- /* Likewise. */
- SetFilePointer ((HANDLE) _get_osfhandle (fileno (fp)),
- 0, 0, FILE_BEGIN);
- return -1;
- }
+ SetFilePointer( (HANDLE) _get_osfhandle (fileno (fp)), 0, 0, FILE_END );
+ numleft = current_position.QuadPart - actual_length.QuadPart;
- numleft -= written;
- }
- FlushFileBuffers ((HANDLE) _get_osfhandle (fileno (fp)));
+# ifdef DEBUG
+ printf( "__mingw_fwrite: Seeking %I64d bytes past end\n", numleft );
+# endif /* DEBUG */
+ while( numleft > 0LL )
+ {
+ DWORD nzeros = (numleft > ZEROBLOCKSIZE)
+ ? ZEROBLOCKSIZE
+ : numleft;
+ DWORD written;
+ if( ! WriteFile ((HANDLE) _get_osfhandle (fileno (fp)),
+ __mingw_zeros, nzeros, &written, NULL)
+ )
+ { /* Best we can hope for, or at least DJ says so.
+ */
+ SetFilePointer( (HANDLE) _get_osfhandle (fileno (fp)),
+ 0, 0, FILE_BEGIN
+ );
+ return -1;
+ }
+ if( written < nzeros )
+ {
+ /* Likewise. */
+ SetFilePointer( (HANDLE) _get_osfhandle (fileno (fp)),
+ 0, 0, FILE_BEGIN
+ );
+ return -1;
}
+ numleft -= written;
+ }
+ FlushFileBuffers ((HANDLE) _get_osfhandle (fileno (fp)));
}
- return (fwrite) (buffer, size, count, fp);
+ }
+ return (fwrite)(buffer, size, count, fp);
}
+
+/* $RCSfile$: end of file */
diff --git a/mingwrt/mingwex/stdio/fseeko64.c b/mingwrt/mingwex/stdio/fseeko64.c
index d8dcc0c..aba0fed 100644
--- a/mingwrt/mingwex/stdio/fseeko64.c
+++ b/mingwrt/mingwex/stdio/fseeko64.c
@@ -1,9 +1,42 @@
-#include <stdio.h>
+/*
+ * fseeko64.c
+ *
+ * Seek to 64-offset within a file stream; uses same reference bases
+ * as fseek(), but offset is an implementation specific __off64_t type.
+ *
+ * $Id$
+ *
+ * Written by Kees Zeelenberg <kz...@us...>
+ * and Danny Smith <dan...@us...>
+ * Copyright (C) 2004, 2005, 2015, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice, this permission notice, and the following
+ * disclaimer shall be included in all copies or substantial portions of
+ * the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
#include <io.h>
+#include <stdio.h>
#include <errno.h>
int __cdecl
-fseeko64 (FILE* stream, off64_t offset, int whence)
+fseeko64 (FILE* stream, __off64_t offset, int whence)
{
fpos_t pos;
if (whence == SEEK_CUR)
@@ -11,16 +44,16 @@ fseeko64 (FILE* stream, off64_t offset, int whence)
/* If stream is invalid, fgetpos sets errno. */
if (fgetpos (stream, &pos))
return (-1);
- pos += (fpos_t) offset;
+ pos += (fpos_t)(offset);
}
else if (whence == SEEK_END)
{
/* If writing, we need to flush before getting file length. */
fflush (stream);
- pos = (fpos_t) (_filelengthi64 (_fileno (stream)) + offset);
+ pos = (fpos_t)(_filelengthi64 (_fileno (stream)) + offset);
}
else if (whence == SEEK_SET)
- pos = (fpos_t) offset;
+ pos = (fpos_t)(offset);
else
{
errno = EINVAL;
@@ -28,3 +61,5 @@ fseeko64 (FILE* stream, off64_t offset, int whence)
}
return fsetpos (stream, &pos);
}
+
+/* $RCSfile$: end of file */
-----------------------------------------------------------------------
Summary of changes:
mingwrt/ChangeLog | 24 ++++++
mingwrt/include/io.h | 9 +-
mingwrt/include/stdio.h | 22 ++---
mingwrt/include/sys/types.h | 2 +-
mingwrt/mingwex/mingw-fseek.c | 168 ++++++++++++++++++++++---------------
mingwrt/mingwex/stdio/fseeko64.c | 45 +++++++++-
6 files changed, 177 insertions(+), 93 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Erwin W. <no...@so...> - 2015-12-29 22:34:32
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-dist".
The branch, master has been updated
via c17ca41804a31dc13064afbc6c4b1ebc847b41cd (commit)
from 50485f6c0f96ded573d6fc0105aaef91305f19a5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-dist/ci/c17ca41804a31dc13064afbc6c4b1ebc847b41cd/
commit c17ca41804a31dc13064afbc6c4b1ebc847b41cd
Author: Erwin Waterlander <wat...@xs...>
Date: Tue Dec 22 19:37:50 2015 +0100
upgrade dos2unix to version 7.3.2
diff --git a/ChangeLog b/ChangeLog
index 5107869..13e568e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2015-12-22 Erwin Waterlander <wat...@xs...>
+
+ Upgrade dos2unix to version 7.3.2.
+
+ * mingw32/mingw32-dos2unix.xml: Updated for dos2unix version 7.3.2.
+ * msys/msys-dos2unix.xml: Updated for dos2unix version 7.3.2.
+ * mingw32/issue.log: Updated accordingly.
+ * msys/issue.log: Updated accordingly.
+ * common/issue.log: Updated accordingly.
+
2015-09-20 Keith Marshall <kei...@us...>
Upgrade binutils package to version 2.25.1 (correction)
diff --git a/common/issue.log b/common/issue.log
index 67b01ec..3e85fcc 100644
--- a/common/issue.log
+++ b/common/issue.log
@@ -23,6 +23,6 @@
# MinGW Project, accept liability for any damages, however caused,
# arising from the use of this software.
#
- 75fc52dde8d408d798c0be51070d5d02f4c63085 2015092000 package-list.xml
+ 75fc52dde8d408d798c0be51070d5d02f4c63085 2015122200 package-list.xml
#
# $RCSfile$: end of file
diff --git a/mingw32/issue.log b/mingw32/issue.log
index 0fe9479..bad10e1 100644
--- a/mingw32/issue.log
+++ b/mingw32/issue.log
@@ -31,7 +31,7 @@
770165afae7b51cfa83d34d0115d7dd563b4557f 2015092000 mingw32-binutils.xml
b4c60a4702749a0369b5059e7c1f50ce567e2c95 2012073100 mingw32-bzip2.xml
c2fa4fe580615c774f72216fb06e35a909a08ba6 2012040200 mingw32-cygutils.xml
- edf7a0775bc30b6d17d4fbe7f0d5438aea2768ba 2015070300 mingw32-dos2unix.xml
+ 6f0af5165a7ca9f67fdb7840dc5f7a5dda999c2a 2015122200 mingw32-dos2unix.xml
4dab2d86ca2203a8ac0233824c687504fda4601e 2013091000 mingw32-expat.xml
bc4b331f9bdfbf72a11a310fbc17a027396d09d5 2012073100 mingw32-gcc-tools.xml
9d1d9deeccee4fb04f2944e3cd5e7b85757308ce 2011050500 mingw32-gcc3.xml
@@ -50,7 +50,7 @@
cd33ad74b608bce33ea297801253e6efbafce27c 2012073100 mingw32-mingw-utils.xml
8d3a7125499a85916b53efb4c897ac907e2490ab 2015082000 mingw32-mpc.xml
8a11de23e7a89fd11436bdf162ef90712f30101b 2013102300 mingw32-mpfr.xml
- 1413ad59660ad963082e7de10c31bbb725116aee 2015092000 mingw32-package-list.xml
+ 1413ad59660ad963082e7de10c31bbb725116aee 2015122200 mingw32-package-list.xml
1f15439ee5f66ec22321c7aa853559b6f8f7172f 2015090800 mingw32-pexports.xml
cdb2a4dbedfc9f2cdfc92340f6f9b12da061c0d9 2012073100 mingw32-popt.xml
0a5d210a13d073104fb74b4f9c081674c9745cd1 2013090900 mingw32-pthreads-w32.xml
diff --git a/mingw32/mingw32-dos2unix.xml b/mingw32/mingw32-dos2unix.xml
index 7c375a8..da8cbb3 100644
--- a/mingw32/mingw32-dos2unix.xml
+++ b/mingw32/mingw32-dos2unix.xml
@@ -19,6 +19,10 @@
<source tarname="dos2unix-%-mingw32-%-src.tar.%" />
<component class="bin">
+ <release tarname="dos2unix-7.3.2-1-mingw32-bin.tar.lzma" >
+ <requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
+ <requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
+ </release>
<release tarname="dos2unix-7.2.3-1-mingw32-bin.tar.lzma" >
<requires eq="mingw32-libiconv-*-mingw32-*-dll-2.tar" />
<requires eq="mingw32-libintl-*-mingw32-*-dll-8.tar" />
@@ -71,6 +75,7 @@
</component>
<component class="doc">
+ <release tarname="dos2unix-7.3.2-1-mingw32-doc.tar.lzma" />
<release tarname="dos2unix-7.2.3-1-mingw32-doc.tar.lzma" />
<release tarname="dos2unix-7.2.2-1-mingw32-doc.tar.lzma" />
<release tarname="dos2unix-7.1-1-mingw32-doc.tar.lzma" />
@@ -89,6 +94,7 @@
</component>
<component class="lic">
+ <release tarname="dos2unix-7.3.2-1-mingw32-lic.tar.lzma" />
<release tarname="dos2unix-7.2.3-1-mingw32-lic.tar.lzma" />
<release tarname="dos2unix-7.2.2-1-mingw32-lic.tar.lzma" />
<release tarname="dos2unix-7.1-1-mingw32-lic.tar.lzma" />
diff --git a/msys/issue.log b/msys/issue.log
index 6a50a60..c1f515b 100644
--- a/msys/issue.log
+++ b/msys/issue.log
@@ -41,7 +41,7 @@
000b65b5e1d1c9a0bf3fcb08e08d73cd952f3963 2012073100 msys-dash.xml
dcce1ddf19a9c305adb350e958de55676cf69112 2012073100 msys-diffstat.xml
5cc54287970aca239fc154e9b46c988ef57b5c9a 2012073100 msys-diffutils.xml
- fe3fd18ee479d8c75119bc857466aa55081db70c 2015070300 msys-dos2unix.xml
+ 2846b6d6c8ebb8866b0b180bff42a4073f7dab60 2015122200 msys-dos2unix.xml
2654c6f215facbc7aa9a7391a76e9f626ee2188c 2012073100 msys-expat.xml
2a9bc928f054128d683e2f07e11aa5c73271eb82 2012073100 msys-file.xml
43501d0b51f801f6ee2b124c361b20223fcfeff2 2012073100 msys-findutils.xml
@@ -73,7 +73,7 @@
ec0f6517ee5afb3d8f4887dd0061b558604fd3f5 2012073100 msys-mktemp.xml
243df0057053eebc442d922dff075e09fb579805 2012073100 msys-openssh.xml
0103c79956ba9fa128755cd93374f0fc334c7cf6 2012073100 msys-openssl.xml
- 0defc38585dbedbe010d82bdf6e4dbbae8fb1398 2015082000 msys-package-list.xml
+ 0defc38585dbedbe010d82bdf6e4dbbae8fb1398 2015122200 msys-package-list.xml
d19e1e39e5fab25a3d40acb92b98b40a60b0da90 2012073100 msys-patch.xml
d4f194d2e95035da2b712c54053fb6ad5d45e1d9 2013101200 msys-perl.xml
19ddf46e23e23010a440af1b423d986712c3bda7 2012073100 msys-popt.xml
diff --git a/msys/msys-dos2unix.xml b/msys/msys-dos2unix.xml
index e138573..ef5f1fa 100644
--- a/msys/msys-dos2unix.xml
+++ b/msys/msys-dos2unix.xml
@@ -20,6 +20,11 @@
<source tarname="dos2unix-%-msys-%-src.tar.%" />
<component class="bin">
+ <release tarname="dos2unix-7.3.2-1-msys-1.0.18-bin.tar.lzma" >
+ <requires eq="msys-core-*-msys-*-bin.tar" />
+ <requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
+ <requires eq="msys-libintl-*-msys-*-dll-8.tar" />
+ </release>
<release tarname="dos2unix-7.2.3-1-msys-1.0.18-bin.tar.lzma" >
<requires eq="msys-core-*-msys-*-bin.tar" />
<requires eq="msys-libiconv-*-msys-*-dll-2.tar" />
@@ -83,6 +88,7 @@
</component>
<component class="doc">
+ <release tarname="dos2unix-7.3.2-1-msys-1.0.18-doc.tar.lzma" />
<release tarname="dos2unix-7.2.3-1-msys-1.0.18-doc.tar.lzma" />
<release tarname="dos2unix-7.2.2-1-msys-1.0.18-doc.tar.lzma" />
<release tarname="dos2unix-7.1-1-msys-1.0.17-doc.tar.lzma" />
@@ -103,6 +109,7 @@
</component>
<component class="lic">
+ <release tarname="dos2unix-7.3.2-1-msys-1.0.18-lic.tar.lzma" />
<release tarname="dos2unix-7.2.3-1-msys-1.0.18-lic.tar.lzma" />
<release tarname="dos2unix-7.2.2-1-msys-1.0.18-lic.tar.lzma" />
<release tarname="dos2unix-7.1-1-msys-1.0.17-lic.tar.lzma" />
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 10 ++++++++++
common/issue.log | 2 +-
mingw32/issue.log | 4 ++--
mingw32/mingw32-dos2unix.xml | 6 ++++++
msys/issue.log | 4 ++--
msys/msys-dos2unix.xml | 7 +++++++
6 files changed, 28 insertions(+), 5 deletions(-)
hooks/post-receive
--
Repository: mingw-dist
|
|
From: Keith M. <no...@so...> - 2015-12-27 18:02:12
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via 7f210a0beee915334348d23c9ac68e07c5a6f8c3 (commit)
from 0cfee8bd7cb2e869739830dea1f0d0d4b9e5824e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/7f210a0beee915334348d23c9ac68e07c5a6f8c3/
commit 7f210a0beee915334348d23c9ac68e07c5a6f8c3
Author: Keith Marshall <kei...@us...>
Date: Sun Dec 27 12:26:00 2015 +0000
Improve ISO-C conformity in MinGW printf(); cf. MinGW-Bug [#1761]
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 09e6c59..0c7350d 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,33 @@
+2015-12-27 Keith Marshall <kei...@us...>
+
+ Improve ISO-C conformity in MinGW printf(); cf. MinGW-Bug [#1761]
+
+ * mingwex/ofmtctl.c: New file; it implements...
+ (_mingw_output_format_control): ...this new function; it provides
+ additional MinGW specific printf() format processing options.
+
+ * Makefile.in (libmingwex.a) [prerequisites]: Add ofmtctl.$OBJEXT
+
+ * include/stdio.h (_mingw_output_format_control): Declare it.
+ (_EXPONENT_DIGIT_MASK, _MSVC_PRINTF_QUIRKS, _QUERY_MSVC_PRINTF_QUIRKS)
+ (_ENABLE_MSVC_PRINTF_QUIRKS, _DISABLE_MSVC_PRINTF_QUIRKS): New
+ manifest constant expressions; define them.
+
+ * mingwex/stdio/pformat.c: Revise licensing terms.
+ (__pformat) [%le, %lE, %lf, %lF, %lg, %lG, %lx, %lX]: When...
+ [_mingw_output_format_flag & _MSVC_PRINTF_QUIRKS == 0]: ...ignore `l'
+ modifier; this matches the behaviour specified by ISO-C99, else...
+ [_mingw_output_format_flag & _MSVC_PRINTF_QUIRKS != 0]: ...revert to
+ previous MSVC compatible behaviour, treating it as an `L' modifier.
+ [!_WIN32] (_MSVC_PRINTF_QUIRKS): Force the zero match case.
+
+ * mingwex/ofmt.c (ARGLIST): Subsume references to...
+ (ARGTYPE): ...this now obsolete macro; delete it throughout.
+ (update_output_format_flag): New inline function; it restricts flag
+ operations to affect only Microsoft's exponent digit bits.
+ [FUNCTION == _set_output_format]: Use it.
+ [FUNCTION == _get_output_format]: Likewise.
+
2015-10-23 Keith Marshall <kei...@us...>
Make atof() and strtod() conform to ISO-C; fix MinGW-Bug [#2273]
diff --git a/mingwrt/Makefile.in b/mingwrt/Makefile.in
index 0f7c3b0..55afdb3 100644
--- a/mingwrt/Makefile.in
+++ b/mingwrt/Makefile.in
@@ -430,9 +430,9 @@ libmingwex.a: $(addsuffix .$(OBJEXT), cosf cosl acosf acosl sinf sinl asinf \
# compatibility than their Microsoft equivalents.
#
vpath %.c ${mingwrt_srcdir}/mingwex/stdio
-libmingwex.a: $(addsuffix .$(OBJEXT), btowc fprintf fseeko64 pformat \
- printf snprintf snwprintf sprintf vfprintf vfscanf vfwscanf vprintf \
- vscanf vsnprintf vsnwprintf vsprintf vsscanf vswscanf vwscanf)
+libmingwex.a: $(addsuffix .$(OBJEXT), btowc fprintf fseeko64 ofmtctl pformat \
+ printf snprintf snwprintf sprintf vfprintf vfscanf vfwscanf vprintf vscanf \
+ vsnprintf vsnwprintf vsprintf vsscanf vswscanf vwscanf)
# pformat.$(OBJEXT) needs an explicit build rule, since we need to
# specify an additional header file path.
diff --git a/mingwrt/include/stdio.h b/mingwrt/include/stdio.h
index 02fb4df..094ebad 100644
--- a/mingwrt/include/stdio.h
+++ b/mingwrt/include/stdio.h
@@ -188,11 +188,9 @@ _CRTIMP int __cdecl __MINGW_NOTHROW unlink (const char*);
#endif /* __STRICT_ANSI__ */
_CRTIMP int __cdecl __MINGW_NOTHROW setvbuf (FILE*, char*, int, size_t);
-
_CRTIMP void __cdecl __MINGW_NOTHROW setbuf (FILE*, char*);
-/*
- * Formatted Output
+/* Formatted Output
*
* MSVCRT implementations are not ANSI C99 conformant...
* we offer these conforming alternatives from libmingwex.a
@@ -209,6 +207,33 @@ extern int __mingw_stdio_redirect__(vprintf)(const char*, __VALIST);
extern int __mingw_stdio_redirect__(vsprintf)(char*, const char*, __VALIST);
extern int __mingw_stdio_redirect__(vsnprintf)(char*, size_t, const char*, __VALIST);
+/* When using these C99 conforming alternatives, we may wish to support
+ * some of Microsoft's quirky formatting options, even when they violate
+ * strict C99 conformance.
+ */
+#define _MSVC_PRINTF_QUIRKS 0x0100U
+#define _QUERY_MSVC_PRINTF_QUIRKS ~0U, 0U
+#define _DISABLE_MSVC_PRINTF_QUIRKS ~_MSVC_PRINTF_QUIRKS, 0U
+#define _ENABLE_MSVC_PRINTF_QUIRKS ~0U, _MSVC_PRINTF_QUIRKS
+
+/* Those quirks which conflict with ANSI C99 specified behaviour are
+ * disabled by default; use the following function, like this:
+ *
+ * _mingw_output_format_control( _ENABLE_MSVC_PRINTF_QUIRKS );
+ *
+ * to enable them, like this:
+ *
+ * state = _mingw_output_format_control( _QUERY_MSVC_PRINTF_QUIRKS )
+ * & _MSVC_PRINTF_QUIRKS;
+ *
+ * to ascertain the currently active enabled state, or like this:
+ *
+ * _mingw_output_format_control( _DISABLE_MSVC_PRINTF_QUIRKS );
+ *
+ * to disable them again.
+ */
+extern unsigned int _mingw_output_format_control( unsigned int, unsigned int );
+
#if __USE_MINGW_ANSI_STDIO
/*
* User has expressed a preference for C99 conformance...
@@ -523,6 +548,11 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _setmaxstdio (int);
*/
#define _THREE_DIGIT_EXPONENT 0
+/* Once again, unspecified by Microsoft, (and mostly redundant),
+ * it is convenient to specify a combining mask for these.
+ */
+#define _EXPONENT_DIGIT_MASK (_TWO_DIGIT_EXPONENT | _THREE_DIGIT_EXPONENT)
+
unsigned int __cdecl __mingw_get_output_format (void);
unsigned int __cdecl __mingw_set_output_format (unsigned int);
diff --git a/mingwrt/mingwex/ofmt.c b/mingwrt/mingwex/ofmt.c
index 5a8ccf3..9d7543e 100644
--- a/mingwrt/mingwex/ofmt.c
+++ b/mingwrt/mingwex/ofmt.c
@@ -8,7 +8,7 @@
* $Id$
*
* Written by Keith Marshall <kei...@us...>
- * Copyright (C) 2014, MinGW.org Project
+ * Copyright (C) 2014, 2015, MinGW.org Project
*
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -86,6 +86,10 @@
*/
extern unsigned int __mingw_output_format_flag;
+static __inline__ __attribute__((__always_inline__))
+unsigned int update_output_format_flag( unsigned int style )
+{ return (__mingw_output_format_flag & ~_EXPONENT_DIGIT_MASK) | style; }
+
#if defined __varofmt__
/*
* Here, we actually allocate the storage for recording the preferred
@@ -108,7 +112,7 @@ unsigned int __mingw_get_output_format_fallback( void )
/* Our replacement function simply returns the current setting of
* the assigned formatting style...
*/
- return __mingw_output_format_flag;
+ return __mingw_output_format_flag & _EXPONENT_DIGIT_MASK;
}
/* ...and, in the case of _set_output_format(), we simply map the
* requisite name to the common function implementation.
@@ -139,9 +143,8 @@ int __mingw_set_printf_count_output_fallback( int mode )
* Here, we are wrapping the _set_printf_count_output() function...
*/
# define RTNTYPE int
-# define ARGTYPE int
# define FUNCTION _set_printf_count_output
-# define ARGLIST mode
+# define ARGLIST int mode
#define api_helper_result api_helper( mode )
extern int __mingw_set_printf_count_output_fallback( int );
@@ -151,9 +154,8 @@ extern int __mingw_set_printf_count_output_fallback( int );
* ...while here, it is _get_printf_count_output().
*/
# define RTNTYPE int
-# define ARGTYPE void
# define FUNCTION _get_printf_count_output
-# define ARGLIST
+# define ARGLIST void
#define api_helper_result api_helper()
extern int __mingw_get_printf_count_output_fallback( void );
@@ -165,8 +167,7 @@ extern int __mingw_get_printf_count_output_fallback( void );
*/
# define RTNTYPE unsigned int
# define FUNCTION _set_output_format
-# define ARGTYPE unsigned int
-# define ARGLIST style
+# define ARGLIST unsigned int style
/* Our replacement function emulates the documented behaviour of
* its MSVCRT counterpart, assigning a new value for the recorded
@@ -181,8 +182,8 @@ api_invoke( unsigned int (*api_helper)(unsigned int), unsigned int style )
* to retrieve the previous value for return; thus it is able
* to use a handler in common with _get_output_format()...
*/
- unsigned int retval = api_helper( style );
- __mingw_output_format_flag = style;
+ unsigned int retval = api_helper( style &= _EXPONENT_DIGIT_MASK );
+ __mingw_output_format_flag = update_output_format_flag( style );
return retval;
}
/* ...while declaring its formal prototype as external.
@@ -197,10 +198,17 @@ extern unsigned int __mingw_set_output_format_fallback( unsigned int );
*/
# define RTNTYPE unsigned int
# define FUNCTION _get_output_format
-# define ARGTYPE void
-# define ARGLIST
+# define ARGLIST void
+
+static __inline__ __attribute__((__always_inline__))
+unsigned int api_invoke( unsigned int (*api_helper)( void ) )
+{
+ unsigned int retval = api_helper();
+ __mingw_output_format_flag = update_output_format_flag( retval );
+ return retval;
+}
-#define api_helper_result __mingw_output_format_flag = api_helper()
+#define api_helper_result api_invoke( api_helper )
extern unsigned int __mingw_get_output_format_fallback( void );
#endif
@@ -217,11 +225,11 @@ extern unsigned int __mingw_get_output_format_fallback( void );
#define __api_name__(FUNCTION) __stringify__(FUNCTION)
#define __stringify__(TEXT) #TEXT
-RTNTYPE __mingw_(FUNCTION)( ARGTYPE ARGLIST )
+RTNTYPE __mingw_(FUNCTION)( ARGLIST )
{
/* Our generic interface maps an indirect call to the API...
*/
- static RTNTYPE (*api_helper)( ARGTYPE ARGLIST ) = NULL;
+ static RTNTYPE (*api_helper)( ARGLIST ) = NULL;
/* ...such that it will prefer an MSVCRT implementation...
*/
diff --git a/mingwrt/mingwex/ofmtctl.c b/mingwrt/mingwex/ofmtctl.c
new file mode 100644
index 0000000..0728f94
--- /dev/null
+++ b/mingwrt/mingwex/ofmtctl.c
@@ -0,0 +1,69 @@
+/*
+ * ofmtctl.c
+ *
+ * Implementation of a MinGW.org specific helper routine, to manipulate
+ * supplementary output format control flags other than those specified
+ * for the Microsoft output format control API.
+ *
+ * $Id$
+ *
+ * Written by Keith Marshall <kei...@us...>
+ * Copyright (C) 2015, MinGW.org Project.
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice, this permission notice, and the following
+ * disclaimer shall be included in all copies or substantial portions of
+ * the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+#include <stdio.h>
+
+/* MinGW uses this public symbol to represent both Microsoft's exponent
+ * digit format flag, and supplementary MinGW.org specific flags.
+ */
+extern unsigned int __mingw_output_format_flags;
+
+/* The MinGW.org specific output format flag management API function.
+ * This provides both get and set capabilities for the MinGW specified
+ * flags; it has no effect on the Microsoft specified flags; use their
+ * _get_output_format() and _set_output_format() API functions when it
+ * is desired to manipulate them.
+ */
+unsigned int _mingw_output_format_control
+( unsigned int flags_to_keep, unsigned int flags_to_set )
+{
+ /* Return value is always based on current flag state.
+ */
+ unsigned int retval = __mingw_output_format_flags;
+
+ /* Adjust flags as specified by the mask of flags to keep,
+ * and add in any extra flags to set; always keep the state
+ * of the Microsoft specified flag bits, and decline to set
+ * them to any new state.
+ */
+ __mingw_output_format_flags &= flags_to_keep | _EXPONENT_DIGIT_MASK;
+ __mingw_output_format_flags |= flags_to_set & ~_EXPONENT_DIGIT_MASK;
+
+ /* Finally, exclude the Microsoft specified bits from the
+ * state to be returned, and return the original state of
+ * the MinGW specified bits.
+ */
+ return retval & ~_EXPONENT_DIGIT_MASK;
+}
+
+/* $RCSfile$: end of file */
diff --git a/mingwrt/mingwex/stdio/pformat.c b/mingwrt/mingwex/stdio/pformat.c
index c9dbf3e..75226d0 100644
--- a/mingwrt/mingwex/stdio/pformat.c
+++ b/mingwrt/mingwex/stdio/pformat.c
@@ -1,7 +1,7 @@
/* FIXME: to be removed one day; for now we explicitly are not
* prepared to support the POSIX-XSI additions to the C99 standard.
*/
-#undef WITH_XSI_FEATURES
+#undef WITH_XSI_FEATURES
/* pformat.c
*
@@ -13,15 +13,27 @@
* to support Microsoft's non-standard format specifications.
*
* Written by Keith Marshall <kei...@us...>
+ * Copyright (C) 2008, 2009, 2011, 2014, 2015, MinGW.org Project
*
- * This is free software. You may redistribute and/or modify it as you
- * see fit, without restriction of copyright.
*
- * This software is provided "as is", in the hope that it may be useful,
- * but WITHOUT WARRANTY OF ANY KIND, not even any implied warranty of
- * MERCHANTABILITY, nor of FITNESS FOR ANY PARTICULAR PURPOSE. At no
- * time will the author accept any form of liability for any damages,
- * however caused, resulting from the use of this software.
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice, this permission notice, and the following
+ * disclaimer shall be included in all copies or substantial portions of
+ * the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER
+ * DEALINGS IN THE SOFTWARE.
*
* The elements of this implementation which deal with the formatting
* of floating point numbers, (i.e. the `%e', `%E', `%f', `%F', `%g'
@@ -2217,25 +2229,42 @@ int __pformat( int flags, void *dest, int max, const char *fmt, va_list argv )
*/
++fmt;
length = PFORMAT_LENGTH_LLONG;
+ state = PFORMAT_END;
+ break;
}
else
- /* Modifier is `l'; data type is `long' sized...
+ { /* Modifier is `l'; data type is `long' sized...
*/
length = PFORMAT_LENGTH_LONG;
-# ifndef _WIN32
- /*
- * Microsoft's MSVCRT implementation also uses `l'
- * as a modifier for `long double'; if we don't want
- * to support that, we end this case here...
+ /* Microsoft's MSVCRT implementation also uses `l'
+ * as a modifier for `long double'; however, this
+ * conflicts with the usage specified by ISO-C and
+ * POSIX, so we definitely shouldn't support this
+ * anomaly for non-Windows builds...
*/
- state = PFORMAT_END;
- break;
-
- /* otherwise, we simply fall through...
+# ifndef _WIN32
+# undef _MSVC_PRINTF_QUIRKS
+# define _MSVC_PRINTF_QUIRKS 0
+# endif
+ /* ...nor should we support it by default, even in
+ * Windows builds, but we grant the user a mechanism
+ * to enable it via __mingw_output_format_flag.
+ */
+ if( (__mingw_output_format_flag & _MSVC_PRINTF_QUIRKS) == 0 )
+ {
+ /* When support for this Microsoft anomaly is NOT
+ * enabled, we must end this case right here...
+ */
+ state = PFORMAT_END;
+ break;
+ }
+ /* ...otherwise, we simply fall through, considering
+ * the `l' modifier as equivalent to `L`, in the case
+ * of floating point formats...
*/
-# endif
+ }
case 'L':
/*
-----------------------------------------------------------------------
Summary of changes:
mingwrt/ChangeLog | 30 +++++++++++++++++
mingwrt/Makefile.in | 6 ++--
mingwrt/include/stdio.h | 36 ++++++++++++++++++--
mingwrt/mingwex/ofmt.c | 38 +++++++++++++--------
mingwrt/mingwex/ofmtctl.c | 69 +++++++++++++++++++++++++++++++++++++++
mingwrt/mingwex/stdio/pformat.c | 67 +++++++++++++++++++++++++++-----------
6 files changed, 206 insertions(+), 40 deletions(-)
create mode 100644 mingwrt/mingwex/ofmtctl.c
hooks/post-receive
--
Repository: mingw-org-wsl
|