<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/compat, branch v2.9.3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.9.3</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.9.3'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-08-10T18:55:31Z</updated>
<entry>
<title>Merge branch 'js/nedmalloc-gcc6-warnings' into maint</title>
<updated>2016-08-10T18:55:31Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-08-10T18:55:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=05a6d0e9d08995378e7a37048d60fbae428106fb'/>
<id>urn:sha1:05a6d0e9d08995378e7a37048d60fbae428106fb</id>
<content type='text'>
Squelch compiler warnings for netmalloc (in compat/) library.

* js/nedmalloc-gcc6-warnings:
  nedmalloc: work around overzealous GCC 6 warning
  nedmalloc: fix misleading indentation
</content>
</entry>
<entry>
<title>Merge branch 'ew/daemon-socket-keepalive' into maint</title>
<updated>2016-08-08T21:21:37Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-08-08T21:21:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=172b811322e30ecb3cd660319890e41bc40006bc'/>
<id>urn:sha1:172b811322e30ecb3cd660319890e41bc40006bc</id>
<content type='text'>
Recent update to "git daemon" tries to enable the socket-level
KEEPALIVE, but when it is spawned via inetd, the standard input
file descriptor may not necessarily be connected to a socket.
Suppress an ENOTSOCK error from setsockopt().

* ew/daemon-socket-keepalive:
  Windows: add missing definition of ENOTSOCK
  daemon: ignore ENOTSOCK from setsockopt
</content>
</entry>
<entry>
<title>nedmalloc: work around overzealous GCC 6 warning</title>
<updated>2016-08-05T22:37:47Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2016-08-04T21:56:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c6c9e1885c9025f2e4074105e4fbe9b008e5d1a3'/>
<id>urn:sha1:c6c9e1885c9025f2e4074105e4fbe9b008e5d1a3</id>
<content type='text'>
With GCC 6, the strdup() function is declared with the "nonnull"
attribute, stating that it is not allowed to pass a NULL value as
parameter.

In nedmalloc()'s reimplementation of strdup(), Postel's Law is heeded
and NULL parameters are handled gracefully. GCC 6 complains about that
now because it thinks that NULL cannot be passed to strdup() anyway.

Because the callers in this project of strdup() must be prepared to
call any implementation of strdup() supplied by the platform, so it
is pointless to pretend that it is OK to call it with NULL.

Remove the conditional based on NULL-ness of the input; this
squelches the warning.  Check the return value of malloc() instead
to make sure we actually got the memory to write to.

See https://gcc.gnu.org/gcc-6/porting_to.html for details.

Diagnosed-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>nedmalloc: fix misleading indentation</title>
<updated>2016-08-04T17:42:05Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2016-08-04T16:07:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1e70105954fd85fcb198a4b5b95378ecc3e6beef'/>
<id>urn:sha1:1e70105954fd85fcb198a4b5b95378ecc3e6beef</id>
<content type='text'>
Some code in nedmalloc is indented in a funny way that could be
misinterpreted as if a line after a for loop was included in the loop
body, when it is not.

GCC 6 complains about this in DEVELOPER=YepSure mode.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Windows: add missing definition of ENOTSOCK</title>
<updated>2016-07-22T19:28:24Z</updated>
<author>
<name>Johannes Sixt</name>
<email>j6t@kdbg.org</email>
</author>
<published>2016-07-21T20:59:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fab60274800efba101b3f08a297639d14ecbf840'/>
<id>urn:sha1:fab60274800efba101b3f08a297639d14ecbf840</id>
<content type='text'>
The previous commit introduced the first use of ENOTSOCK. This macro is
not available on Windows. Define it as WSAENOTSOCK because that is the
corresponding error value reported by the Windows versions of socket
functions.

Signed-off-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 'js/mingw-parameter-less-c-functions' into maint</title>
<updated>2016-07-11T17:44:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-11T17:44:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=76180a2ba45986af0a0399690fef0ecd823348a5'/>
<id>urn:sha1:76180a2ba45986af0a0399690fef0ecd823348a5</id>
<content type='text'>
Some platform-specific code had non-ANSI strict declarations of C
functions that do not take any parameters, which has been
corrected.

* js/mingw-parameter-less-c-functions:
  mingw: let the build succeed with DEVELOPER=1
</content>
</entry>
<entry>
<title>Merge branch 'rj/compat-regex-size-max-fix' into maint</title>
<updated>2016-07-06T20:06:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-06T20:06:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c0144452efbd4de667c26dacad7dfb9fbca99705'/>
<id>urn:sha1:c0144452efbd4de667c26dacad7dfb9fbca99705</id>
<content type='text'>
A compilation fix.

* rj/compat-regex-size-max-fix:
  regex: fix a SIZE_MAX macro redefinition warning
</content>
</entry>
<entry>
<title>mingw: let the build succeed with DEVELOPER=1</title>
<updated>2016-06-20T19:12:12Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2016-06-18T12:38:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0767172b9068b225c06fd7ce66422e5936ec60a2'/>
<id>urn:sha1:0767172b9068b225c06fd7ce66422e5936ec60a2</id>
<content type='text'>
The recently introduced developer flags identified a couple of
old-style function declarations in the Windows-specific code where
the parameter list was left empty instead of specifying "void"
explicitly. Let's just fix them.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>regex: fix a SIZE_MAX macro redefinition warning</title>
<updated>2016-06-07T02:22:00Z</updated>
<author>
<name>Ramsay Jones</name>
<email>ramsay@ramsayjones.plus.com</email>
</author>
<published>2016-06-07T00:35:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bd8f0055836e7f9c5010d5ed81d3b20a835e44c8'/>
<id>urn:sha1:bd8f0055836e7f9c5010d5ed81d3b20a835e44c8</id>
<content type='text'>
Since commit 56a1a3ab ("Silence GCC's \"cast of pointer to integer of a
different size\" warning", 26-10-2015), sparse has been issuing a macro
redefinition warning for the SIZE_MAX macro. However, gcc did not issue
any such warning.

After commit 56a1a3ab, in terms of the order of #includes and #defines,
the code looked something like:

  $ cat -n junk.c
       1	#include &lt;stddef.h&gt;
       2
       3	#define SIZE_MAX ((size_t) -1)
       4
       5	#include &lt;stdint.h&gt;
       6
       7	int main(int argc, char *argv[])
       8	{
       9		return 0;
      10	}
  $
  $ gcc junk.c
  $

However, if you compile that file with -Wsystem-headers, then it will
also issue a warning. Having set -Wsystem-headers in CFLAGS, using the
config.mak file, then (on cygwin):

  $ make compat/regex/regex.o
      CC compat/regex/regex.o
  In file included from /usr/lib/gcc/x86_64-pc-cygwin/4.9.3/include/stdint.h:9:0,
                   from compat/regex/regcomp.c:21,
                   from compat/regex/regex.c:77:
  /usr/include/stdint.h:362:0: warning: "SIZE_MAX" redefined
   #define SIZE_MAX (__SIZE_MAX__)
   ^
  In file included from compat/regex/regex.c:69:0:
  compat/regex/regex_internal.h:108:0: note: this is the location of the previous definition
   # define SIZE_MAX ((size_t) -1)
   ^
  $

The compilation of the compat/regex code is somewhat unusual in that the
regex.c file directly #includes the other c files (regcomp.c, regexec.c
and regex_internal.c). Commit 56a1a3ab added an #include of &lt;stdint.h&gt;
to the regcomp.c file, which results in the redefinition, since this is
included after the regex_internal.h header. This header file contains a
'fallback' definition for SIZE_MAX, in order to support systems which do
not have the &lt;stdint.h&gt; header (the HAVE_STDINT_H macro is not defined).

In order to suppress the warning, we move the #include of &lt;stdint.h&gt;
from regcomp.c to the start of the compilation unit, close to the top
of regex.c, prior to the #include of the regex_internal.h header.

Signed-off-by: Ramsay Jones &lt;ramsay@ramsayjones.plus.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kb/msys2-tty' into maint</title>
<updated>2016-06-06T21:27:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-06-06T21:27:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1676827c859d838dc104a21f993af40d01586c0f'/>
<id>urn:sha1:1676827c859d838dc104a21f993af40d01586c0f</id>
<content type='text'>
The "are we talking with TTY, doing an interactive session?"
detection has been updated to work better for "Git for Windows".

* kb/msys2-tty:
  mingw: make isatty() recognize MSYS2's pseudo terminals (/dev/pty*)
</content>
</entry>
</feed>
