diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2005-11-07 19:23:11 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-11-07 13:29:41 -0800 |
commit | 92e2eb9c0a868348dd2caf2b923fd6542ca7ceb7 (patch) | |
tree | 7633103f614e7905a6c057d49a444afb8501180d /http-push.c | |
parent | 0dd276b8713a484496a2ef694b6c72b1ddbef08b (diff) | |
download | git-92e2eb9c0a868348dd2caf2b923fd6542ca7ceb7.tar.gz |
Small bugfixes for http-push.c
This patch fixes three things:
- older libexpat does not know about enum XML_Status
- as in my patch for http-fetch, do not rely on a curl result in
free()d data
- calloc the new_lock structure
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'http-push.c')
-rw-r--r-- | http-push.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/http-push.c b/http-push.c index 8e953a6759..0b90fb9ae3 100644 --- a/http-push.c +++ b/http-push.c @@ -28,6 +28,15 @@ static const char http_push_usage[] = #define NO_CURL_EASY_DUPHANDLE #endif +#ifndef XML_STATUS_OK +enum XML_Status { + XML_STATUS_OK = 1, + XML_STATUS_ERROR = 0 +}; +#define XML_STATUS_OK 1 +#define XML_STATUS_ERROR 0 +#endif + #define RANGE_HEADER_SIZE 30 /* DAV method names and request body templates */ @@ -731,11 +740,12 @@ void process_curl_messages(void) slot->curl != curl_message->easy_handle) slot = slot->next; if (slot != NULL) { + int curl_result = curl_message->data.result; curl_multi_remove_handle(curlm, slot->curl); active_requests--; slot->done = 1; slot->in_use = 0; - slot->curl_result = curl_message->data.result; + slot->curl_result = curl_result; curl_easy_getinfo(slot->curl, CURLINFO_HTTP_CODE, &slot->http_code); @@ -1236,7 +1246,7 @@ struct active_lock *lock_remote(char *file, long timeout) in_buffer.posn = 0; in_buffer.buffer = in_data; - new_lock = xmalloc(sizeof(*new_lock)); + new_lock = xcalloc(1, sizeof(*new_lock)); new_lock->owner = NULL; new_lock->token = NULL; new_lock->timeout = -1; |