Rev 1057: Initialize more svn libraries. in file:///data/jelmer/bzr-svn/cext/
Jelmer Vernooij
jelmer at samba.org
Tue Jun 3 00:12:42 BST 2008
At file:///data/jelmer/bzr-svn/cext/
------------------------------------------------------------
revno: 1057
revision-id: jelmer at samba.org-20080602231241-bglulwmxw1at88dp
parent: jelmer at samba.org-20080602231220-2xzilofx2jv4ficj
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: cext
timestamp: Tue 2008-06-03 01:12:41 +0200
message:
Initialize more svn libraries.
modified:
client.c client.pyx-20080313235339-wbyjbw2namuiql8f-1
core.c core.pyx-20080313210413-17k59slolpfe5kdq-1
ra.c ra.pyx-20080313140933-qybkqaxe3m4mcll7-1
repos.c repos.pyx-20080314114432-g2b5lqe776tkbl4k-1
=== modified file 'client.c'
--- a/client.c 2008-06-02 21:12:51 +0000
+++ b/client.c 2008-06-02 23:12:41 +0000
@@ -56,9 +56,18 @@
svn_error_t *py_log_msg_func2(const char **log_msg, const char **tmp_file, const apr_array_header_t *commit_items, void *baton, apr_pool_t *pool)
{
PyObject *py_commit_items, *ret, *py_log_msg, *py_tmp_file;
+ int i;
if (baton == Py_None)
return NULL;
py_commit_items = PyList_New(commit_items->nelts);
+ if (py_commit_items == NULL)
+ return py_svn_error();
+ for (i = 0; i < commit_items->nelts; i++) {
+ svn_client_commit_item_t *commit_item =
+ (svn_client_commit_item_t *)(commit_items->elts + i * commit_items->elt_size);
+ if (PyList_SetItem(py_commit_items, i, Py_BuildValue("(sizlzi)", commit_item->path, commit_item->kind, commit_item->url, commit_item->revision, commit_item->copyfrom_url, commit_item->state_flags)) != 0)
+ return py_svn_error();
+ }
ret = PyObject_CallFunction(baton, "O", py_commit_items);
if (ret == NULL)
return py_svn_error();
@@ -309,11 +318,12 @@
recurse, ignore_externals, client->client, client->pool)))
return NULL;
ret = PyList_New(result_revs->nelts);
- ret_rev = (svn_revnum_t *)apr_array_pop(result_revs);
- while (ret_rev != NULL) {
- PyList_SetItem(ret, i, PyLong_FromLong(*ret_rev));
- i++;
- ret_rev = (svn_revnum_t *)apr_array_pop(result_revs);
+ if (ret == NULL)
+ return NULL;
+ for (i = 0; i < result_revs->nelts; i++) {
+ ret_rev = (svn_revnum_t *)(result_revs->elts + (i * result_revs->elt_size));
+ if (PyList_SetItem(ret, i, PyLong_FromLong(*ret_rev)) != 0)
+ return NULL;
}
return ret;
}
=== modified file 'core.c'
--- a/core.c 2008-06-02 21:12:51 +0000
+++ b/core.c 2008-06-02 23:12:41 +0000
@@ -23,6 +23,7 @@
#include <svn_time.h>
#include <svn_config.h>
#include <svn_io.h>
+#include <svn_utf.h>
#include "util.h"
@@ -98,9 +99,12 @@
void initcore(void)
{
+ static apr_pool_t *pool;
PyObject *mod;
apr_initialize();
+ pool = Pool(NULL);
+ svn_utf_initialize(pool);
mod = Py_InitModule3("core", core_methods, "Core functions");
if (mod == NULL)
=== modified file 'ra.c'
--- a/ra.c 2008-06-02 21:12:51 +0000
+++ b/ra.c 2008-06-02 23:12:41 +0000
@@ -1368,6 +1368,7 @@
void initra(void)
{
+ static apr_pool_t *pool;
PyObject *mod;
if (PyType_Ready(&RemoteAccess_Type) < 0)
@@ -1395,6 +1396,8 @@
return;
apr_initialize();
+ pool = Pool(NULL);
+ svn_ra_initialize(pool);
mod = Py_InitModule3("ra", ra_module_methods, "Remote Access");
if (mod == NULL)
=== modified file 'repos.c'
--- a/repos.c 2008-06-02 20:15:47 +0000
+++ b/repos.c 2008-06-02 23:12:41 +0000
@@ -205,6 +205,7 @@
void initrepos(void)
{
+ static apr_pool_t *pool;
PyObject *mod;
if (PyType_Ready(&Repository_Type) < 0)
@@ -214,6 +215,8 @@
return;
apr_initialize();
+ pool = Pool(NULL);
+ svn_fs_initialize(pool);
mod = Py_InitModule3("repos", repos_module_methods, "Local repository management");
if (mod == NULL)
More information about the bazaar-commits
mailing list