From a1edbe0b8638ac5842105cfd2975e667193854d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20David=20Ib=C3=A1=C3=B1ez?= Date: Sun, 23 Sep 2012 15:10:05 +0200 Subject: [PATCH] Fix compilation warnings --- src/pygit2/signature.c | 3 +-- src/pygit2/tree.c | 32 ++++++++++++-------------------- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/src/pygit2/signature.c b/src/pygit2/signature.c index 19a28cb..cd53a32 100644 --- a/src/pygit2/signature.c +++ b/src/pygit2/signature.c @@ -36,8 +36,7 @@ int Signature_init(Signature *self, PyObject *args, PyObject *kwds) { - const char *keywords[] = { - "name", "email", "time", "offset", "encoding", NULL}; + char *keywords[] = {"name", "email", "time", "offset", "encoding", NULL}; PyObject *py_name; char *name, *email, *encoding = "ascii"; long long time = -1; diff --git a/src/pygit2/tree.c b/src/pygit2/tree.c index 0cf9299..48e5395 100644 --- a/src/pygit2/tree.c +++ b/src/pygit2/tree.c @@ -26,8 +26,8 @@ */ #define PY_SSIZE_T_CLEAN -#include #include +#include #include #include #include @@ -237,8 +237,8 @@ Tree_getitem_by_index(Tree *self, PyObject *py_index) TreeEntry * Tree_getitem(Tree *self, PyObject *value) { - char *name; - const git_tree_entry *entry; + char *path; + git_tree_entry *entry; int err; /* Case 1: integer */ @@ -246,29 +246,21 @@ Tree_getitem(Tree *self, PyObject *value) return Tree_getitem_by_index(self, value); /* Case 2: byte or text string */ - name = py_path_to_c_str(value); - if (name == NULL) + path = py_path_to_c_str(value); + if (path == NULL) return NULL; - if (strchr(name, '/') != NULL) { - /* Case 2a: path string */ - err = git_tree_entry_bypath(&entry, self->tree, name); - if (err == GIT_ENOTFOUND) - entry = NULL; - else if (err < 0) - return Error_set(err); + err = git_tree_entry_bypath(&entry, self->tree, path); + free(path); - } else { - /* Case 2b: base name */ - entry = git_tree_entry_byname(self->tree, name); - } - - free(name); - - if (!entry) { + if (err == GIT_ENOTFOUND) { PyErr_SetObject(PyExc_KeyError, value); return NULL; } + + if (err < 0) + return (TreeEntry*)Error_set(err); + return wrap_tree_entry(entry, self); }