summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/whatsnew/whatsnew24.tex2
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/fcntlmodule.c8
3 files changed, 11 insertions, 1 deletions
diff --git a/Doc/whatsnew/whatsnew24.tex b/Doc/whatsnew/whatsnew24.tex
index a394971..638eadb 100644
--- a/Doc/whatsnew/whatsnew24.tex
+++ b/Doc/whatsnew/whatsnew24.tex
@@ -669,6 +669,8 @@ changes to your code:
system ID in the wrong order. This has been corrected; applications
relying on the wrong order need to be fixed.
+\item \function{fcntl.ioctl} now warns if the mutate arg is omitted.
+
\end{itemize}
diff --git a/Misc/NEWS b/Misc/NEWS
index a4dd8a1..304c3be 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -214,6 +214,8 @@ Core and builtins
Extension modules
-----------------
+- fcntl.ioctl now warns if the mutate flag is not specified.
+
- nt now properly allows to refer to UNC roots, e.g. in nt.stat().
- the weakref module now supports additional objects: array.array,
diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c
index 9894c43..43f1773 100644
--- a/Modules/fcntlmodule.c
+++ b/Modules/fcntlmodule.c
@@ -108,7 +108,13 @@ fcntl_ioctl(PyObject *self, PyObject *args)
char *arg;
if (PyTuple_Size(args) == 3) {
- /* warning goes here in 2.4 */
+#if (PY_MAJOR_VERSION>2) || (PY_MINOR_VERSION>=5)
+#error Remove the warning, change mutate_arg to 1
+#endif
+ if (PyErr_Warn(PyExc_FutureWarning,
+ "ioctl with mutable buffer will mutate the buffer by default in 2.5"
+ ) < 0)
+ return NULL;
mutate_arg = 0;
}
if (mutate_arg) {