コード例 #1
0
ファイル: dbt_api.c プロジェクト: OpenSIPS/opensips
/*
 * Retrieve result set
 */
int dbt_get_result(db_con_t* _h, db_res_t** _r)
{
	if (!_h || !_r) {
		LM_ERR("invalid parameter value\n");
		return -1;
	}

	if (!DBT_CON_RESULT(_h))
	{
		LM_ERR("failed to get result\n");
		*_r = 0;
		return -3;
	}

	*_r = db_new_result();
	if (*_r == 0)
	{
		LM_ERR("no private memory left\n");
		return -2;
	}

	if (dbt_convert_result(_h, *_r) < 0)
	{
		LM_ERR("failed to convert result\n");
		pkg_free(*_r);
		return -4;
	}

	return 0;
}
コード例 #2
0
ファイル: dbt_api.c プロジェクト: AndreyRybkin/kamailio
/*
 * Retrieve result set
 */
int dbt_get_result(db1_res_t** _r, dbt_result_p _dres)
{
	if ( !_r) {
		LM_ERR("invalid parameter value\n");
		return -1;
	}

	if (!_dres)
	{
		LM_ERR("failed to get result\n");
		*_r = 0;
		return -3;
	}

	*_r = db_new_result();
	if (*_r == 0) 
	{
		LM_ERR("no private memory left\n");
		return -2;
	}

	if (dbt_convert_result(*_r, _dres) < 0)
	{
		LM_ERR("failed to convert result\n");
		pkg_free(*_r);
		return -4;
	}
	
	(*_r)->ptr = _dres;
	return 0;
}
コード例 #3
0
/*
 * Retrieve result set
 */
int dbt_get_result(db_con_t* _h, db_res_t** _r)
{
	if ((!_h) || (!_r)) 
	{
#ifdef DBT_EXTRA_DEBUG
		LOG(L_ERR, "DBT:dbt_get_result: Invalid parameter value\n");
#endif
		return -1;
	}

	if (!DBT_CON_RESULT(_h))
	{
		LOG(L_ERR, "DBT:dbt_get_result: error getting result\n");
		*_r = 0;
		return -3;
	}

	*_r = dbt_new_result();
	if (*_r == 0) 
	{
		LOG(L_ERR, "DBT:dbt_get_result: No memory left\n");
		return -2;
	}

	if (dbt_convert_result(_h, *_r) < 0) 
	{
		LOG(L_ERR, "DBT:dbt_get_result: Error while converting result\n");
		pkg_free(*_r);
		return -4;
	}
	
	return 0;
}