From 5a6a481fbbb01ccd2ce40c65fb5e29038322a337 Mon Sep 17 00:00:00 2001 From: Nico von Geyso Date: Sat, 16 Feb 2013 19:47:12 +0100 Subject: [PATCH] remote_create: instantiate object manually for efficiency --- src/repository.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/repository.c b/src/repository.c index 20b1048..9b71422 100644 --- a/src/repository.c +++ b/src/repository.c @@ -1023,6 +1023,7 @@ PyDoc_STRVAR(Repository_remote_create__doc__, PyObject * Repository_remote_create(Repository *self, PyObject *args) { + Remote *py_remote; git_remote *remote; char *name = NULL, *url = NULL; int err; @@ -1034,7 +1035,11 @@ Repository_remote_create(Repository *self, PyObject *args) if (err < 0) return Error_set(err); - return INSTANCIATE_CLASS(RemoteType, Py_BuildValue("Os", self, name)); + py_remote = (Remote*) PyType_GenericNew(&RemoteType, NULL, NULL); + py_remote->repo = self; + py_remote->remote = remote; + + return (PyObject*) py_remote; }