mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-19 10:50:26 +00:00
Merge pull request #384 from kiryl/warnings
Add more -W flags to CFLAGS
This commit is contained in:
commit
71a4c1f16f
@ -58,7 +58,7 @@ IF (MSVC)
|
||||
SET(CMAKE_C_FLAGS_DEBUG "/Od /DEBUG /MTd")
|
||||
SET(CMAKE_C_FLAGS_RELEASE "/MT /O2")
|
||||
ELSE ()
|
||||
SET(CMAKE_C_FLAGS "-O2 -g -Wall -Wextra")
|
||||
SET(CMAKE_C_FLAGS "-O2 -g -Wall -Wextra -Wstrict-aliasing=2 -Wstrict-prototypes -Wmissing-prototypes")
|
||||
IF (NOT MINGW) # MinGW always does PIC and complains if we tell it to
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||
ENDIF ()
|
||||
|
12
src/cache.c
12
src/cache.c
@ -58,12 +58,12 @@ void git_cache_free(git_cache *cache)
|
||||
|
||||
void *git_cache_get(git_cache *cache, const git_oid *oid)
|
||||
{
|
||||
const uint32_t *hash;
|
||||
uint32_t hash;
|
||||
cache_node *node = NULL;
|
||||
void *result = NULL;
|
||||
|
||||
hash = (const uint32_t *)oid->id;
|
||||
node = &cache->nodes[hash[0] & cache->size_mask];
|
||||
memcpy(&hash, oid->id, sizeof(hash));
|
||||
node = &cache->nodes[hash & cache->size_mask];
|
||||
|
||||
git_mutex_lock(&node->lock);
|
||||
{
|
||||
@ -79,13 +79,13 @@ void *git_cache_get(git_cache *cache, const git_oid *oid)
|
||||
|
||||
void *git_cache_try_store(git_cache *cache, void *entry)
|
||||
{
|
||||
const uint32_t *hash;
|
||||
uint32_t hash;
|
||||
const git_oid *oid;
|
||||
cache_node *node = NULL;
|
||||
|
||||
oid = &((git_cached_obj*)entry)->oid;
|
||||
hash = (const uint32_t *)oid->id;
|
||||
node = &cache->nodes[hash[0] & cache->size_mask];
|
||||
memcpy(&hash, oid->id, sizeof(hash));
|
||||
node = &cache->nodes[hash & cache->size_mask];
|
||||
|
||||
/* increase the refcount on this object, because
|
||||
* the cache now owns it */
|
||||
|
@ -169,7 +169,7 @@ cleanup:
|
||||
return error;
|
||||
}
|
||||
|
||||
int commit_parse_buffer(git_commit *commit, const void *data, size_t len)
|
||||
int git_commit__parse_buffer(git_commit *commit, const void *data, size_t len)
|
||||
{
|
||||
const char *buffer = data;
|
||||
const char *buffer_end = (const char *)data + len;
|
||||
@ -236,7 +236,7 @@ int commit_parse_buffer(git_commit *commit, const void *data, size_t len)
|
||||
int git_commit__parse(git_commit *commit, git_odb_object *obj)
|
||||
{
|
||||
assert(commit);
|
||||
return commit_parse_buffer(commit, obj->raw.data, obj->raw.len);
|
||||
return git_commit__parse_buffer(commit, obj->raw.data, obj->raw.len);
|
||||
}
|
||||
|
||||
#define GIT_COMMIT_GETTER(_rvalue, _name, _return) \
|
||||
|
@ -30,4 +30,5 @@ struct git_commit {
|
||||
void git_commit__free(git_commit *c);
|
||||
int git_commit__parse(git_commit *commit, git_odb_object *obj);
|
||||
|
||||
int git_commit__parse_buffer(git_commit *commit, const void *data, size_t len);
|
||||
#endif
|
||||
|
@ -553,7 +553,7 @@ static char *cfg_readline(diskfile_backend *cfg)
|
||||
/*
|
||||
* Consume a line, without storing it anywhere
|
||||
*/
|
||||
void cfg_consume_line(diskfile_backend *cfg)
|
||||
static void cfg_consume_line(diskfile_backend *cfg)
|
||||
{
|
||||
char *line_start, *line_end;
|
||||
|
||||
|
@ -113,7 +113,7 @@ void git_mwindow_scan_lru(
|
||||
* Close the least recently used window. You should check to see if
|
||||
* the file descriptors need closing from time to time.
|
||||
*/
|
||||
int git_mwindow_close_lru(git_mwindow_file *mwf)
|
||||
static int git_mwindow_close_lru(git_mwindow_file *mwf)
|
||||
{
|
||||
unsigned int i;
|
||||
git_mwindow *lru_w = NULL, *lru_l = NULL;
|
||||
|
@ -463,7 +463,7 @@ static int locate_object(char *object_location, loose_backend *backend, const gi
|
||||
}
|
||||
|
||||
/* Explore an entry of a directory and see if it matches a short oid */
|
||||
int fn_locate_object_short_oid(void *state, char *pathbuf) {
|
||||
static int fn_locate_object_short_oid(void *state, char *pathbuf) {
|
||||
loose_locate_object_state *sstate = (loose_locate_object_state *)state;
|
||||
|
||||
size_t pathbuf_len = strlen(pathbuf);
|
||||
@ -559,7 +559,7 @@ static int locate_object_short_oid(char *object_location, git_oid *res_oid, loos
|
||||
*
|
||||
***********************************************************/
|
||||
|
||||
int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
|
||||
static int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
|
||||
{
|
||||
char object_path[GIT_PATH_MAX];
|
||||
git_rawobj raw;
|
||||
@ -581,7 +581,7 @@ int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_backend
|
||||
return GIT_SUCCESS;
|
||||
}
|
||||
|
||||
int loose_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
|
||||
static int loose_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
|
||||
{
|
||||
char object_path[GIT_PATH_MAX];
|
||||
git_rawobj raw;
|
||||
@ -602,7 +602,7 @@ int loose_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_o
|
||||
return GIT_SUCCESS;
|
||||
}
|
||||
|
||||
int loose_backend__read_prefix(
|
||||
static int loose_backend__read_prefix(
|
||||
git_oid *out_oid,
|
||||
void **buffer_p,
|
||||
size_t *len_p,
|
||||
@ -643,7 +643,7 @@ int loose_backend__read_prefix(
|
||||
return GIT_SUCCESS;
|
||||
}
|
||||
|
||||
int loose_backend__exists(git_odb_backend *backend, const git_oid *oid)
|
||||
static int loose_backend__exists(git_odb_backend *backend, const git_oid *oid)
|
||||
{
|
||||
char object_path[GIT_PATH_MAX];
|
||||
|
||||
@ -652,7 +652,7 @@ int loose_backend__exists(git_odb_backend *backend, const git_oid *oid)
|
||||
return locate_object(object_path, (loose_backend *)backend, oid) == GIT_SUCCESS;
|
||||
}
|
||||
|
||||
int loose_backend__stream_fwrite(git_oid *oid, git_odb_stream *_stream)
|
||||
static int loose_backend__stream_fwrite(git_oid *oid, git_odb_stream *_stream)
|
||||
{
|
||||
loose_writestream *stream = (loose_writestream *)_stream;
|
||||
loose_backend *backend = (loose_backend *)_stream->backend;
|
||||
@ -673,13 +673,13 @@ int loose_backend__stream_fwrite(git_oid *oid, git_odb_stream *_stream)
|
||||
return git_filebuf_commit_at(&stream->fbuf, final_path);
|
||||
}
|
||||
|
||||
int loose_backend__stream_write(git_odb_stream *_stream, const char *data, size_t len)
|
||||
static int loose_backend__stream_write(git_odb_stream *_stream, const char *data, size_t len)
|
||||
{
|
||||
loose_writestream *stream = (loose_writestream *)_stream;
|
||||
return git_filebuf_write(&stream->fbuf, data, len);
|
||||
}
|
||||
|
||||
void loose_backend__stream_free(git_odb_stream *_stream)
|
||||
static void loose_backend__stream_free(git_odb_stream *_stream)
|
||||
{
|
||||
loose_writestream *stream = (loose_writestream *)_stream;
|
||||
|
||||
@ -702,7 +702,7 @@ static int format_object_header(char *hdr, size_t n, size_t obj_len, git_otype o
|
||||
return len+1;
|
||||
}
|
||||
|
||||
int loose_backend__stream(git_odb_stream **stream_out, git_odb_backend *_backend, size_t length, git_otype type)
|
||||
static int loose_backend__stream(git_odb_stream **stream_out, git_odb_backend *_backend, size_t length, git_otype type)
|
||||
{
|
||||
loose_backend *backend;
|
||||
loose_writestream *stream;
|
||||
@ -754,7 +754,7 @@ int loose_backend__stream(git_odb_stream **stream_out, git_odb_backend *_backend
|
||||
return GIT_SUCCESS;
|
||||
}
|
||||
|
||||
int loose_backend__write(git_oid *oid, git_odb_backend *_backend, const void *data, size_t len, git_otype type)
|
||||
static int loose_backend__write(git_oid *oid, git_odb_backend *_backend, const void *data, size_t len, git_otype type)
|
||||
{
|
||||
int error, header_len;
|
||||
char final_path[GIT_PATH_MAX], header[64];
|
||||
@ -797,7 +797,7 @@ cleanup:
|
||||
return error;
|
||||
}
|
||||
|
||||
void loose_backend__free(git_odb_backend *_backend)
|
||||
static void loose_backend__free(git_odb_backend *_backend)
|
||||
{
|
||||
loose_backend *backend;
|
||||
assert(_backend);
|
||||
|
@ -363,7 +363,7 @@ int pack_backend__read_header(git_rawobj *obj, git_odb_backend *backend, const g
|
||||
}
|
||||
*/
|
||||
|
||||
int pack_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
|
||||
static int pack_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
|
||||
{
|
||||
struct git_pack_entry e;
|
||||
git_rawobj raw;
|
||||
@ -382,7 +382,7 @@ int pack_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_od
|
||||
return GIT_SUCCESS;
|
||||
}
|
||||
|
||||
int pack_backend__read_prefix(
|
||||
static int pack_backend__read_prefix(
|
||||
git_oid *out_oid,
|
||||
void **buffer_p,
|
||||
size_t *len_p,
|
||||
@ -421,13 +421,13 @@ int pack_backend__read_prefix(
|
||||
return GIT_SUCCESS;
|
||||
}
|
||||
|
||||
int pack_backend__exists(git_odb_backend *backend, const git_oid *oid)
|
||||
static int pack_backend__exists(git_odb_backend *backend, const git_oid *oid)
|
||||
{
|
||||
struct git_pack_entry e;
|
||||
return pack_entry_find(&e, (struct pack_backend *)backend, oid) == GIT_SUCCESS;
|
||||
}
|
||||
|
||||
void pack_backend__free(git_odb_backend *_backend)
|
||||
static void pack_backend__free(git_odb_backend *_backend)
|
||||
{
|
||||
struct pack_backend *backend;
|
||||
size_t i;
|
||||
|
@ -1548,7 +1548,7 @@ int git_reference_foreach(git_repository *repo, unsigned int list_flags, int (*c
|
||||
return git_futils_direach(refs_path, GIT_PATH_MAX, _dirent_loose_listall, &data);
|
||||
}
|
||||
|
||||
int cb__reflist_add(const char *ref, void *data)
|
||||
static int cb__reflist_add(const char *ref, void *data)
|
||||
{
|
||||
return git_vector_insert((git_vector *)data, git__strdup(ref));
|
||||
}
|
||||
|
@ -216,11 +216,6 @@ int git_remote_download(char **filename, git_remote *remote)
|
||||
return git_fetch_download_pack(filename, remote);
|
||||
}
|
||||
|
||||
git_headarray *git_remote_tips(git_remote *remote)
|
||||
{
|
||||
return &remote->refs;
|
||||
}
|
||||
|
||||
int git_remote_update_tips(struct git_remote *remote)
|
||||
{
|
||||
int error = GIT_SUCCESS;
|
||||
|
@ -156,7 +156,7 @@ static int quickcheck_repository_dir(const char *repository_path)
|
||||
return GIT_SUCCESS;
|
||||
}
|
||||
|
||||
static git_repository *repository_alloc()
|
||||
static git_repository *repository_alloc(void)
|
||||
{
|
||||
int error;
|
||||
|
||||
|
@ -52,7 +52,7 @@ struct git_revwalk {
|
||||
unsigned int sorting;
|
||||
};
|
||||
|
||||
commit_list *commit_list_insert(commit_object *item, commit_list **list_p)
|
||||
static commit_list *commit_list_insert(commit_object *item, commit_list **list_p)
|
||||
{
|
||||
commit_list *new_list = git__malloc(sizeof(commit_list));
|
||||
new_list->item = item;
|
||||
@ -61,7 +61,7 @@ commit_list *commit_list_insert(commit_object *item, commit_list **list_p)
|
||||
return new_list;
|
||||
}
|
||||
|
||||
void commit_list_free(commit_list **list_p)
|
||||
static void commit_list_free(commit_list **list_p)
|
||||
{
|
||||
commit_list *list = *list_p;
|
||||
|
||||
@ -74,7 +74,7 @@ void commit_list_free(commit_list **list_p)
|
||||
*list_p = NULL;
|
||||
}
|
||||
|
||||
commit_object *commit_list_pop(commit_list **stack)
|
||||
static commit_object *commit_list_pop(commit_list **stack)
|
||||
{
|
||||
commit_list *top = *stack;
|
||||
commit_object *item = top ? top->item : NULL;
|
||||
|
@ -203,7 +203,7 @@ static int parse_timezone_offset(const char *buffer, int *offset_out)
|
||||
return GIT_SUCCESS;
|
||||
}
|
||||
|
||||
int process_next_token(const char **buffer_out, char **storage,
|
||||
static int process_next_token(const char **buffer_out, char **storage,
|
||||
const char *token_end, const char *right_boundary)
|
||||
{
|
||||
int error = process_trimming(*buffer_out, storage, token_end, 0);
|
||||
@ -218,7 +218,7 @@ int process_next_token(const char **buffer_out, char **storage,
|
||||
return GIT_SUCCESS;
|
||||
}
|
||||
|
||||
const char *scan_for_previous_token(const char *buffer, const char *left_boundary)
|
||||
static const char *scan_for_previous_token(const char *buffer, const char *left_boundary)
|
||||
{
|
||||
const char *start;
|
||||
|
||||
@ -234,7 +234,7 @@ const char *scan_for_previous_token(const char *buffer, const char *left_boundar
|
||||
return start;
|
||||
}
|
||||
|
||||
int parse_time(git_time_t *time_out, const char *buffer)
|
||||
static int parse_time(git_time_t *time_out, const char *buffer)
|
||||
{
|
||||
long time;
|
||||
int error;
|
||||
|
@ -24,7 +24,7 @@ struct tree_key_search {
|
||||
size_t filename_len;
|
||||
};
|
||||
|
||||
int entry_search_cmp(const void *key, const void *array_member)
|
||||
static int entry_search_cmp(const void *key, const void *array_member)
|
||||
{
|
||||
const struct tree_key_search *ksearch = key;
|
||||
const git_tree_entry *entry = array_member;
|
||||
@ -37,7 +37,7 @@ int entry_search_cmp(const void *key, const void *array_member)
|
||||
return result ? result : ((int)ksearch->filename_len - (int)entry->filename_len);
|
||||
}
|
||||
|
||||
int entry_sort_cmp(const void *a, const void *b)
|
||||
static int entry_sort_cmp(const void *a, const void *b)
|
||||
{
|
||||
const git_tree_entry *entry_a = (const git_tree_entry *)(a);
|
||||
const git_tree_entry *entry_b = (const git_tree_entry *)(b);
|
||||
@ -157,6 +157,7 @@ static int tree_parse_buffer(git_tree *tree, const char *buffer, const char *buf
|
||||
|
||||
while (buffer < buffer_end) {
|
||||
git_tree_entry *entry;
|
||||
long tmp;
|
||||
|
||||
entry = git__calloc(1, sizeof(git_tree_entry));
|
||||
if (entry == NULL) {
|
||||
@ -167,8 +168,10 @@ static int tree_parse_buffer(git_tree *tree, const char *buffer, const char *buf
|
||||
if (git_vector_insert(&tree->entries, entry) < GIT_SUCCESS)
|
||||
return GIT_ENOMEM;
|
||||
|
||||
if (git__strtol32((long *)&entry->attr, buffer, &buffer, 8) < GIT_SUCCESS)
|
||||
if (git__strtol32(&tmp, buffer, &buffer, 8) < GIT_SUCCESS ||
|
||||
!buffer || tmp > UINT_MAX || tmp < 0)
|
||||
return git__throw(GIT_EOBJCORRUPTED, "Failed to parse tree. Can't parse attributes");
|
||||
entry->attr = tmp;
|
||||
|
||||
if (*buffer++ != ' ') {
|
||||
error = git__throw(GIT_EOBJCORRUPTED, "Failed to parse tree. Object it corrupted");
|
||||
|
@ -506,7 +506,7 @@ END_TEST
|
||||
|
||||
static char *empty_tmp_dir = "test_gitfo_rmdir_recurs_test";
|
||||
|
||||
static int setup_empty_tmp_dir()
|
||||
static int setup_empty_tmp_dir(void)
|
||||
{
|
||||
char path[GIT_PATH_MAX];
|
||||
|
||||
|
@ -498,9 +498,6 @@ BEGIN_TEST(signature4, "creating a zero character signature")
|
||||
END_TEST
|
||||
|
||||
|
||||
/* External declaration for testing the buffer parsing method */
|
||||
int commit_parse_buffer(git_commit *commit, void *data, size_t len);
|
||||
|
||||
BEGIN_TEST(parse2, "parse a whole commit buffer")
|
||||
const int broken_commit_count = sizeof(test_commits_broken) / sizeof(*test_commits_broken);
|
||||
const int working_commit_count = sizeof(test_commits_working) / sizeof(*test_commits_working);
|
||||
@ -516,7 +513,7 @@ BEGIN_TEST(parse2, "parse a whole commit buffer")
|
||||
memset(commit, 0x0, sizeof(git_commit));
|
||||
commit->object.repo = repo;
|
||||
|
||||
must_fail(commit_parse_buffer(
|
||||
must_fail(git_commit__parse_buffer(
|
||||
commit,
|
||||
test_commits_broken[i],
|
||||
strlen(test_commits_broken[i]))
|
||||
@ -532,7 +529,7 @@ BEGIN_TEST(parse2, "parse a whole commit buffer")
|
||||
memset(commit, 0x0, sizeof(git_commit));
|
||||
commit->object.repo = repo;
|
||||
|
||||
must_pass(commit_parse_buffer(
|
||||
must_pass(git_commit__parse_buffer(
|
||||
commit,
|
||||
test_commits_working[i],
|
||||
strlen(test_commits_working[i]))
|
||||
@ -544,7 +541,7 @@ BEGIN_TEST(parse2, "parse a whole commit buffer")
|
||||
memset(commit, 0x0, sizeof(git_commit));
|
||||
commit->object.repo = repo;
|
||||
|
||||
must_pass(commit_parse_buffer(
|
||||
must_pass(git_commit__parse_buffer(
|
||||
commit,
|
||||
test_commits_working[i],
|
||||
strlen(test_commits_working[i]))
|
||||
|
@ -34,7 +34,7 @@ typedef struct _aux_object {
|
||||
int visited;
|
||||
} table_item;
|
||||
|
||||
uint32_t hash_func(const void *key, int hash_id)
|
||||
static uint32_t hash_func(const void *key, int hash_id)
|
||||
{
|
||||
uint32_t r;
|
||||
const git_oid *id = key;
|
||||
@ -43,7 +43,7 @@ uint32_t hash_func(const void *key, int hash_id)
|
||||
return r;
|
||||
}
|
||||
|
||||
int hash_cmpkey(const void *a, const void *b)
|
||||
static int hash_cmpkey(const void *a, const void *b)
|
||||
{
|
||||
return git_oid_cmp(a, b);
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ typedef struct {
|
||||
int position;
|
||||
} fake_backend;
|
||||
|
||||
git_odb_backend *new_backend(int position)
|
||||
static git_odb_backend *new_backend(int position)
|
||||
{
|
||||
fake_backend *b;
|
||||
|
||||
@ -47,7 +47,7 @@ git_odb_backend *new_backend(int position)
|
||||
return (git_odb_backend *)b;
|
||||
}
|
||||
|
||||
int test_backend_sorting(git_odb *odb)
|
||||
static int test_backend_sorting(git_odb *odb)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
#define SUITE_NAME(SNAME) libgit2_suite_##SNAME
|
||||
|
||||
#define BEGIN_SUITE(SNAME) \
|
||||
git_testsuite *libgit2_suite_##SNAME(void);\
|
||||
git_testsuite *libgit2_suite_##SNAME(void) {\
|
||||
git_testsuite *_gitsuite = git_testsuite_new(#SNAME);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user