Re: [WIP Patch 04/12] Use the new http API in http_fetch_ref()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jan 18, 2009 at 04:10:38PM +0100, Johannes Schindelin wrote:
> Hi,
> 
> On Sun, 18 Jan 2009, Mike Hommey wrote:
> 
> > diff --git a/http.c b/http.c
> > index 82534cf..0c9504b 100644
> > --- a/http.c
> > +++ b/http.c
> > @@ -604,34 +604,17 @@ int http_fetch_ref(const char *base, struct ref *ref)
> >  {
> >  	char *url;
> >  	struct strbuf buffer = STRBUF_INIT;
> > -	struct active_request_slot *slot;
> > -	struct slot_results results;
> > -	int ret;
> > +	int ret = -1;
> >  
> >  	url = quote_ref_url(base, ref->name);
> > -	slot = get_active_slot();
> > -	slot->results = &results;
> > -	curl_easy_setopt(slot->curl, CURLOPT_FILE, &buffer);
> > -	curl_easy_setopt(slot->curl, CURLOPT_WRITEFUNCTION, fwrite_buffer);
> > -	curl_easy_setopt(slot->curl, CURLOPT_HTTPHEADER, NULL);
> > -	curl_easy_setopt(slot->curl, CURLOPT_URL, url);
> > -	if (start_active_slot(slot)) {
> > -		run_active_slot(slot);
> > -		if (results.curl_result == CURLE_OK) {
> > -			strbuf_rtrim(&buffer);
> > -			if (buffer.len == 40)
> > -				ret = get_sha1_hex(buffer.buf, ref->old_sha1);
> > -			else if (!prefixcmp(buffer.buf, "ref: ")) {
> > -				ref->symref = xstrdup(buffer.buf + 5);
> > -				ret = 0;
> > -			} else
> > -				ret = 1;
> > -		} else {
> > -			ret = error("Couldn't get %s for %s\n%s",
> > -				    url, ref->name, curl_errorstr);
> > +	if (http_get_strbuf(url, &buffer, HTTP_NO_CACHE) == HTTP_OK) {
> > +		strbuf_rtrim(&buffer);
> > +		if (buffer.len == 40)
> > +			ret = get_sha1_hex(buffer.buf, ref->old_sha1);
> > +		else if (!prefixcmp(buffer.buf, "ref: ")) {
> > +			ref->symref = xstrdup(buffer.buf + 5);
> > +			ret = 0;
> >  		}
> > -	} else {
> > -		ret = error("Unable to start request");
> >  	}
> 
> Why not keep that error?

It should be handled in http_request, I'd say...

Mike
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux