예제 #1
0
void rapi_context_unref(RapiContext* context)/*{{{*/
{
	if (context)
	{
		(context->refcount)--;
		if (context->refcount < 1)
			rapi_context_free(context);
	}
}/*}}}*/
RapiContext* rapi_context_new()/*{{{*/
{
	RapiContext* context = calloc(1, sizeof(RapiContext));

	if (context)
	{
		if (!(
					(context->send_buffer  = rapi_buffer_new()) &&
					(context->recv_buffer = rapi_buffer_new()) &&
					(context->socket = synce_socket_new())
				 ))
		{
			rapi_context_free(context);
			return NULL;
		}
	}

	return context;
}/*}}}*/
예제 #3
0
RapiContext* rapi_context_new()/*{{{*/
{
	RapiContext* context = calloc(1, sizeof(RapiContext));

	if (context)
	{
		memset(context, 0, sizeof(RapiContext));
		if (!((context->send_buffer  = rapi_buffer_new()) &&
		      (context->recv_buffer = rapi_buffer_new()) &&
		      (context->socket = synce_socket_new())
		      ))
		{
			rapi_context_free(context);
			return NULL;
		}
	}

	context->info = NULL;
	context->own_info = false;
	context->refcount = 1;

	return context;
}/*}}}*/