summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorRonald Oussoren <ronaldoussoren@mac.com>2013-07-15 16:32:09 (GMT)
committerRonald Oussoren <ronaldoussoren@mac.com>2013-07-15 16:32:09 (GMT)
commit0fedb37c47971b75e644b05e5a467dad2a77620b (patch)
treeb2388d2ce0163e9c28aedcf2830720aac2a5d948 /Modules
parent7f93b36e73b9006772359c02255a468fe7df3fcd (diff)
downloadcpython-0fedb37c47971b75e644b05e5a467dad2a77620b.zip
cpython-0fedb37c47971b75e644b05e5a467dad2a77620b.tar.gz
cpython-0fedb37c47971b75e644b05e5a467dad2a77620b.tar.bz2
Issue #18393: Remove use of deprecated API on OSX
The "Gestalt" function on OSX is deprecated (starting with OSX 10.8), remove its usage from the stdlib. The patch removes a number of private functions and a private module, but does not change the public API. The removed code was effectively dead, the platform module has used other code to fetch the OSX version for years and could only use on the Gestalt-based code as a fallback. That fallback can only trigger on broken OSX installs (that is, someone has removed parts of the system install)
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_gestalt.c84
1 files changed, 0 insertions, 84 deletions
diff --git a/Modules/_gestalt.c b/Modules/_gestalt.c
deleted file mode 100644
index cd30683..0000000
--- a/Modules/_gestalt.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/***********************************************************
-Copyright 1991-1997 by Stichting Mathematisch Centrum, Amsterdam,
-The Netherlands.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the names of Stichting Mathematisch
-Centrum or CWI not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior permission.
-
-STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
-THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
-FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-******************************************************************/
-
-/* Macintosh Gestalt interface */
-
-#include "Python.h"
-
-#include <Carbon/Carbon.h>
-
-/* Convert a 4-char string object argument to an OSType value */
-static int
-convert_to_OSType(PyObject *v, OSType *pr)
-{
- uint32_t tmp;
- if (!PyUnicode_Check(v) || PyUnicode_GetLength(v) != 4) {
- PyErr_SetString(PyExc_TypeError,
- "OSType arg must be string of 4 chars");
- return 0;
- }
- memcpy((char *)&tmp, _PyUnicode_AsString(v), 4);
- *pr = (OSType)ntohl(tmp);
- return 1;
-}
-
-static PyObject *
-gestalt_gestalt(PyObject *self, PyObject *args)
-{
- OSErr iErr;
- OSType selector;
- SInt32 response;
- if (!PyArg_ParseTuple(args, "O&", convert_to_OSType, &selector))
- return NULL;
- iErr = Gestalt(selector, &response);
- if (iErr != 0) {
- PyErr_SetString(PyExc_OSError,
- "non-zero exit code!");
- return NULL;
- }
- return PyLong_FromLong(response);
-}
-
-static struct PyMethodDef gestalt_methods[] = {
- {"gestalt", gestalt_gestalt, METH_VARARGS},
- {NULL, NULL} /* Sentinel */
-};
-
-static struct PyModuleDef gestaltmodule = {
- PyModuleDef_HEAD_INIT,
- "_gestalt",
- NULL,
- -1,
- gestalt_methods,
- NULL,
- NULL,
- NULL,
- NULL
-};
-
-PyMODINIT_FUNC
-PyInit__gestalt(void)
-{
- return PyModule_Create(&gestaltmodule);
-}