X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=http-push.c;h=b60fa8d2417c32cf72331e9869d4d3a3208e953f;hb=90321c106ca6e36c0e884ca677c9a52dea47bdde;hp=b35d400ee1a2e8b5c97ca6ad82f6d91818519456;hpb=d293b281276ea6c160ed9589cbf06a44698158e2;p=git.git diff --git a/http-push.c b/http-push.c index b35d400e..b60fa8d2 100644 --- a/http-push.c +++ b/http-push.c @@ -622,7 +622,7 @@ static int refresh_lock(struct remote_lock *lock) return rc; } -static void check_locks() +static void check_locks(void) { struct remote_lock *lock = remote->locks; time_t current_time = time(NULL); @@ -1008,8 +1008,7 @@ static int fetch_indices(void) struct active_request_slot *slot; struct slot_results results; - data = xmalloc(4096); - memset(data, 0, 4096); + data = xcalloc(1, 4096); buffer.size = 4096; buffer.posn = 0; buffer.buffer = data; @@ -1863,6 +1862,7 @@ static void one_remote_ref(char *refname) struct ref *ref; unsigned char remote_sha1[20]; struct object *obj; + int len = strlen(refname) + 1; if (fetch_ref(refname, remote_sha1) != 0) { fprintf(stderr, @@ -1884,7 +1884,6 @@ static void one_remote_ref(char *refname) } } - int len = strlen(refname) + 1; ref = xcalloc(1, sizeof(*ref) + len); memcpy(ref->old_sha1, remote_sha1, 20); memcpy(ref->name, refname, len); @@ -2042,8 +2041,7 @@ static void update_remote_info_refs(struct remote_lock *lock) char *if_header; struct curl_slist *dav_headers = NULL; - buffer.buffer = xmalloc(4096); - memset(buffer.buffer, 0, 4096); + buffer.buffer = xcalloc(1, 4096); buffer.size = 4096; buffer.posn = 0; remote_ls("refs/", (PROCESS_FILES | RECURSIVE), @@ -2313,6 +2311,8 @@ int main(int argc, char **argv) int objects_to_send; int rc = 0; int i; + int new_refs; + struct ref *ref; setup_git_directory(); setup_ident(); @@ -2347,8 +2347,8 @@ int main(int argc, char **argv) } } if (!remote->url) { - remote->url = arg; char *path = strstr(arg, "//"); + remote->url = arg; if (path) { path = index(path+2, '/'); if (path) @@ -2421,10 +2421,13 @@ int main(int argc, char **argv) return 0; } - int new_refs = 0; - struct ref *ref; + new_refs = 0; for (ref = remote_refs; ref; ref = ref->next) { char old_hex[60], *new_hex; + const char *commit_argv[4]; + int commit_argc; + char *new_sha1_hex, *old_sha1_hex; + if (!ref->peer_ref) continue; if (!memcmp(ref->old_sha1, ref->peer_ref->new_sha1, 20)) { @@ -2482,10 +2485,9 @@ int main(int argc, char **argv) } /* Set up revision info for this refspec */ - const char *commit_argv[4]; - int commit_argc = 3; - char *new_sha1_hex = strdup(sha1_to_hex(ref->new_sha1)); - char *old_sha1_hex = NULL; + commit_argc = 3; + new_sha1_hex = strdup(sha1_to_hex(ref->new_sha1)); + old_sha1_hex = NULL; commit_argv[1] = "--objects"; commit_argv[2] = new_sha1_hex; if (!push_all && !is_zero_sha1(ref->old_sha1)) {