From: Michael W. Hudson <mwh@python.net>
Date: Tue, 30 Nov 2004 14:31:54 +0000 (+0000)
Subject: Hear the #error: change the default value of the mutable_arg argument
X-Git-Tag: v2.5a0~2341
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=02d74f68c63ef93cd30873f7ff8c083dd3ec60c0;p=python

Hear the #error: change the default value of the mutable_arg argument
to ioctl() and remove the warning when it is not supplied.
---

diff --git a/Doc/lib/libfcntl.tex b/Doc/lib/libfcntl.tex
index df258ee0bc..4391d73693 100644
--- a/Doc/lib/libfcntl.tex
+++ b/Doc/lib/libfcntl.tex
@@ -78,11 +78,9 @@ The module defines the following functions:
   long which is then passed to \function{ioctl()} and copied back into
   the supplied buffer.
   
-  If \var{mutate_flag} is not supplied, then in 2.3 it defaults to
-  false.  This is planned to change over the next few Python versions:
-  in 2.4 failing to supply \var{mutate_flag} will get a warning but
-  the same behavior and in versions later than 2.5 it will default to
-  true.
+  If \var{mutate_flag} is not supplied, then from Python 2.5 it
+  defaults to true, which is a change from versions 2.3 and 2.4.
+  Supply the argument explicitly if version portability is a priority.
 
   An example:
 
diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c
index 43f1773032..54f3a2eb27 100644
--- a/Modules/fcntlmodule.c
+++ b/Modules/fcntlmodule.c
@@ -99,7 +99,7 @@ fcntl_ioctl(PyObject *self, PyObject *args)
 	int ret;
 	char *str;
 	int len;
-	int mutate_arg = 0;
+	int mutate_arg = 1;
 	char buf[1024];
 
 	if (PyArg_ParseTuple(args, "O&iw#|i:ioctl",
@@ -107,16 +107,6 @@ fcntl_ioctl(PyObject *self, PyObject *args)
 			     &str, &len, &mutate_arg)) {
 		char *arg;
 
-		if (PyTuple_Size(args) == 3) {
-#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) {
 			if (len <= sizeof buf) {
 				memcpy(buf, str, len);