]> git.proxmox.com Git - libgit2.git/commitdiff
Fix warnings and merge issues on Win64
authorRussell Belfer <rb@github.com>
Thu, 23 Aug 2012 16:20:17 +0000 (09:20 -0700)
committerRussell Belfer <rb@github.com>
Thu, 23 Aug 2012 16:20:17 +0000 (09:20 -0700)
12 files changed:
include/git2/repository.h
src/message.c
src/repository.c
src/transports/http.c
src/win32/posix.h
tests-clar/checkout/checkout.c
tests-clar/clar_libgit2.h
tests-clar/core/buffer.c
tests-clar/refs/list.c
tests-clar/status/status_data.h
tests-clar/status/status_helpers.h
tests-clar/status/worktree.c

index a986859d4a3c04b72bd529a5f90289733e8ec388..f520d543363d114dd7212947e662c9a7dd23b732 100644 (file)
@@ -466,6 +466,11 @@ GIT_EXTERN(void) git_repository_set_index(git_repository *repo, git_index *index
  *
  * Use this function to get the contents of this file. Don't forget to
  * remove the file after you create the commit.
+ *
+ * @param buffer Buffer to write data into or NULL to just read required size
+ * @param len Length of buffer in bytes
+ * @param repo Repository to read prepared message from
+ * @return Bytes written to buffer, GIT_ENOTFOUND if no message, or -1 on error
  */
 GIT_EXTERN(int) git_repository_message(char *buffer, size_t len, git_repository *repo);
 
index e6dedc9fb5e575c56371c88ec441d1fc8450b186..791b694554e089ccd936b9978a10a41b31952f8f 100644 (file)
@@ -82,5 +82,5 @@ int git_message_prettify(char *message_out, size_t buffer_size, const char *mess
 
 done:
        git_buf_free(&buf);
-       return out_size;
+       return (int)out_size;
 }
index 8005797b25cb60dcb1adbbe525c3a4fe6d0a0985..bf19d07061bdccca4d6a7ea43380c3906243a97f 100644 (file)
@@ -1328,39 +1328,27 @@ int git_repository_message(char *buffer, size_t len, git_repository *repo)
 {
        git_buf buf = GIT_BUF_INIT, path = GIT_BUF_INIT;
        struct stat st;
-       ssize_t size;
        int error;
 
        if (git_buf_joinpath(&path, repo->path_repository, MERGE_MSG_FILE) < 0)
                return -1;
 
-       error = p_stat(git_buf_cstr(&path), &st);
-       if (error < 0) {
+       if ((error = p_stat(git_buf_cstr(&path), &st)) < 0) {
                if (errno == ENOENT)
                        error = GIT_ENOTFOUND;
-
-               git_buf_free(&path);
-               return error;
        }
-
-       if (buffer == NULL) {
-               git_buf_free(&path);
-               return (int)st.st_size;
+       else if (buffer != NULL) {
+               error = git_futils_readbuffer(&buf, git_buf_cstr(&path));
+               git_buf_copy_cstr(buffer, len, &buf);
        }
 
-       if (git_futils_readbuffer(&buf, git_buf_cstr(&path)) < 0)
-               goto on_error;
-
-       memcpy(buffer, git_buf_cstr(&buf), len);
-       size = git_buf_len(&buf);
-
        git_buf_free(&path);
        git_buf_free(&buf);
-       return size;
 
-on_error:
-       git_buf_free(&path);
-       return -1;
+       if (!error)
+               error = (int)st.st_size + 1; /* add 1 for NUL byte */
+
+       return error;
 }
 
 int git_repository_message_remove(git_repository *repo)
index 85fec413afc0f01573036864a12e8bd2d122654a..ce382c3ad571da8b51766f5aec68d71baa46078b 100644 (file)
@@ -233,7 +233,7 @@ static int http_recv_cb(gitno_buffer *buf)
        if (t->error < 0)
                return t->error;
 
-       return buf->offset - old_len;
+       return (int)(buf->offset - old_len);
 }
 
 /* Set up the gitno_buffer so calling gitno_recv() grabs data from the HTTP response */
index def3a766abce9b42a3131922e0c8338c7553c328..14caae418165c2e26c246f28042e7dc3b73c2a30 100644 (file)
@@ -19,14 +19,6 @@ GIT_INLINE(int) p_link(const char *old, const char *new)
        return -1;
 }
 
-GIT_INLINE(int) p_symlink(const char *old, const char *new)
-{
-       GIT_UNUSED(old);
-       GIT_UNUSED(new);
-       errno = ENOSYS;
-       return -1;
-}
-
 GIT_INLINE(int) p_mkdir(const char *path, mode_t mode)
 {
        wchar_t* buf = gitwin_to_utf16(path);
index d6b79b4ac6b085436f73921c9f32423328e5baab..ba14194c4b31899acc52413e59e4219f11a2b01e 100644 (file)
@@ -33,7 +33,7 @@ static void test_file_contents(const char *path, const char *expectedcontents)
        actuallen = p_read(fd, buffer, 1024);
        cl_git_pass(p_close(fd));
 
-       cl_assert_equal_i(actuallen, expectedlen);
+       cl_assert_equal_sz(actuallen, expectedlen);
        cl_assert_equal_s(buffer, expectedcontents);
 }
 
index eab6c3d3e8bb8872175399589db446fb445347ca..b4ee74cdb1dfceed0b1e556c429676abaf4834c8 100644 (file)
@@ -25,6 +25,8 @@
  */
 #define cl_git_fail(expr) cl_must_fail(expr)
 
+#define cl_assert_equal_sz(sz1,sz2) cl_assert((sz1) == (sz2))
+
 /*
  * Some utility macros for building long strings
  */
index b6274b012e289c288490cbb6c5550ad08eb38998..972567e559f8e6146b481b6874a575323b46f5fa 100644 (file)
@@ -665,7 +665,7 @@ static void assert_unescape(char *expected, char *to_unescape) {
        cl_git_pass(git_buf_sets(&buf, to_unescape));
        git_buf_unescape(&buf);
        cl_assert_equal_s(expected, buf.ptr);
-       cl_assert_equal_i(strlen(expected), buf.size);
+       cl_assert_equal_sz(strlen(expected), buf.size);
 
        git_buf_free(&buf);
 }
index ac3cc0058eea6f75927570eb01b651ad58ad7b4b..f92bf4862b0e87647e7ef11b160b6010bcdea2db 100644 (file)
@@ -36,7 +36,7 @@ void test_refs_list__all(void)
        /* We have exactly 9 refs in total if we include the packed ones:
         * there is a reference that exists both in the packfile and as
         * loose, but we only list it once */
-       cl_assert_equal_i(ref_list.count, 10);
+       cl_assert_equal_i((int)ref_list.count, 10);
 
        git_strarray_free(&ref_list);
 }
index 043b830098414d3230a4e0c6ee5272256a75a47a..85a7cd6b5ae93099b76440e660d1ed323c78fcb3 100644 (file)
@@ -44,7 +44,7 @@ static const unsigned int entry_statuses0[] = {
        GIT_STATUS_WT_NEW,
 };
 
-static const size_t entry_count0 = 16;
+static const int entry_count0 = 16;
 
 /* entries for a copy of tests/resources/status with all content
  * deleted from the working directory
@@ -86,7 +86,7 @@ static const unsigned int entry_statuses2[] = {
        GIT_STATUS_WT_DELETED,
 };
 
-static const size_t entry_count2 = 15;
+static const int entry_count2 = 15;
 
 /* entries for a copy of tests/resources/status with some mods */
 
@@ -140,7 +140,7 @@ static const unsigned int entry_statuses3[] = {
        GIT_STATUS_WT_NEW,
 };
 
-static const size_t entry_count3 = 22;
+static const int entry_count3 = 22;
 
 
 /* entries for a copy of tests/resources/status with some mods
@@ -199,4 +199,4 @@ static const unsigned int entry_statuses4[] = {
        GIT_STATUS_WT_NEW,
 };
 
-static const size_t entry_count4 = 23;
+static const int entry_count4 = 23;
index cffca66a5779b3344bf4ed4e7147ef59da3408ef..3f9c1f57d1b4338855cc1fa95323c33482229806 100644 (file)
@@ -2,12 +2,12 @@
 #define INCLUDE_cl_status_helpers_h__
 
 typedef struct {
-       size_t wrong_status_flags_count;
-       size_t wrong_sorted_path;
-       size_t entry_count;
+       int wrong_status_flags_count;
+       int wrong_sorted_path;
+       int entry_count;
        const unsigned int* expected_statuses;
        const char** expected_paths;
-       size_t expected_entry_count;
+       int expected_entry_count;
 } status_entry_counts;
 
 /* cb_status__normal takes payload of "status_entry_counts *" */
index 2abf36833ede218cb23ea52fafe92d18c468ce0a..75975c9889809550414a8e689276c9fe7fd35359 100644 (file)
@@ -683,7 +683,7 @@ static unsigned int filemode_statuses[] = {
        GIT_STATUS_WT_NEW
 };
 
-static const size_t filemode_count = 8;
+static const int filemode_count = 8;
 
 void test_status_worktree__filemode_changes(void)
 {
@@ -697,7 +697,7 @@ void test_status_worktree__filemode_changes(void)
        if (cl_is_chmod_supported())
                cl_git_pass(git_config_set_bool(cfg, "core.filemode", true));
        else {
-               unsigned int i;
+               int i;
                cl_git_pass(git_config_set_bool(cfg, "core.filemode", false));
 
                /* won't trust filesystem mode diffs, so these will appear unchanged */