From: Martin v. Löwis Date: Thu, 3 Jun 2004 12:47:26 +0000 (+0000) Subject: Warn abou missing mutate flag to ioctl. Fixes #696535. X-Git-Tag: v2.4a1~287 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77ca6c4c8483c22c6ba6200a94e9628671c82a3d;p=python Warn abou missing mutate flag to ioctl. Fixes #696535. --- diff --git a/Doc/whatsnew/whatsnew24.tex b/Doc/whatsnew/whatsnew24.tex index a39497188a..638eadb9ef 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 a4dd8a1670..304c3be92d 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 9894c4307e..43f1773032 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) {