All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: linux-trace-devel@vger.kernel.org
Cc: Johannes Berg <johannes@sipsolutions.net>,
	Josef Bacik <jbacik@fb.com>, Darren Hart <dvhart@infradead.org>,
	troyengel@gmail.com
Subject: [PATCH 3/3] trace-cmd: Use PyLong_AsLong() for Python 3
Date: Fri, 19 Jul 2019 18:46:16 -0400	[thread overview]
Message-ID: <20190719225030.507227790@goodmis.org> (raw)
In-Reply-To: 20190719224613.207069107@goodmis.org

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

Python 3 has deprecated PyInt_AS_LONG. Add code to use PyLong_AsLong() if
Python 3 is detected. As Python 2 is going to be EOL soon, we need to
support Python 3.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204231

Reported-by: Troy Engel <troyengel@gmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 python/ctracecmd.i | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/python/ctracecmd.i b/python/ctracecmd.i
index 63e5dcb813f1..2601d39a76be 100644
--- a/python/ctracecmd.i
+++ b/python/ctracecmd.i
@@ -117,14 +117,21 @@ static PyObject *py_field_get_stack(struct tep_handle *pevent,
 	return list;
 }
 
+#if PY_MAJOR_VERSION >= 3
 static PyObject *fromMemory(void *buf, size_t len)
 {
-#if PY_MAJOR_VERSION >= 3
 		return PyMemoryView_FromMemory(buf, len, PyBUF_READ);
+}
+#define PY_INT_AS_LONG PyLong_AsLong
 #else
+static PyObject *fromMemory(void *buf, size_t len)
+{
 		return PyBuffer_FromMemory(buf, len);
-#endif
 }
+#define PY_INT_AS_LONG PyInt_AS_LONG
+#endif
+
+
 
 static PyObject *py_field_get_data(struct tep_format_field *f, struct tep_record *r)
 {
@@ -226,7 +233,7 @@ static int python_callback(struct trace_seq *s,
 			Py_XDECREF(result);
 			return 0;
 		}
-		r = PyInt_AS_LONG(result);
+		r = PY_INT_AS_LONG(result);
 	} else if (result == Py_None)
 		r = 0;
 	else
-- 
2.20.1



  parent reply	other threads:[~2019-07-19 22:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-19 22:46 [PATCH 0/3] trace-cmd: Update python plugin for Python 3 Steven Rostedt
2019-07-19 22:46 ` [PATCH 1/3] trace-cmd: Replace PySting_FromString() with PyUnicode_FromString() Steven Rostedt
2019-07-26  7:29   ` Johannes Berg
2019-07-19 22:46 ` [PATCH 2/3] trace-cmd: Use PyMemoryView_FromMemory() for Python 3 Steven Rostedt
2019-07-26  7:30   ` Johannes Berg
2019-07-19 22:46 ` Steven Rostedt [this message]
2019-07-26  7:31   ` [PATCH 3/3] trace-cmd: Use PyLong_AsLong() " Johannes Berg
2019-07-26 15:18     ` Steven Rostedt
2019-07-26 15:22       ` Johannes Berg
2019-07-26 15:30         ` Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190719225030.507227790@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=dvhart@infradead.org \
    --cc=jbacik@fb.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=troyengel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.