mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-14 00:14:11 +09:00
Merge pull request #12415 from akallabeth/compile-issues
Address some GCC compile issues
This commit is contained in:
@@ -456,9 +456,9 @@ static void check_open_close_receive(DVCMAN_CHANNEL* channel)
|
|||||||
WINPR_ASSERT(cb);
|
WINPR_ASSERT(cb);
|
||||||
if (!cb->OnOpen || !cb->OnClose || !cb->OnDataReceived)
|
if (!cb->OnOpen || !cb->OnClose || !cb->OnDataReceived)
|
||||||
WLog_VRB(TAG, "{%s:%" PRIu32 "} OnOpen=%p, OnClose=%p, OnDataReceived=%p", name, id,
|
WLog_VRB(TAG, "{%s:%" PRIu32 "} OnOpen=%p, OnClose=%p, OnDataReceived=%p", name, id,
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, cb->OnOpen),
|
WINPR_FUNC_PTR_CAST(cb->OnOpen, const void*),
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, cb->OnClose),
|
WINPR_FUNC_PTR_CAST(cb->OnClose, const void*),
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, cb->OnDataReceived));
|
WINPR_FUNC_PTR_CAST(cb->OnDataReceived, const void*));
|
||||||
}
|
}
|
||||||
|
|
||||||
static UINT dvcman_call_on_receive(DVCMAN_CHANNEL* channel, wStream* data)
|
static UINT dvcman_call_on_receive(DVCMAN_CHANNEL* channel, wStream* data)
|
||||||
|
|||||||
@@ -1021,24 +1021,22 @@ BOOL freerdp_client_parse_rdp_file_ex(rdpFile* file, const char* name, rdp_file_
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
(void)_fseeki64(fp, 0, SEEK_END);
|
if (_fseeki64(fp, 0, SEEK_END) < 0)
|
||||||
|
goto fail;
|
||||||
file_size = _ftelli64(fp);
|
file_size = _ftelli64(fp);
|
||||||
(void)_fseeki64(fp, 0, SEEK_SET);
|
if (_fseeki64(fp, 0, SEEK_SET) < 0)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
if (file_size < 1)
|
if (file_size < 1)
|
||||||
{
|
{
|
||||||
WLog_ERR(TAG, "RDP file %s is empty", name);
|
WLog_ERR(TAG, "RDP file %s is empty", name);
|
||||||
(void)fclose(fp);
|
goto fail;
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer = (BYTE*)malloc((size_t)file_size + 2);
|
buffer = (BYTE*)malloc((size_t)file_size + 2);
|
||||||
|
|
||||||
if (!buffer)
|
if (!buffer)
|
||||||
{
|
goto fail;
|
||||||
(void)fclose(fp);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
read_size = fread(buffer, (size_t)file_size, 1, fp);
|
read_size = fread(buffer, (size_t)file_size, 1, fp);
|
||||||
|
|
||||||
@@ -1048,18 +1046,18 @@ BOOL freerdp_client_parse_rdp_file_ex(rdpFile* file, const char* name, rdp_file_
|
|||||||
read_size = (size_t)file_size;
|
read_size = (size_t)file_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
(void)fclose(fp);
|
|
||||||
|
|
||||||
if (read_size < 1)
|
if (read_size < 1)
|
||||||
{
|
{
|
||||||
WLog_ERR(TAG, "Could not read from RDP file %s", name);
|
WLog_ERR(TAG, "Could not read from RDP file %s", name);
|
||||||
free(buffer);
|
goto fail;
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer[file_size] = '\0';
|
buffer[file_size] = '\0';
|
||||||
buffer[file_size + 1] = '\0';
|
buffer[file_size + 1] = '\0';
|
||||||
status = freerdp_client_parse_rdp_file_buffer_ex(file, buffer, (size_t)file_size, parse);
|
status = freerdp_client_parse_rdp_file_buffer_ex(file, buffer, (size_t)file_size, parse);
|
||||||
|
|
||||||
|
fail:
|
||||||
|
(void)fclose(fp);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -220,11 +220,10 @@ extern "C"
|
|||||||
* a certificate only for this session, 0 otherwise.
|
* a certificate only for this session, 0 otherwise.
|
||||||
*/
|
*/
|
||||||
#if defined(WITH_FREERDP_DEPRECATED)
|
#if defined(WITH_FREERDP_DEPRECATED)
|
||||||
typedef WINPR_DEPRECATED_VAR(
|
WINPR_DEPRECATED_VAR("Use pVerifyCertificateEx",
|
||||||
"Use pVerifyCertificateEx",
|
typedef DWORD (*pVerifyCertificate)(
|
||||||
DWORD (*pVerifyCertificate)(freerdp* instance, const char* common_name, const char* subject,
|
freerdp* instance, const char* common_name, const char* subject,
|
||||||
const char* issuer, const char* fingerprint,
|
const char* issuer, const char* fingerprint, BOOL host_mismatch));
|
||||||
BOOL host_mismatch));
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** @brief Callback used if user interaction is required to accept
|
/** @brief Callback used if user interaction is required to accept
|
||||||
@@ -262,12 +261,12 @@ extern "C"
|
|||||||
* a certificate only for this session, 0 otherwise.
|
* a certificate only for this session, 0 otherwise.
|
||||||
*/
|
*/
|
||||||
#if defined(WITH_FREERDP_DEPRECATED)
|
#if defined(WITH_FREERDP_DEPRECATED)
|
||||||
typedef WINPR_DEPRECATED_VAR(
|
WINPR_DEPRECATED_VAR("Use pVerifyChangedCertificateEx",
|
||||||
"Use pVerifyChangedCertificateEx",
|
typedef DWORD (*pVerifyChangedCertificate)(
|
||||||
DWORD (*pVerifyChangedCertificate)(freerdp* instance, const char* common_name,
|
freerdp* instance, const char* common_name, const char* subject,
|
||||||
const char* subject, const char* issuer,
|
const char* issuer, const char* new_fingerprint,
|
||||||
const char* new_fingerprint, const char* old_subject,
|
const char* old_subject, const char* old_issuer,
|
||||||
const char* old_issuer, const char* old_fingerprint));
|
const char* old_fingerprint));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** @brief Callback used if user interaction is required to accept
|
/** @brief Callback used if user interaction is required to accept
|
||||||
|
|||||||
@@ -239,9 +239,8 @@ extern "C"
|
|||||||
FREERDP_API ADDIN_ARGV* freerdp_static_channel_collection_find(rdpSettings* settings,
|
FREERDP_API ADDIN_ARGV* freerdp_static_channel_collection_find(rdpSettings* settings,
|
||||||
const char* name);
|
const char* name);
|
||||||
#if defined(WITH_FREERDP_DEPRECATED)
|
#if defined(WITH_FREERDP_DEPRECATED)
|
||||||
WINPR_DEPRECATED(
|
WINPR_DEPRECATED(WINPR_ATTR_MALLOC(freerdp_addin_argv_free, 1)
|
||||||
WINPR_ATTR_NODISCARD FREERDP_API ADDIN_ARGV* WINPR_ATTR_MALLOC(freerdp_addin_argv_free, 1)
|
FREERDP_API ADDIN_ARGV* freerdp_static_channel_clone(ADDIN_ARGV* channel));
|
||||||
WINPR_ATTR_NODISCARD freerdp_static_channel_clone(ADDIN_ARGV* channel));
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
FREERDP_API void freerdp_static_channel_collection_free(rdpSettings* settings);
|
FREERDP_API void freerdp_static_channel_collection_free(rdpSettings* settings);
|
||||||
@@ -259,8 +258,8 @@ extern "C"
|
|||||||
|
|
||||||
#if defined(WITH_FREERDP_DEPRECATED)
|
#if defined(WITH_FREERDP_DEPRECATED)
|
||||||
WINPR_DEPRECATED(
|
WINPR_DEPRECATED(
|
||||||
WINPR_ATTR_NODISCARD FREERDP_API ADDIN_ARGV* WINPR_ATTR_MALLOC(freerdp_addin_argv_free, 1)
|
WINPR_ATTR_MALLOC(freerdp_addin_argv_free, 1)
|
||||||
WINPR_ATTR_NODISCARD freerdp_dynamic_channel_clone(ADDIN_ARGV* channel));
|
FREERDP_API ADDIN_ARGV* freerdp_dynamic_channel_clone(ADDIN_ARGV* channel));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
FREERDP_API void freerdp_dynamic_channel_collection_free(rdpSettings* settings);
|
FREERDP_API void freerdp_dynamic_channel_collection_free(rdpSettings* settings);
|
||||||
|
|||||||
@@ -1225,9 +1225,8 @@ int freerdp_assistance_parse_file_buffer(rdpAssistanceFile* file, const char* cb
|
|||||||
|
|
||||||
int freerdp_assistance_parse_file(rdpAssistanceFile* file, const char* name, const char* password)
|
int freerdp_assistance_parse_file(rdpAssistanceFile* file, const char* name, const char* password)
|
||||||
{
|
{
|
||||||
int status = 0;
|
int status = -1;
|
||||||
BYTE* buffer = nullptr;
|
BYTE* buffer = nullptr;
|
||||||
FILE* fp = nullptr;
|
|
||||||
size_t readSize = 0;
|
size_t readSize = 0;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
@@ -1238,7 +1237,7 @@ int freerdp_assistance_parse_file(rdpAssistanceFile* file, const char* name, con
|
|||||||
if (!update_name(file, name))
|
if (!update_name(file, name))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
fp = winpr_fopen(name, "r");
|
FILE* fp = winpr_fopen(name, "r");
|
||||||
|
|
||||||
if (!fp)
|
if (!fp)
|
||||||
{
|
{
|
||||||
@@ -1246,24 +1245,22 @@ int freerdp_assistance_parse_file(rdpAssistanceFile* file, const char* name, con
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
(void)_fseeki64(fp, 0, SEEK_END);
|
if (_fseeki64(fp, 0, SEEK_END) < 0)
|
||||||
|
goto fail;
|
||||||
fileSize.i64 = _ftelli64(fp);
|
fileSize.i64 = _ftelli64(fp);
|
||||||
(void)_fseeki64(fp, 0, SEEK_SET);
|
if (_fseeki64(fp, 0, SEEK_SET) < 0)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
if (fileSize.i64 < 1)
|
if (fileSize.i64 < 1)
|
||||||
{
|
{
|
||||||
WLog_ERR(TAG, "Failed to read ASSISTANCE file %s ", name);
|
WLog_ERR(TAG, "Failed to read ASSISTANCE file %s ", name);
|
||||||
(void)fclose(fp);
|
goto fail;
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer = (BYTE*)malloc(fileSize.s + 2);
|
buffer = (BYTE*)malloc(fileSize.s + 2);
|
||||||
|
|
||||||
if (!buffer)
|
if (!buffer)
|
||||||
{
|
goto fail;
|
||||||
(void)fclose(fp);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
readSize = fread(buffer, fileSize.s, 1, fp);
|
readSize = fread(buffer, fileSize.s, 1, fp);
|
||||||
|
|
||||||
@@ -1273,19 +1270,18 @@ int freerdp_assistance_parse_file(rdpAssistanceFile* file, const char* name, con
|
|||||||
readSize = fileSize.s;
|
readSize = fileSize.s;
|
||||||
}
|
}
|
||||||
|
|
||||||
(void)fclose(fp);
|
|
||||||
|
|
||||||
if (readSize < 1)
|
if (readSize < 1)
|
||||||
{
|
{
|
||||||
WLog_ERR(TAG, "Failed to read ASSISTANCE file %s ", name);
|
WLog_ERR(TAG, "Failed to read ASSISTANCE file %s ", name);
|
||||||
free(buffer);
|
goto fail;
|
||||||
buffer = nullptr;
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer[fileSize.s] = '\0';
|
buffer[fileSize.s] = '\0';
|
||||||
buffer[fileSize.s + 1] = '\0';
|
buffer[fileSize.s + 1] = '\0';
|
||||||
status = freerdp_assistance_parse_file_buffer(file, (char*)buffer, fileSize.s, password);
|
status = freerdp_assistance_parse_file_buffer(file, (char*)buffer, fileSize.s, password);
|
||||||
|
|
||||||
|
fail:
|
||||||
|
(void)fclose(fp);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -851,8 +851,8 @@ BOOL freerdp_client_channel_register(rdpChannels* channels, HANDLE handle,
|
|||||||
if (!channels || (handle == INVALID_HANDLE_VALUE) || !fkt)
|
if (!channels || (handle == INVALID_HANDLE_VALUE) || !fkt)
|
||||||
{
|
{
|
||||||
WLog_ERR(TAG, "Invalid function arguments (channels=%p, handle=%p, fkt=%p, userdata=%p",
|
WLog_ERR(TAG, "Invalid function arguments (channels=%p, handle=%p, fkt=%p, userdata=%p",
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, channels), handle,
|
WINPR_FUNC_PTR_CAST(channels, const void*), handle,
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, fkt), userdata);
|
WINPR_FUNC_PTR_CAST(fkt, const void*), userdata);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,8 @@ state_run_t multitransport_recv_request(rdpMultitransport* multi, wStream* s)
|
|||||||
WLog_WARN(TAG,
|
WLog_WARN(TAG,
|
||||||
"reserved is %" PRIu16 " instead of 0, skipping %" PRIuz "bytes of unknown data",
|
"reserved is %" PRIu16 " instead of 0, skipping %" PRIuz "bytes of unknown data",
|
||||||
reserved, Stream_GetRemainingLength(s));
|
reserved, Stream_GetRemainingLength(s));
|
||||||
(void)Stream_SafeSeek(s, Stream_GetRemainingLength(s));
|
if (!Stream_SafeSeek(s, Stream_GetRemainingLength(s)))
|
||||||
|
return STATE_RUN_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
WINPR_ASSERT(multi->MtRequest);
|
WINPR_ASSERT(multi->MtRequest);
|
||||||
|
|||||||
@@ -1656,8 +1656,10 @@ BOOL WINAPI FreeRDP_WTSVirtualChannelRead(HANDLE hChannelHandle, WINPR_ATTR_UNUS
|
|||||||
|
|
||||||
if (messageCtx->offset >= messageCtx->length)
|
if (messageCtx->offset >= messageCtx->length)
|
||||||
{
|
{
|
||||||
(void)MessageQueue_Peek(channel->queue, &message, TRUE);
|
const int rc = MessageQueue_Peek(channel->queue, &message, TRUE);
|
||||||
peer_channel_queue_free_message(&message);
|
peer_channel_queue_free_message(&message);
|
||||||
|
if (rc < 0)
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|||||||
@@ -58,15 +58,16 @@ static void delete_file(char* path)
|
|||||||
int rs = _fseeki64(fp, 0, SEEK_END);
|
int rs = _fseeki64(fp, 0, SEEK_END);
|
||||||
if (rs == 0)
|
if (rs == 0)
|
||||||
size = _ftelli64(fp);
|
size = _ftelli64(fp);
|
||||||
(void)_fseeki64(fp, 0, SEEK_SET);
|
if (_fseeki64(fp, 0, SEEK_SET) == 0)
|
||||||
|
|
||||||
for (INT64 x = 0; x < size; x += sizeof(buffer))
|
|
||||||
{
|
{
|
||||||
const size_t dnmemb = (size_t)(size - x);
|
for (INT64 x = 0; x < size; x += sizeof(buffer))
|
||||||
const size_t nmemb = MIN(sizeof(buffer), dnmemb);
|
{
|
||||||
const size_t count = fwrite(buffer, nmemb, 1, fp);
|
const size_t dnmemb = (size_t)(size - x);
|
||||||
if (count != 1)
|
const size_t nmemb = MIN(sizeof(buffer), dnmemb);
|
||||||
break;
|
const size_t count = fwrite(buffer, nmemb, 1, fp);
|
||||||
|
if (count != 1)
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
(void)fclose(fp);
|
(void)fclose(fp);
|
||||||
|
|||||||
@@ -79,7 +79,10 @@ static
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (pOffset)
|
if (pOffset)
|
||||||
(void)_fseeki64(fp, WINPR_ASSERTING_INT_CAST(int64_t, *pOffset), SEEK_SET);
|
{
|
||||||
|
if (_fseeki64(fp, WINPR_ASSERTING_INT_CAST(int64_t, *pOffset), SEEK_SET) < 0)
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
r = fread(&ts, 1, sizeof(ts), fp);
|
r = fread(&ts, 1, sizeof(ts), fp);
|
||||||
if (r != sizeof(ts))
|
if (r != sizeof(ts))
|
||||||
|
|||||||
@@ -44,43 +44,40 @@ static const SCardApiFunctionTable* g_SCardApi = nullptr;
|
|||||||
#define xstr(s) str(s)
|
#define xstr(s) str(s)
|
||||||
#define str(s) #s
|
#define str(s) #s
|
||||||
|
|
||||||
#define SCARDAPI_STUB_CALL_LONG(_name, ...) \
|
#define SCARDAPI_STUB_CALL_LONG(_name, ...) \
|
||||||
if (!InitOnceExecuteOnce(&g_Initialized, InitializeSCardApiStubs, nullptr, nullptr)) \
|
if (!InitOnceExecuteOnce(&g_Initialized, InitializeSCardApiStubs, nullptr, nullptr)) \
|
||||||
return SCARD_E_NO_SERVICE; \
|
return SCARD_E_NO_SERVICE; \
|
||||||
if (!g_SCardApi || !g_SCardApi->pfn##_name) \
|
if (!g_SCardApi || !g_SCardApi->pfn##_name) \
|
||||||
{ \
|
{ \
|
||||||
WLog_DBG( \
|
WLog_DBG(TAG, "Missing function pointer g_SCardApi=%p->" xstr(pfn##_name) "=%p", \
|
||||||
TAG, "Missing function pointer g_SCardApi=%p->" xstr(pfn##_name) "=%p", \
|
WINPR_FUNC_PTR_CAST(g_SCardApi, const void*), \
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, g_SCardApi), \
|
WINPR_FUNC_PTR_CAST(g_SCardApi ? g_SCardApi->pfn##_name : nullptr, const void*)); \
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, g_SCardApi ? g_SCardApi->pfn##_name : nullptr)); \
|
return SCARD_E_NO_SERVICE; \
|
||||||
return SCARD_E_NO_SERVICE; \
|
} \
|
||||||
} \
|
|
||||||
return g_SCardApi->pfn##_name(__VA_ARGS__)
|
return g_SCardApi->pfn##_name(__VA_ARGS__)
|
||||||
|
|
||||||
#define SCARDAPI_STUB_CALL_HANDLE(_name) \
|
#define SCARDAPI_STUB_CALL_HANDLE(_name) \
|
||||||
if (!InitOnceExecuteOnce(&g_Initialized, InitializeSCardApiStubs, nullptr, nullptr)) \
|
if (!InitOnceExecuteOnce(&g_Initialized, InitializeSCardApiStubs, nullptr, nullptr)) \
|
||||||
return nullptr; \
|
return nullptr; \
|
||||||
if (!g_SCardApi || !g_SCardApi->pfn##_name) \
|
if (!g_SCardApi || !g_SCardApi->pfn##_name) \
|
||||||
{ \
|
{ \
|
||||||
WLog_DBG( \
|
WLog_DBG(TAG, "Missing function pointer g_SCardApi=%p->" xstr(pfn##_name) "=%p", \
|
||||||
TAG, "Missing function pointer g_SCardApi=%p->" xstr(pfn##_name) "=%p", \
|
WINPR_FUNC_PTR_CAST(g_SCardApi, const void*), \
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, g_SCardApi), \
|
WINPR_FUNC_PTR_CAST(g_SCardApi ? g_SCardApi->pfn##_name : nullptr, const void*)); \
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, g_SCardApi ? g_SCardApi->pfn##_name : nullptr)); \
|
return nullptr; \
|
||||||
return nullptr; \
|
} \
|
||||||
} \
|
|
||||||
return g_SCardApi->pfn##_name()
|
return g_SCardApi->pfn##_name()
|
||||||
|
|
||||||
#define SCARDAPI_STUB_CALL_VOID(_name) \
|
#define SCARDAPI_STUB_CALL_VOID(_name) \
|
||||||
if (!InitOnceExecuteOnce(&g_Initialized, InitializeSCardApiStubs, nullptr, nullptr)) \
|
if (!InitOnceExecuteOnce(&g_Initialized, InitializeSCardApiStubs, nullptr, nullptr)) \
|
||||||
return; \
|
return; \
|
||||||
if (!g_SCardApi || !g_SCardApi->pfn##_name) \
|
if (!g_SCardApi || !g_SCardApi->pfn##_name) \
|
||||||
{ \
|
{ \
|
||||||
WLog_DBG( \
|
WLog_DBG(TAG, "Missing function pointer g_SCardApi=%p->" xstr(pfn##_name) "=%p", \
|
||||||
TAG, "Missing function pointer g_SCardApi=%p->" xstr(pfn##_name) "=%p", \
|
WINPR_FUNC_PTR_CAST(g_SCardApi, const void*), \
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, g_SCardApi), \
|
WINPR_FUNC_PTR_CAST(g_SCardApi ? g_SCardApi->pfn##_name : nullptr, const void*)); \
|
||||||
WINPR_CXX_COMPAT_CAST(const void*, g_SCardApi ? g_SCardApi->pfn##_name : nullptr)); \
|
return; \
|
||||||
return; \
|
} \
|
||||||
} \
|
|
||||||
g_SCardApi->pfn##_name()
|
g_SCardApi->pfn##_name()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -263,7 +263,10 @@ int MessageQueue_Peek(wMessageQueue* queue, wMessage* message, BOOL remove)
|
|||||||
queue->size--;
|
queue->size--;
|
||||||
|
|
||||||
if (queue->size < 1)
|
if (queue->size < 1)
|
||||||
(void)ResetEvent(queue->event);
|
{
|
||||||
|
if (ResetEvent(queue->event))
|
||||||
|
status = -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -346,7 +349,8 @@ int MessageQueue_Clear(wMessageQueue* queue)
|
|||||||
queue->head = (queue->head + 1) % queue->capacity;
|
queue->head = (queue->head + 1) % queue->capacity;
|
||||||
queue->size--;
|
queue->size--;
|
||||||
}
|
}
|
||||||
(void)ResetEvent(queue->event);
|
if (!ResetEvent(queue->event))
|
||||||
|
status = -1;
|
||||||
queue->closed = FALSE;
|
queue->closed = FALSE;
|
||||||
|
|
||||||
LeaveCriticalSection(&queue->lock);
|
LeaveCriticalSection(&queue->lock);
|
||||||
|
|||||||
@@ -278,7 +278,10 @@ BOOL Queue_Enqueue(wQueue* queue, const void* obj)
|
|||||||
queue->size++;
|
queue->size++;
|
||||||
|
|
||||||
if (signalSet)
|
if (signalSet)
|
||||||
(void)SetEvent(queue->event);
|
{
|
||||||
|
if (!SetEvent(queue->event))
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
|
|
||||||
|
|||||||
@@ -95,14 +95,18 @@ static BOOL WLog_UdpAppender_WriteMessage(wLog* log, wLogAppender* appender,
|
|||||||
char prefix[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT;
|
char prefix[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT;
|
||||||
WLog_Layout_GetMessagePrefix(log, appender->Layout, cmessage, prefix, sizeof(prefix));
|
WLog_Layout_GetMessagePrefix(log, appender->Layout, cmessage, prefix, sizeof(prefix));
|
||||||
|
|
||||||
(void)_sendto(udpAppender->sock, prefix, (int)strnlen(prefix, ARRAYSIZE(prefix)), 0,
|
BOOL res = TRUE;
|
||||||
&udpAppender->targetAddr, udpAppender->targetAddrLen);
|
if (_sendto(udpAppender->sock, prefix, (int)strnlen(prefix, ARRAYSIZE(prefix)), 0,
|
||||||
(void)_sendto(udpAppender->sock, cmessage->TextString,
|
&udpAppender->targetAddr, udpAppender->targetAddrLen) < 0)
|
||||||
(int)strnlen(cmessage->TextString, INT_MAX), 0, &udpAppender->targetAddr,
|
res = FALSE;
|
||||||
udpAppender->targetAddrLen);
|
if (_sendto(udpAppender->sock, cmessage->TextString,
|
||||||
(void)_sendto(udpAppender->sock, "\n", 1, 0, &udpAppender->targetAddr,
|
(int)strnlen(cmessage->TextString, INT_MAX), 0, &udpAppender->targetAddr,
|
||||||
udpAppender->targetAddrLen);
|
udpAppender->targetAddrLen) < 0)
|
||||||
return TRUE;
|
res = FALSE;
|
||||||
|
if (_sendto(udpAppender->sock, "\n", 1, 0, &udpAppender->targetAddr,
|
||||||
|
udpAppender->targetAddrLen) < 0)
|
||||||
|
res = FALSE;
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL WLog_UdpAppender_WriteDataMessage(wLog* log, wLogAppender* appender,
|
static BOOL WLog_UdpAppender_WriteDataMessage(wLog* log, wLogAppender* appender,
|
||||||
|
|||||||
Reference in New Issue
Block a user