コード例 #1
0
ファイル: gbuf.c プロジェクト: dsaravel/dex
char *gbuf_steal(struct gbuf *buf)
{
	char *b = buf->buffer;
	if (!buf->alloc)
		b = xcalloc(1);
	gbuf_init(buf);
	return b;
}
コード例 #2
0
ファイル: scrypt.c プロジェクト: maxeler/HybridMiner
/**
 * \brief   Initialise a worker
 * \param   worker      Worker
 * \param   net_config  Network configuration
 */
static void worker_init(scrypt_worker_t *worker, const net_config_t *net_config) {
	LOG_DEBUG_ENTER();

	worker->id = 1;

	worker->curl = curl_easy_init();
	if (NULL == worker->curl) {
		LOG_FATAL("Could not init Curl");
	}

	if (gbuf_init(&worker->gbuf, 1024)) {
		LOG_FATAL("Could not create worker buffer");
	}

	CURLcode curl_ret;
	curl_ret = curl_easy_setopt(worker->curl, CURLOPT_WRITEFUNCTION, write_cb);
	if (CURLE_OK != curl_ret) {
		LOG_FATAL("curl_easy_setopt: %s", curl_easy_strerror(curl_ret));
	}

	curl_ret = curl_easy_setopt(worker->curl, CURLOPT_WRITEDATA, &worker->gbuf);
	if (CURLE_OK != curl_ret) {
		LOG_FATAL("curl_easy_setopt: %s", curl_easy_strerror(curl_ret));
	}

	curl_ret = curl_easy_setopt(worker->curl, CURLOPT_URL, net_config->url);
	if (CURLE_OK != curl_ret) {
		LOG_FATAL("curl_easy_setopt: %s", curl_easy_strerror(curl_ret));
	}

	curl_ret = curl_easy_setopt(worker->curl, CURLOPT_USERPWD, net_config->usr_pwd);
	if (CURLE_OK != curl_ret) {
		LOG_FATAL("curl_easy_setopt: %s", curl_easy_strerror(curl_ret));
	}

	worker->state.stats.matches = 0;
	worker->state.stats.none = 0;
	worker->state.stats.nhash = 0;
}
コード例 #3
0
ファイル: gbuf.c プロジェクト: dsaravel/dex
void gbuf_free(struct gbuf *buf)
{
	if (buf->alloc)
		free(buf->buffer);
	gbuf_init(buf);
}