Merge remote-tracking branch 'cholin/features/refactoring'
This commit is contained in:
@@ -854,30 +854,15 @@ PyObject *
|
|||||||
Repository_git_reference_symbolic_create(Repository *self, PyObject *args,
|
Repository_git_reference_symbolic_create(Repository *self, PyObject *args,
|
||||||
PyObject *kw)
|
PyObject *kw)
|
||||||
{
|
{
|
||||||
PyObject *py_obj;
|
|
||||||
git_reference *c_reference;
|
git_reference *c_reference;
|
||||||
char *c_name, *c_target;
|
char *c_name, *c_target;
|
||||||
int err, force;
|
int err, force;
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args, "sOi", &c_name, &py_obj, &force))
|
if (!PyArg_ParseTuple(args, "ssi", &c_name, &c_target, &force))
|
||||||
return NULL;
|
|
||||||
|
|
||||||
#if PY_MAJOR_VERSION == 2
|
|
||||||
c_target = PyBytes_AsString(py_obj);
|
|
||||||
#else
|
|
||||||
// increases ref counter, so we have to release it afterwards
|
|
||||||
PyObject* py_str = PyUnicode_AsASCIIString(py_obj);
|
|
||||||
c_target = PyBytes_AsString(py_str);
|
|
||||||
#endif
|
|
||||||
if (c_target == NULL)
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
err = git_reference_symbolic_create(&c_reference, self->repo, c_name,
|
err = git_reference_symbolic_create(&c_reference, self->repo, c_name,
|
||||||
c_target, force);
|
c_target, force);
|
||||||
#if PY_MAJOR_VERSION > 2
|
|
||||||
Py_CLEAR(py_str);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return Error_set(err);
|
return Error_set(err);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user