From ea38e5df7707949c20a92004f0f66efb4a9ff2a5 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 5 Mar 2019 14:58:24 -0700 Subject: [PATCH] Remove some Python 3 #ifs 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 * 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(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 120cce01ca9..7c4a06f8327 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2019-03-05 Tom Tromey + + * python/py-prettyprint.c (print_string_repr): Remove #if. + * python/py-utils.c (unicode_to_encoded_string): Remove #if. + 2019-03-05 Tom Tromey * target.c (the_dummy_target): Move later. Change type to 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 unicode_to_encoded_string (PyObject *unicode_str, const char *charset) { - gdb::unique_xmalloc_ptr 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 + (xstrdup (PyBytes_AsString (string.get ()))); } /* Returns a PyObject with the contents of the given unicode string -- 2.30.2