8279d89d6e
...since1bb0e17712
"Fix autoconf>=2.70 gcc-wrapper breakage", which had the side effect of preventing various deprecated function declarations in system headers (e.g., isascii in addition to __isascii). This went unnoticed so far due to the traditionally lax handling of missing function declarations in C, and only now started to cause > conversion.c(94,9): error: call to undeclared function 'isascii'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] > if ((isascii (*istr) && isprint (*istr)) || (*istr >= 0x80)) > ^ etc. with clang-cl 15 trunk after <7d644e1215
> "[C11/C2x] Change the behavior of the implicit function declaration warning". Where undeclared functions have been used in Windows-only code, they have been replaced with their __STDC__-declared counterparts, and for occurrences in shared code Windows-only macro definitions have been introduced (as would have done in the system headers too, if __STDC__ was not defined) to not clutter the shared code with #ifdefs. Also, for getpid (resp. _getpid), the #include <process.h> was apparently missing from the upstream code, even without our __STDC__ hack in external/libassuan/ExternalProject_libassuan.mk (but never caused errors until now, either). Change-Id: I7442394d0c6e633bca1f6c7331d7ee51651179a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133339 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
74 lines
1.8 KiB
Diff
74 lines
1.8 KiB
Diff
--- src/assuan-handler.c
|
|
+++ src/assuan-handler.c
|
|
@@ -938,7 +938,7 @@
|
|
#if defined(HAVE_W32CE_SYSTEM)
|
|
fdarray[n++] = (void*)fileno (ctx->outbound.data.fp);
|
|
#elif defined(HAVE_W32_SYSTEM)
|
|
- fdarray[n++] = (void*)_get_osfhandle (fileno (ctx->outbound.data.fp));
|
|
+ fdarray[n++] = (void*)_get_osfhandle (_fileno (ctx->outbound.data.fp));
|
|
#else
|
|
fdarray[n++] = fileno (ctx->outbound.data.fp);
|
|
#endif
|
|
--- src/assuan-logging.c
|
|
+++ src/assuan-logging.c
|
|
@@ -30,10 +30,15 @@
|
|
# ifdef HAVE_WINSOCK2_H
|
|
# include <winsock2.h>
|
|
# endif
|
|
+# include <process.h>
|
|
+# define getpid _getpid
|
|
# include <windows.h>
|
|
#endif /*HAVE_W32_SYSTEM*/
|
|
#include <errno.h>
|
|
#include <ctype.h>
|
|
+#if defined HAVE_W32_SYSTEM
|
|
+#define isascii __isascii
|
|
+#endif
|
|
|
|
#include "assuan-defs.h"
|
|
|
|
--- src/assuan-pipe-connect.c
|
|
+++ src/assuan-pipe-connect.c
|
|
@@ -47,6 +47,8 @@
|
|
# ifdef HAVE_WINSOCK2_H
|
|
# include <winsock2.h>
|
|
# endif
|
|
+# include <process.h>
|
|
+# define getpid _getpid
|
|
# include <windows.h>
|
|
#endif
|
|
|
|
--- src/assuan-socket.c
|
|
+++ src/assuan-socket.c
|
|
@@ -27,6 +27,8 @@
|
|
#include <stdlib.h>
|
|
#ifdef HAVE_W32_SYSTEM
|
|
# define WIN32_LEAN_AND_MEAN
|
|
+# include <process.h>
|
|
+# define getpid _getpid
|
|
# include <windows.h>
|
|
# include <wincrypt.h>
|
|
#ifndef HAVE_W32CE_SYSTEM
|
|
--- src/conversion.c
|
|
+++ src/conversion.c
|
|
@@ -27,6 +27,9 @@
|
|
#include <string.h>
|
|
#include <errno.h>
|
|
#include <ctype.h>
|
|
+#if defined HAVE_W32_SYSTEM
|
|
+#define isascii __isascii
|
|
+#endif
|
|
|
|
#include "assuan-defs.h"
|
|
#include "debug.h"
|
|
--- src/system-w32.c
|
|
+++ src/system-w32.c
|
|
@@ -453,7 +453,7 @@
|
|
|
|
/* Dup stderr to /dev/null unless it is in the list of FDs to be
|
|
passed to the child. */
|
|
- fd = assuan_fd_from_posix_fd (fileno (stderr));
|
|
+ fd = assuan_fd_from_posix_fd (_fileno (stderr));
|
|
fdp = fd_child_list;
|
|
if (fdp)
|
|
{
|