Use gdbpy_ref in gdbpy_string_to_argv
This chanes gdbpy_string_to_argv to use gdbpy_ref. 2017-01-10 Tom Tromey <tom@tromey.com> * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
This commit is contained in:
parent
3bb4338431
commit
d1b3de2e43
2 changed files with 9 additions and 8 deletions
|
@ -27,6 +27,7 @@
|
|||
#include "cli/cli-decode.h"
|
||||
#include "completer.h"
|
||||
#include "language.h"
|
||||
#include "py-ref.h"
|
||||
|
||||
/* Struct representing built-in completion types. */
|
||||
struct cmdpy_completer
|
||||
|
@ -784,13 +785,12 @@ PyTypeObject cmdpy_object_type =
|
|||
PyObject *
|
||||
gdbpy_string_to_argv (PyObject *self, PyObject *args)
|
||||
{
|
||||
PyObject *py_argv;
|
||||
const char *input;
|
||||
|
||||
if (!PyArg_ParseTuple (args, "s", &input))
|
||||
return NULL;
|
||||
|
||||
py_argv = PyList_New (0);
|
||||
gdbpy_ref py_argv (PyList_New (0));
|
||||
if (py_argv == NULL)
|
||||
return NULL;
|
||||
|
||||
|
@ -805,21 +805,18 @@ gdbpy_string_to_argv (PyObject *self, PyObject *args)
|
|||
|
||||
for (i = 0; c_argv[i] != NULL; ++i)
|
||||
{
|
||||
PyObject *argp = PyString_FromString (c_argv[i]);
|
||||
gdbpy_ref argp (PyString_FromString (c_argv[i]));
|
||||
|
||||
if (argp == NULL
|
||||
|| PyList_Append (py_argv, argp) < 0)
|
||||
|| PyList_Append (py_argv.get (), argp.get ()) < 0)
|
||||
{
|
||||
Py_XDECREF (argp);
|
||||
Py_DECREF (py_argv);
|
||||
freeargv (c_argv);
|
||||
return NULL;
|
||||
}
|
||||
Py_DECREF (argp);
|
||||
}
|
||||
|
||||
freeargv (c_argv);
|
||||
}
|
||||
|
||||
return py_argv;
|
||||
return py_argv.release ();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue