[Python-checkins] cpython (3.3): avoid name clash with posix_close (closes #20594)

benjamin.peterson python-checkins at python.org
Tue Feb 11 16:19:24 CET 2014


http://hg.python.org/cpython/rev/021dd3c65198
changeset:   89152:021dd3c65198
branch:      3.3
parent:      89139:373ec8711ad0
user:        Benjamin Peterson <benjamin at python.org>
date:        Tue Feb 11 10:16:16 2014 -0500
summary:
  avoid name clash with posix_close (closes #20594)

files:
  Misc/NEWS             |   2 ++
  Modules/posixmodule.c |  10 +++++++---
  2 files changed, 9 insertions(+), 3 deletions(-)


diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -20,6 +20,8 @@
 Library
 -------
 
+- Issue #20594: Avoid name clash with the libc function posix_close.
+
 - Issue #19856: shutil.move() failed to move a directory to other directory
   on Windows if source name ends with os.altsep.
 
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -7844,8 +7844,12 @@
 "close(fd)\n\n\
 Close a file descriptor (for low level IO).");
 
-static PyObject *
-posix_close(PyObject *self, PyObject *args)
+/*
+The underscore at end of function name avoids a name clash with the libc
+function posix_close.
+*/
+static PyObject *
+posix_close_(PyObject *self, PyObject *args)
 {
     int fd, res;
     if (!PyArg_ParseTuple(args, "i:close", &fd))
@@ -11261,7 +11265,7 @@
     {"open",            (PyCFunction)posix_open,\
                         METH_VARARGS | METH_KEYWORDS,
                         posix_open__doc__},
-    {"close",           posix_close, METH_VARARGS, posix_close__doc__},
+    {"close",           posix_close_, METH_VARARGS, posix_close__doc__},
     {"closerange",      posix_closerange, METH_VARARGS, posix_closerange__doc__},
     {"device_encoding", device_encoding, METH_VARARGS, device_encoding__doc__},
     {"dup",             posix_dup, METH_VARARGS, posix_dup__doc__},

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list