]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-108765: Remove old prototypes from pyport.h (#108782)
authorVictor Stinner <vstinner@python.org>
Sat, 2 Sep 2023 13:46:43 +0000 (15:46 +0200)
committerGitHub <noreply@github.com>
Sat, 2 Sep 2023 13:46:43 +0000 (15:46 +0200)
Move prototypes of gethostname(), _getpty() and struct termios from
pyport.h to the C code using them: posixmodule.c, socketmodule.c and
termios.c.

Replace "#ifdef SOLARIS" with "#ifdef __sun".

Include/pyport.h
Modules/posixmodule.c
Modules/socketmodule.c
Modules/termios.c

index 511c3fda1a40a5c7ad4610a692d893018446f312..67164328d2957662217600c8b472497494493567 100644 (file)
@@ -417,32 +417,6 @@ extern "C" {
 #  define Py_NO_INLINE
 #endif
 
-/**************************************************************************
-Prototypes that are missing from the standard include files on some systems
-(and possibly only some versions of such systems.)
-
-Please be conservative with adding new ones, document them and enclose them
-in platform-specific #ifdefs.
-**************************************************************************/
-
-#ifdef SOLARIS
-/* Unchecked */
-extern int gethostname(char *, int);
-#endif
-
-#ifdef HAVE__GETPTY
-#include <sys/types.h>          /* we need to import mode_t */
-extern char * _getpty(int *, int, mode_t, int);
-#endif
-
-/* On QNX 6, struct termio must be declared by including sys/termio.h
-   if TCGETA, TCSETA, TCSETAW, or TCSETAF are used.  sys/termio.h must
-   be included before termios.h or it will generate an error. */
-#if defined(HAVE_SYS_TERMIO_H) && !defined(__hpux)
-#include <sys/termio.h>
-#endif
-
-
 /* On 4.4BSD-descendants, ctype functions serves the whole range of
  * wchar_t character set rather than single byte code points only.
  * This characteristic can break some operations of string object
index 0436571abc90545a2393fed0357c7061025dfde0..761542866d8f96cfe2bc0e9fc291e33cf9761527 100644 (file)
 #include <stdio.h>                // ctermid()
 #include <stdlib.h>               // system()
 
+// SGI apparently needs this forward declaration
+#ifdef HAVE__GETPTY
+#  include <sys/types.h>          // mode_t
+   extern char * _getpty(int *, int, mode_t, int);
+#endif
+
+
 /*
  * A number of APIs are available on macOS from a certain macOS version.
  * To support building with a new SDK while deploying to older versions
index e3681853dad095c05c83d09b7bc4aea1a2275dee..2f12c9cedbd8a6b0f8a79b4cdce7774ae31592d3 100644 (file)
@@ -111,9 +111,13 @@ Local naming conventions:
 #include "pycore_fileutils.h"     // _Py_set_inheritable()
 #include "pycore_moduleobject.h"  // _PyModule_GetState
 
+// gethostname() prototype missing from Solaris standard header files
+#ifdef __sun
+extern int gethostname(char *, int);
+#endif
 
 #ifdef _Py_MEMORY_SANITIZER
-# include <sanitizer/msan_interface.h>
+#  include <sanitizer/msan_interface.h>
 #endif
 
 /* Socket object documentation */
index 21d3541c177bc3197c8aea75d1f987035439a3e6..a0613837ef9795fd9411408fbfc02f9088c122fc 100644 (file)
@@ -6,10 +6,17 @@
 
 #include "Python.h"
 
-/* Apparently, on SGI, termios.h won't define CTRL if _XOPEN_SOURCE
-   is defined, so we define it here. */
+// On QNX 6, struct termio must be declared by including sys/termio.h
+// if TCGETA, TCSETA, TCSETAW, or TCSETAF are used. sys/termio.h must
+// be included before termios.h or it will generate an error.
+#if defined(HAVE_SYS_TERMIO_H) && !defined(__hpux)
+#  include <sys/termio.h>
+#endif
+
+// Apparently, on SGI, termios.h won't define CTRL if _XOPEN_SOURCE
+// is defined, so we define it here.
 #if defined(__sgi)
-#define CTRL(c) ((c)&037)
+#  define CTRL(c) ((c)&037)
 #endif
 
 #if defined(__sun)