示例#1
0
func EasyInit() (easy *Easy, err *CurlError) {
	easy = new(Easy)
	if easy.cptr = C.curl_easy_init(); easy.cptr == nil {
		return nil, NewError(E_FAILED_INIT)
	}
	easy.cerrbuf = (*C.char)(C.malloc(C.CURL_ERROR_SIZE))
	err = NewError(C.my_esetoptc(easy.cptr, C.CURLOPT_ERRORBUFFER, easy.cerrbuf))
	if err != nil {
		C.curl_easy_cleanup(easy.cptr)
		return nil, err
	}
	runtime.SetFinalizer(easy, func(e *Easy) { e.Cleanup() })
	return
}
示例#2
0
文件: easy.go 项目: ym/go-curl
// curl_easy_cleanup - End a libcurl easy session
func (curl *CURL) Cleanup() {
	p := curl.handle
	C.curl_easy_cleanup(p)
	curl.MallocFreeAfter(0)
}
示例#3
0
文件: easy.go 项目: andelf/go-curl
// curl_easy_cleanup - End a libcurl easy session
func (curl *CURL) Cleanup() {
	p := curl.handle
	C.curl_easy_cleanup(p)
	curl.MallocFreeAfter(0)
	context_map.Delete(uintptr(p))
}
示例#4
0
// curl_easy_cleanup - End a libcurl easy session
func (curl *CURL) Cleanup() {
	p := curl.handle
	C.curl_easy_cleanup(p)
}
示例#5
0
func (easy *Easy) Cleanup() {
	C.curl_easy_cleanup(easy.cptr)
	C.free(unsafe.Pointer(easy.cerrbuf))
}