2009-02-26 Phil Muldoon <pmuldoon@redhat.com>
* python/python-utils.c (python_string_to_unicode): Always return a new reference. (python_string_to_target_string): Decrement transient python instance. (python_string_to_host_string): Likewise.
This commit is contained in:
parent
a0740d21fa
commit
83390453c3
2 changed files with 22 additions and 4 deletions
|
@ -1,4 +1,12 @@
|
||||||
2009-02-26 Pedro Alves <pedro@codesourcery.com>
|
2009-02-26 Phil Muldoon <pmuldoon@redhat.com>
|
||||||
|
|
||||||
|
* python/python-utils.c (python_string_to_unicode): Always return
|
||||||
|
a new reference.
|
||||||
|
(python_string_to_target_string): Decrement transient python
|
||||||
|
instance.
|
||||||
|
(python_string_to_host_string): Likewise.
|
||||||
|
|
||||||
|
2007-02-26 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
* mips-linux-nat.c (mips64_linux_fetch_registers): Pass `ops' to
|
* mips-linux-nat.c (mips64_linux_fetch_registers): Pass `ops' to
|
||||||
call to super_fetch_registers.
|
call to super_fetch_registers.
|
||||||
|
|
|
@ -81,7 +81,11 @@ python_string_to_unicode (PyObject *obj)
|
||||||
/* If obj is already a unicode string, just return it.
|
/* If obj is already a unicode string, just return it.
|
||||||
I wish life was always that simple... */
|
I wish life was always that simple... */
|
||||||
if (PyUnicode_Check (obj))
|
if (PyUnicode_Check (obj))
|
||||||
unicode_str = obj;
|
{
|
||||||
|
unicode_str = obj;
|
||||||
|
Py_INCREF (obj);
|
||||||
|
}
|
||||||
|
|
||||||
else if (PyString_Check (obj))
|
else if (PyString_Check (obj))
|
||||||
unicode_str = PyUnicode_FromEncodedObject (obj, host_charset (), NULL);
|
unicode_str = PyUnicode_FromEncodedObject (obj, host_charset (), NULL);
|
||||||
else
|
else
|
||||||
|
@ -136,12 +140,15 @@ char *
|
||||||
python_string_to_target_string (PyObject *obj)
|
python_string_to_target_string (PyObject *obj)
|
||||||
{
|
{
|
||||||
PyObject *str;
|
PyObject *str;
|
||||||
|
char *result;
|
||||||
|
|
||||||
str = python_string_to_unicode (obj);
|
str = python_string_to_unicode (obj);
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
return unicode_to_target_string (str);
|
result = unicode_to_target_string (str);
|
||||||
|
Py_DECREF (str);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Converts a python string (8-bit or unicode) to a target string in
|
/* Converts a python string (8-bit or unicode) to a target string in
|
||||||
|
@ -152,12 +159,15 @@ char *
|
||||||
python_string_to_host_string (PyObject *obj)
|
python_string_to_host_string (PyObject *obj)
|
||||||
{
|
{
|
||||||
PyObject *str;
|
PyObject *str;
|
||||||
|
char *result;
|
||||||
|
|
||||||
str = python_string_to_unicode (obj);
|
str = python_string_to_unicode (obj);
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
return unicode_to_encoded_string (str, host_charset ());
|
result = unicode_to_encoded_string (str, host_charset ());
|
||||||
|
Py_DECREF (str);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Converts a target string of LENGTH bytes in the target's charset to a
|
/* Converts a target string of LENGTH bytes in the target's charset to a
|
||||||
|
|
Loading…
Add table
Reference in a new issue