Patchwork [FYI] Remove some Python 3 #ifs

login
register
mail settings
Submitter Tom Tromey
Date March 5, 2019, 10:14 p.m.
Message ID <20190305221401.8519-1-tromey@adacore.com>
Download mbox | patch
Permalink /patch/31726/
State New
Headers show

Comments

Tom Tromey - March 5, 2019, 10:14 p.m.
A recent patch from Kevin Buettner taught me that the PyBytes API is
available on Python 2.  This patch removes a couple of related #ifs in
the Python code.

Tested on x86-64 Fedora 29, using both Python 3.7 and Python 2.7.

gdb/ChangeLog
2019-03-05  Tom Tromey  <tromey@adacore.com>

	* python/py-prettyprint.c (print_string_repr): Remove #if.
	* python/py-utils.c (unicode_to_encoded_string): Remove #if.
---
 gdb/ChangeLog               |  5 +++++
 gdb/python/py-prettyprint.c |  5 -----
 gdb/python/py-utils.c       | 11 ++---------
 3 files changed, 7 insertions(+), 14 deletions(-)

Patch

diff --git a/gdb/python/py-prettyprint.c b/gdb/python/py-prettyprint.c
index b069ca3a9f9..e64d1f88af8 100644
--- a/gdb/python/py-prettyprint.c
+++ b/gdb/python/py-prettyprint.c
@@ -312,13 +312,8 @@  print_string_repr (PyObject *printer, const char *hint,
 	      long length;
 	      struct type *type;
 
-#ifdef IS_PY3K
 	      output = PyBytes_AS_STRING (string.get ());
 	      length = PyBytes_GET_SIZE (string.get ());
-#else
-	      output = PyString_AsString (string.get ());
-	      length = PyString_Size (string.get ());
-#endif
 	      type = builtin_type (gdbarch)->builtin_char;
 
 	      if (hint && !strcmp (hint, "string"))
diff --git a/gdb/python/py-utils.c b/gdb/python/py-utils.c
index a380b34afe8..d4700002195 100644
--- a/gdb/python/py-utils.c
+++ b/gdb/python/py-utils.c
@@ -66,20 +66,13 @@  python_string_to_unicode (PyObject *obj)
 static gdb::unique_xmalloc_ptr<char>
 unicode_to_encoded_string (PyObject *unicode_str, const char *charset)
 {
-  gdb::unique_xmalloc_ptr<char> result;
-
   /* Translate string to named charset.  */
   gdbpy_ref<> string (PyUnicode_AsEncodedString (unicode_str, charset, NULL));
   if (string == NULL)
     return NULL;
 
-#ifdef IS_PY3K
-  result.reset (xstrdup (PyBytes_AsString (string.get ())));
-#else
-  result.reset (xstrdup (PyString_AsString (string.get ())));
-#endif
-
-  return result;
+  return gdb::unique_xmalloc_ptr<char>
+    (xstrdup (PyBytes_AsString (string.get ())));
 }
 
 /* Returns a PyObject with the contents of the given unicode string