<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/compat, branch v2.12.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.12.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.12.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2017-02-16T22:45:13Z</updated>
<entry>
<title>Merge branch 'js/mingw-isatty'</title>
<updated>2017-02-16T22:45:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-02-16T22:45:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e048a257bfe66e6eead5e212b5449ffd108de707'/>
<id>urn:sha1:e048a257bfe66e6eead5e212b5449ffd108de707</id>
<content type='text'>
A hotfix for a topic already in 'master'.

* js/mingw-isatty:
  mingw: make stderr unbuffered again
</content>
</entry>
<entry>
<title>mingw: make stderr unbuffered again</title>
<updated>2017-02-14T18:54:21Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2017-02-13T22:34:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a4d92d579f792e8eac4f7cf590bfffc522bf3da9'/>
<id>urn:sha1:a4d92d579f792e8eac4f7cf590bfffc522bf3da9</id>
<content type='text'>
When removing the hack for isatty(), we actually removed more than just
an isatty() hack: we removed the hack where internal data structures of
the MSVC runtime are modified in order to redirect stdout/stderr.

Instead of using that hack (that does not work with newer versions of
the runtime, anyway), we replaced it by reopening the respective file
descriptors.

What we forgot was to mark stderr as unbuffered again.

Reported by Hannes Sixt. Fixed with Jeff Hostetler's assistance.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Tested-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rs/qsort-s'</title>
<updated>2017-01-31T21:15:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-01-31T21:15:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6ad8b8e98faa5a301a98a2997da162dea060672e'/>
<id>urn:sha1:6ad8b8e98faa5a301a98a2997da162dea060672e</id>
<content type='text'>
A few codepaths had to rely on a global variable when sorting
elements of an array because sort(3) API does not allow extra data
to be passed to the comparison function.  Use qsort_s() when
natively available, and a fallback implementation of it when not,
to eliminate the need, which is a prerequisite for making the
codepath reentrant.

* rs/qsort-s:
  ref-filter: use QSORT_S in ref_array_sort()
  string-list: use QSORT_S in string_list_sort()
  perf: add basic sort performance test
  add QSORT_S
  compat: add qsort_s()
</content>
</entry>
<entry>
<title>Merge branch 'js/mingw-isatty'</title>
<updated>2017-01-31T21:14:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-01-31T21:14:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d515fe08fc188ed5a23537a8218a32caf716ff49'/>
<id>urn:sha1:d515fe08fc188ed5a23537a8218a32caf716ff49</id>
<content type='text'>
An update to a topic that is already in 'master'.

* js/mingw-isatty:
  mingw: follow-up to "replace isatty() hack"
</content>
</entry>
<entry>
<title>compat: add qsort_s()</title>
<updated>2017-01-23T19:02:34Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2017-01-22T17:51:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=04ee8b875b96c096c479132adca02fa734c3fa96'/>
<id>urn:sha1:04ee8b875b96c096c479132adca02fa734c3fa96</id>
<content type='text'>
The function qsort_s() was introduced with C11 Annex K; it provides the
ability to pass a context pointer to the comparison function, supports
the convention of using a NULL pointer for an empty array and performs a
few safety checks.

Add an implementation based on compat/qsort.c for platforms that lack a
native standards-compliant qsort_s() (i.e. basically everyone).  It
doesn't perform the full range of possible checks: It uses size_t
instead of rsize_t and doesn't check nmemb and size against RSIZE_MAX
because we probably don't have the restricted size type defined.  For
the same reason it returns int instead of errno_t.

Signed-off-by: Rene Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>mingw: follow-up to "replace isatty() hack"</title>
<updated>2017-01-18T21:31:25Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2017-01-18T12:14:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1d3f065e0e4090a78640642cc1c1a3ce91d7852a'/>
<id>urn:sha1:1d3f065e0e4090a78640642cc1c1a3ce91d7852a</id>
<content type='text'>
The version of the "replace isatty() hack" that got merged a few
weeks ago did not actually reflect the latest iteration of the patch
series: v3 was sent out with these changes, as requested by the
reviewer Johannes Sixt:

- reworded the comment about "recycling handles"

- moved the reassignment of the `console` variable before the dup2()
  call so that it is valid at all times

- removed the "handle = INVALID_HANDLE_VALUE" assignment, as the local
  variable `handle` is not used afterwards anyway

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Reviewed-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'mk/mingw-winansi-ttyname-termination-fix' into maint</title>
<updated>2017-01-17T23:19:03Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-01-17T23:19:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8554ee155d8e69703dfaa04d03cd45f2d82f1a0f'/>
<id>urn:sha1:8554ee155d8e69703dfaa04d03cd45f2d82f1a0f</id>
<content type='text'>
A potential but unlikely buffer overflow in Windows port has been
fixed.

* mk/mingw-winansi-ttyname-termination-fix:
  mingw: consider that UNICODE_STRING::Length counts bytes
</content>
</entry>
<entry>
<title>Merge branch 'js/mingw-isatty'</title>
<updated>2016-12-27T08:11:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-12-27T08:11:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=58fcd54853023b28a44016c06bd84fc91d2556ed'/>
<id>urn:sha1:58fcd54853023b28a44016c06bd84fc91d2556ed</id>
<content type='text'>
Update the isatty() emulation for Windows by updating the previous
hack that depended on internals of (older) MSVC runtime.

* js/mingw-isatty:
  mingw: replace isatty() hack
  mingw: fix colourization on Cygwin pseudo terminals
  mingw: adjust is_console() to work with stdin
</content>
</entry>
<entry>
<title>Merge branch 'mk/mingw-winansi-ttyname-termination-fix'</title>
<updated>2016-12-27T08:11:44Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-12-27T08:11:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c5139e0e3811ea3f6014187e76b243ccf287cb83'/>
<id>urn:sha1:c5139e0e3811ea3f6014187e76b243ccf287cb83</id>
<content type='text'>
A potential but unlikely buffer overflow in Windows port has been
fixed.

* mk/mingw-winansi-ttyname-termination-fix:
  mingw: consider that UNICODE_STRING::Length counts bytes
</content>
</entry>
<entry>
<title>mingw: replace isatty() hack</title>
<updated>2016-12-22T17:58:46Z</updated>
<author>
<name>Jeff Hostetler</name>
<email>jeffhost@microsoft.com</email>
</author>
<published>2016-12-22T17:09:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a9b8a09c3c30886c79133da9f48ef9f98c21c3b2'/>
<id>urn:sha1:a9b8a09c3c30886c79133da9f48ef9f98c21c3b2</id>
<content type='text'>
Git for Windows has carried a patch that depended on internals
of MSVC runtime, but it does not work correctly with recent MSVC
runtime. A replacement was written originally for compiling
with VC++. The patch in this message is a backport of that
replacement, and it also fixes the previous attempt to make
isatty() tell that /dev/null is *not* an interactive terminal.

Signed-off-by: Jeff Hostetler &lt;jeffhost@microsoft.com&gt;
Tested-by: Beat Bolli &lt;dev+git@drbeat.li&gt;
Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
