Added macro freerdp_set_last_error_if_not
This macro replaces the multiple instances where the current error state is checked before setting an optional error state. Signed-off-by: Armin Novak <armin.novak@thincast.com>
This commit is contained in:
parent
3e3458cc3c
commit
895cb8f944
@ -482,6 +482,13 @@ extern "C"
|
||||
|
||||
FREERDP_API void freerdp_set_last_error(rdpContext* context, UINT32 lastError);
|
||||
|
||||
#define freerdp_set_last_error_if_not(context, lastError) \
|
||||
do \
|
||||
{ \
|
||||
if (freerdp_get_last_error(context) == FREERDP_ERROR_SUCCESS) \
|
||||
freerdp_set_last_error_log(context, lastError); \
|
||||
} while (0)
|
||||
|
||||
#define freerdp_set_last_error_log(context, lastError) \
|
||||
freerdp_set_last_error_ex((context), (lastError), __FUNCTION__, __FILE__, __LINE__)
|
||||
FREERDP_API void freerdp_set_last_error_ex(rdpContext* context, UINT32 lastError,
|
||||
|
@ -365,8 +365,7 @@ BOOL rdp_client_connect(rdpRdp* rdp)
|
||||
{
|
||||
if (rdp_check_fds(rdp) < 0)
|
||||
{
|
||||
if (!freerdp_get_last_error(rdp->context))
|
||||
freerdp_set_last_error_log(rdp->context, FREERDP_ERROR_CONNECT_TRANSPORT_FAILED);
|
||||
freerdp_set_last_error_if_not(rdp->context, FREERDP_ERROR_CONNECT_TRANSPORT_FAILED);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -188,8 +188,7 @@ BOOL freerdp_connect(freerdp* instance)
|
||||
|
||||
if (!status || (status2 != CHANNEL_RC_OK))
|
||||
{
|
||||
if (!freerdp_get_last_error(rdp->context))
|
||||
freerdp_set_last_error_log(instance->context, FREERDP_ERROR_PRE_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(instance->context, FREERDP_ERROR_PRE_CONNECT_FAILED);
|
||||
|
||||
WLog_ERR(TAG, "freerdp_pre_connect failed");
|
||||
goto freerdp_connect_finally;
|
||||
@ -233,8 +232,7 @@ BOOL freerdp_connect(freerdp* instance)
|
||||
{
|
||||
WLog_ERR(TAG, "freerdp_post_connect failed");
|
||||
|
||||
if (!freerdp_get_last_error(rdp->context))
|
||||
freerdp_set_last_error_log(instance->context, FREERDP_ERROR_POST_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(instance->context, FREERDP_ERROR_POST_CONNECT_FAILED);
|
||||
|
||||
status = FALSE;
|
||||
goto freerdp_connect_finally;
|
||||
|
@ -1033,13 +1033,11 @@ static BOOL rdg_tls_connect(rdpRdg* rdg, rdpTls* tls, const char* peerAddress, i
|
||||
rdpContext* context = rdg->context;
|
||||
if (status < 0)
|
||||
{
|
||||
if (!freerdp_get_last_error(context))
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_TLS_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_TLS_CONNECT_FAILED);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!freerdp_get_last_error(context))
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_CANCELLED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_CANCELLED);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
@ -706,13 +706,11 @@ static BOOL rpc_channel_tls_connect(RpcChannel* channel, int timeout)
|
||||
{
|
||||
if (tlsStatus < 0)
|
||||
{
|
||||
if (!freerdp_get_last_error(context))
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_TLS_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_TLS_CONNECT_FAILED);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!freerdp_get_last_error(context))
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_CANCELLED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_CANCELLED);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
@ -549,8 +549,7 @@ static int rpc_client_default_out_channel_recv(rdpRpc* rpc)
|
||||
|
||||
if (statusCode == HTTP_STATUS_DENIED)
|
||||
{
|
||||
if (!freerdp_get_last_error(rpc->context))
|
||||
freerdp_set_last_error_log(rpc->context, FREERDP_ERROR_AUTHENTICATION_FAILED);
|
||||
freerdp_set_last_error_if_not(rpc->context, FREERDP_ERROR_AUTHENTICATION_FAILED);
|
||||
}
|
||||
|
||||
http_response_free(response);
|
||||
|
@ -1236,8 +1236,7 @@ BOOL mcs_client_begin(rdpMcs* mcs)
|
||||
|
||||
if (!mcs_send_connect_initial(mcs))
|
||||
{
|
||||
if (!freerdp_get_last_error(context))
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_MCS_CONNECT_INITIAL_ERROR);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_MCS_CONNECT_INITIAL_ERROR);
|
||||
|
||||
WLog_ERR(TAG, "Error: unable to send MCS Connect Initial");
|
||||
return FALSE;
|
||||
|
@ -793,8 +793,7 @@ static BOOL freerdp_tcp_is_hostname_resolvable(rdpContext* context, const char*
|
||||
|
||||
if (!result)
|
||||
{
|
||||
if (!freerdp_get_last_error(context))
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_DNS_NAME_NOT_FOUND);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_DNS_NAME_NOT_FOUND);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -1074,8 +1073,7 @@ int freerdp_tcp_connect(rdpContext* context, rdpSettings* settings, const char*
|
||||
|
||||
if (!hostname)
|
||||
{
|
||||
if (freerdp_get_last_error(context) == FREERDP_ERROR_SUCCESS)
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
|
||||
return -1;
|
||||
}
|
||||
@ -1092,8 +1090,7 @@ int freerdp_tcp_connect(rdpContext* context, rdpSettings* settings, const char*
|
||||
|
||||
if (sockfd < 0)
|
||||
{
|
||||
if (freerdp_get_last_error(context) == FREERDP_ERROR_SUCCESS)
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
|
||||
return -1;
|
||||
}
|
||||
@ -1128,8 +1125,7 @@ int freerdp_tcp_connect(rdpContext* context, rdpSettings* settings, const char*
|
||||
|
||||
if (!result)
|
||||
{
|
||||
if (!freerdp_get_last_error(context))
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_DNS_NAME_NOT_FOUND);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_DNS_NAME_NOT_FOUND);
|
||||
|
||||
return -1;
|
||||
}
|
||||
@ -1154,8 +1150,7 @@ int freerdp_tcp_connect(rdpContext* context, rdpSettings* settings, const char*
|
||||
|
||||
if (sockfd < 0)
|
||||
{
|
||||
if (freerdp_get_last_error(context) == FREERDP_ERROR_SUCCESS)
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
|
||||
freeaddrinfo(result);
|
||||
return -1;
|
||||
@ -1174,8 +1169,7 @@ int freerdp_tcp_connect(rdpContext* context, rdpSettings* settings, const char*
|
||||
freeaddrinfo(result);
|
||||
close(sockfd);
|
||||
|
||||
if (freerdp_get_last_error(context) == FREERDP_ERROR_SUCCESS)
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
|
||||
WLog_ERR(TAG, "failed to connect to %s", hostname);
|
||||
return -1;
|
||||
@ -1193,8 +1187,7 @@ int freerdp_tcp_connect(rdpContext* context, rdpSettings* settings, const char*
|
||||
if (!useExternalDefinedSocket)
|
||||
close(sockfd);
|
||||
|
||||
if (freerdp_get_last_error(context) == FREERDP_ERROR_SUCCESS)
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
|
||||
WLog_ERR(TAG, "Couldn't get socket ip address");
|
||||
return -1;
|
||||
@ -1221,8 +1214,7 @@ int freerdp_tcp_connect(rdpContext* context, rdpSettings* settings, const char*
|
||||
{
|
||||
close(sockfd);
|
||||
|
||||
if (freerdp_get_last_error(context) == FREERDP_ERROR_SUCCESS)
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
|
||||
WLog_ERR(TAG, "unable to set receive buffer len");
|
||||
return -1;
|
||||
@ -1236,8 +1228,7 @@ int freerdp_tcp_connect(rdpContext* context, rdpSettings* settings, const char*
|
||||
{
|
||||
close(sockfd);
|
||||
|
||||
if (freerdp_get_last_error(context) == FREERDP_ERROR_SUCCESS)
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_FAILED);
|
||||
|
||||
WLog_ERR(TAG, "Couldn't set keep alive mode.");
|
||||
return -1;
|
||||
@ -1248,8 +1239,7 @@ int freerdp_tcp_connect(rdpContext* context, rdpSettings* settings, const char*
|
||||
{
|
||||
close(sockfd);
|
||||
|
||||
if (freerdp_get_last_error(context) == FREERDP_ERROR_SUCCESS)
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_CANCELLED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_CANCELLED);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
@ -190,8 +190,7 @@ static void transport_ssl_cb(SSL* ssl, int where, int ret)
|
||||
#endif /* WITH_GSSAPI */
|
||||
kret = FREERDP_ERROR_CONNECT_PASSWORD_CERTAINLY_EXPIRED;
|
||||
|
||||
if (!freerdp_get_last_error(transport->context))
|
||||
freerdp_set_last_error_log(transport->context, kret);
|
||||
freerdp_set_last_error_if_not(transport->context, kret);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -290,13 +289,11 @@ BOOL transport_connect_tls(rdpTransport* transport)
|
||||
{
|
||||
if (tlsStatus < 0)
|
||||
{
|
||||
if (!freerdp_get_last_error(context))
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_TLS_CONNECT_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_TLS_CONNECT_FAILED);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!freerdp_get_last_error(context))
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_CONNECT_CANCELLED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_CANCELLED);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
@ -346,8 +343,7 @@ BOOL transport_connect_nla(rdpTransport* transport)
|
||||
{
|
||||
WLog_Print(transport->log, WLOG_ERROR, "NLA begin failed");
|
||||
|
||||
if (!freerdp_get_last_error(context))
|
||||
freerdp_set_last_error_log(context, FREERDP_ERROR_AUTHENTICATION_FAILED);
|
||||
freerdp_set_last_error_if_not(context, FREERDP_ERROR_AUTHENTICATION_FAILED);
|
||||
|
||||
transport_set_nla_mode(transport, FALSE);
|
||||
return FALSE;
|
||||
@ -1009,8 +1005,7 @@ int transport_check_fds(rdpTransport* transport)
|
||||
if (transport->layer == TRANSPORT_LAYER_CLOSED)
|
||||
{
|
||||
WLog_Print(transport->log, WLOG_DEBUG, "transport_check_fds: transport layer closed");
|
||||
if (freerdp_get_last_error(transport->context) == FREERDP_ERROR_SUCCESS)
|
||||
freerdp_set_last_error_log(transport->context, FREERDP_ERROR_CONNECT_TRANSPORT_FAILED);
|
||||
freerdp_set_last_error_if_not(transport->context, FREERDP_ERROR_CONNECT_TRANSPORT_FAILED);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user