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 <tromey@adacore.com> * python/py-prettyprint.c (print_string_repr): Remove #if. * python/py-utils.c (unicode_to_encoded_string): Remove #if.
This commit is contained in:
parent
06b5b831a0
commit
ea38e5df77
3 changed files with 7 additions and 14 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
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.
|
||||||
|
|
||||||
2019-03-05 Tom Tromey <tromey@adacore.com>
|
2019-03-05 Tom Tromey <tromey@adacore.com>
|
||||||
|
|
||||||
* target.c (the_dummy_target): Move later. Change type to
|
* target.c (the_dummy_target): Move later. Change type to
|
||||||
|
|
|
@ -312,13 +312,8 @@ print_string_repr (PyObject *printer, const char *hint,
|
||||||
long length;
|
long length;
|
||||||
struct type *type;
|
struct type *type;
|
||||||
|
|
||||||
#ifdef IS_PY3K
|
|
||||||
output = PyBytes_AS_STRING (string.get ());
|
output = PyBytes_AS_STRING (string.get ());
|
||||||
length = PyBytes_GET_SIZE (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;
|
type = builtin_type (gdbarch)->builtin_char;
|
||||||
|
|
||||||
if (hint && !strcmp (hint, "string"))
|
if (hint && !strcmp (hint, "string"))
|
||||||
|
|
|
@ -66,20 +66,13 @@ python_string_to_unicode (PyObject *obj)
|
||||||
static gdb::unique_xmalloc_ptr<char>
|
static gdb::unique_xmalloc_ptr<char>
|
||||||
unicode_to_encoded_string (PyObject *unicode_str, const char *charset)
|
unicode_to_encoded_string (PyObject *unicode_str, const char *charset)
|
||||||
{
|
{
|
||||||
gdb::unique_xmalloc_ptr<char> result;
|
|
||||||
|
|
||||||
/* Translate string to named charset. */
|
/* Translate string to named charset. */
|
||||||
gdbpy_ref<> string (PyUnicode_AsEncodedString (unicode_str, charset, NULL));
|
gdbpy_ref<> string (PyUnicode_AsEncodedString (unicode_str, charset, NULL));
|
||||||
if (string == NULL)
|
if (string == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
#ifdef IS_PY3K
|
return gdb::unique_xmalloc_ptr<char>
|
||||||
result.reset (xstrdup (PyBytes_AsString (string.get ())));
|
(xstrdup (PyBytes_AsString (string.get ())));
|
||||||
#else
|
|
||||||
result.reset (xstrdup (PyString_AsString (string.get ())));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns a PyObject with the contents of the given unicode string
|
/* Returns a PyObject with the contents of the given unicode string
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue