/** Connection to a remote Subversion repository. */
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
svn_ra_session_t *ra;
apr_pool_t *pool;
const char *url;
} RemoteAccessObject;
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
const REPORTER_T *reporter;
void *report_baton;
apr_pool_t *pool;
}
static PyTypeObject Reporter_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"_ra.Reporter", /* const char *tp_name; For printing, in format "<module>.<name>" */
- sizeof(ReporterObject),
+ sizeof(ReporterObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
/* Methods to implement standard operations */
} else {
int i;
for (i = 0; i < PySequence_Size(revprops); i++) {
- const char *n = PyString_AsString(PySequence_GetItem(revprops, i));
- if (strcmp(SVN_PROP_REVISION_LOG, n) &&
- strcmp(SVN_PROP_REVISION_AUTHOR, n) &&
- strcmp(SVN_PROP_REVISION_DATE, n)) {
+ PyObject *n = PySequence_GetItem(revprops, i);
+ char *ns;
+
+ ns = py_object_to_svn_string(n, *pool);
+ if (ns == NULL) {
+ goto fail_prep;
+ }
+
+ if (strcmp(SVN_PROP_REVISION_LOG, ns) &&
+ strcmp(SVN_PROP_REVISION_AUTHOR, ns) &&
+ strcmp(SVN_PROP_REVISION_DATE, ns)) {
PyErr_SetString(PyExc_NotImplementedError,
"fetching custom revision properties not supported");
goto fail_prep;
};
static PyTypeObject RemoteAccess_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"_ra.RemoteAccess", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(RemoteAccessObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
};
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
apr_pool_t *pool;
svn_auth_provider_object_t *provider;
PyObject *callback;
}
static PyTypeObject AuthProvider_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"_ra.AuthProvider", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(AuthProviderObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
}
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
apr_pool_t *pool;
char *cred_kind;
svn_auth_iterstate_t *state;
}
static PyTypeObject CredentialsIter_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"_ra.CredentialsIter", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(CredentialsIterObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
}
static PyTypeObject Auth_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"_ra.Auth", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(AuthObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
};
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
svn_revnum_t start, end;
svn_boolean_t discover_changed_paths;
svn_boolean_t strict_node_history;
}
PyTypeObject LogIterator_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"_ra.LogIterator", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(LogIteratorObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
extern PyTypeObject WCInfo_Type;
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
svn_config_t *item;
PyObject *parent;
} ConfigItemObject;
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
#if ONLY_SINCE_SVN(1, 7)
svn_wc_info_t info;
#else
} WCInfoObject;
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
#if ONLY_SINCE_SVN(1, 7)
svn_client_info2_t info;
#else
}
typedef struct {
- PyObject_HEAD
- svn_client_ctx_t *client;
- apr_pool_t *pool;
- PyObject *callbacks;
- PyObject *py_auth;
- PyObject *py_config;
+ PyObject_VAR_HEAD
+ svn_client_ctx_t *client;
+ apr_pool_t *pool;
+ PyObject *callbacks;
+ PyObject *py_auth;
+ PyObject *py_config;
} ClientObject;
static PyObject *client_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
}
PyTypeObject Config_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"client.Config", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(ConfigObject), /* tp_basicsize */
0, /* tp_itemsize; For allocation */
}
PyTypeObject ConfigItem_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"client.ConfigItem", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(ConfigItemObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
};
PyTypeObject Info_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"client.Info", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(InfoObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
}
PyTypeObject WCInfo_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"client.Info", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(WCInfoObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
};
PyTypeObject Client_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
/* PyObject_VAR_HEAD */
"client.Client", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(ClientObject),
#include "util.h"
typedef struct EditorObject {
- PyObject_HEAD
+ PyObject_VAR_HEAD
const svn_delta_editor_t *editor;
void *baton;
apr_pool_t *pool;
}
PyTypeObject TxDeltaWindowHandler_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"_ra.TxDeltaWindowHandler", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(TxDeltaWindowHandlerObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
};
PyTypeObject FileEditor_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"_ra.FileEditor", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(EditorObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
};
PyTypeObject DirectoryEditor_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"_ra.DirEditor", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(EditorObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
};
PyTypeObject Editor_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"_ra.Editor", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(EditorObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
extern PyTypeObject Stream_Type;
typedef struct {
- PyObject_HEAD
- apr_pool_t *pool;
- svn_repos_t *repos;
+ PyObject_VAR_HEAD
+ apr_pool_t *pool;
+ svn_repos_t *repos;
} RepositoryObject;
static PyObject *repos_create(PyObject *self, PyObject *args)
}
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
apr_pool_t *pool;
svn_fs_root_t *root;
} FileSystemRootObject;
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
RepositoryObject *repos;
svn_fs_t *fs;
} FileSystemObject;
}
PyTypeObject FileSystem_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"repos.FileSystem", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(FileSystemObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
};
PyTypeObject Repository_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"repos.Repository", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(RepositoryObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
};
PyTypeObject FileSystemRoot_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"repos.FileSystemRoot", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(FileSystemRootObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
char *py_object_to_svn_uri(PyObject *obj, apr_pool_t *pool)
{
- char *ret;
+ const char *ret;
PyObject *bytes_obj = NULL;
if (PyUnicode_Check(obj)) {
};
PyTypeObject Stream_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"repos.Stream", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(StreamObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
#endif
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
apr_pool_t *pool;
svn_wc_committed_queue_t *queue;
} CommittedQueueObject;
}
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
apr_pool_t *pool;
svn_wc_entry_t entry;
} EntryObject;
};
static PyTypeObject Entry_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"wc.Entry", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(EntryObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
}
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
apr_pool_t *pool;
svn_wc_status2_t status;
PyObject *entry;
};
static PyTypeObject Status_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"wc.Status", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(StatusObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
}
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
svn_wc_adm_access_t *adm;
apr_pool_t *pool;
} AdmObject;
};
static PyTypeObject Adm_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"wc.WorkingCopy", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(AdmObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */
};
static PyTypeObject CommittedQueue_Type = {
- PyObject_HEAD_INIT(NULL) 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"wc.CommittedQueue", /* const char *tp_name; For printing, in format "<module>.<name>" */
sizeof(CommittedQueueObject),
0,/* Py_ssize_t tp_basicsize, tp_itemsize; For allocation */