diff --git a/channels/ainput/client/ainput_main.c b/channels/ainput/client/ainput_main.c index 554575360..304f1bc3c 100644 --- a/channels/ainput/client/ainput_main.c +++ b/channels/ainput/client/ainput_main.c @@ -86,8 +86,8 @@ static UINT ainput_on_data_received(IWTSVirtualChannelCallback* pChannelCallback static UINT ainput_send_input_event(AInputClientContext* context, UINT64 flags, INT32 x, INT32 y) { - BYTE buffer[32] = { 0 }; - wStream sbuffer = { 0 }; + BYTE buffer[32] = WINPR_C_ARRAY_INIT; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&sbuffer, buffer, sizeof(buffer)); WINPR_ASSERT(s); @@ -105,7 +105,7 @@ static UINT ainput_send_input_event(AInputClientContext* context, UINT64 flags, } { - char ebuffer[128] = { 0 }; + char ebuffer[128] = WINPR_C_ARRAY_INIT; WLog_VRB(TAG, "sending timestamp=0x%08" PRIx64 ", flags=%s, %" PRId32 "x%" PRId32, time, ainput_flags_to_string(flags, ebuffer, sizeof(ebuffer)), x, y); } diff --git a/channels/ainput/common/ainput_common.h b/channels/ainput/common/ainput_common.h index a7357fe5c..82bfdbff5 100644 --- a/channels/ainput/common/ainput_common.h +++ b/channels/ainput/common/ainput_common.h @@ -28,7 +28,7 @@ WINPR_ATTR_NODISCARD static inline const char* ainput_flags_to_string(UINT64 flags, char* buffer, size_t size) { - char number[32] = { 0 }; + char number[32] = WINPR_C_ARRAY_INIT; if (flags & AINPUT_FLAGS_HAVE_REL) winpr_str_append("AINPUT_FLAGS_HAVE_REL", buffer, size, "|"); diff --git a/channels/ainput/server/ainput_main.c b/channels/ainput/server/ainput_main.c index e25e5980b..b0a27d4df 100644 --- a/channels/ainput/server/ainput_main.c +++ b/channels/ainput/server/ainput_main.c @@ -194,7 +194,7 @@ static UINT ainput_server_recv_mouse_event(ainput_server* ainput, wStream* s) UINT64 time = 0; INT32 x = 0; INT32 y = 0; - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(ainput); WINPR_ASSERT(s); @@ -237,7 +237,7 @@ static HANDLE ainput_server_get_channel_handle(ainput_server* ainput) static DWORD WINAPI ainput_server_thread_func(LPVOID arg) { DWORD nCount = 0; - HANDLE events[2] = { 0 }; + HANDLE events[2] = WINPR_C_ARRAY_INIT; ainput_server* ainput = (ainput_server*)arg; UINT error = CHANNEL_RC_OK; DWORD status = 0; diff --git a/channels/audin/client/audin_main.c b/channels/audin/client/audin_main.c index 76d87bb9c..1b609cfc4 100644 --- a/channels/audin/client/audin_main.c +++ b/channels/audin/client/audin_main.c @@ -233,7 +233,7 @@ static UINT audin_process_formats(AUDIN_PLUGIN* audin, AUDIN_CHANNEL_CALLBACK* c /* SoundFormats (variable) */ for (UINT32 i = 0; i < NumFormats; i++) { - AUDIO_FORMAT format = { 0 }; + AUDIO_FORMAT format = WINPR_C_ARRAY_INIT; if (!audio_format_read(s, &format)) { @@ -407,7 +407,7 @@ static UINT audin_receive_wave_data(const AUDIO_FORMAT* format, const BYTE* data static BOOL audin_open_device(AUDIN_PLUGIN* audin, AUDIN_CHANNEL_CALLBACK* callback) { UINT error = ERROR_INTERNAL_ERROR; - AUDIO_FORMAT format = { 0 }; + AUDIO_FORMAT format = WINPR_C_ARRAY_INIT; if (!audin || !audin->device) return FALSE; @@ -816,7 +816,7 @@ static UINT audin_load_device_plugin(AUDIN_PLUGIN* audin, const char* name, cons { WINPR_ASSERT(audin); - FREERDP_AUDIN_DEVICE_ENTRY_POINTS entryPoints = { 0 }; + FREERDP_AUDIN_DEVICE_ENTRY_POINTS entryPoints = WINPR_C_ARRAY_INIT; UINT error = ERROR_INTERNAL_ERROR; PVIRTUALCHANNELENTRY pvce = freerdp_load_channel_addin_entry(AUDIN_CHANNEL_NAME, name, NULL, 0); diff --git a/channels/audin/client/oss/audin_oss.c b/channels/audin/client/oss/audin_oss.c index c3736eed2..571409da5 100644 --- a/channels/audin/client/oss/audin_oss.c +++ b/channels/audin/client/oss/audin_oss.c @@ -67,7 +67,7 @@ static void OSS_LOG_ERR(const char* _text, int _error) { if ((_error) != 0) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "%s: %i - %s\n", (_text), (_error), winpr_strerror((_error), buffer, sizeof(buffer))); } diff --git a/channels/audin/client/pulse/audin_pulse.c b/channels/audin/client/pulse/audin_pulse.c index 2a42d495a..6e1816994 100644 --- a/channels/audin/client/pulse/audin_pulse.c +++ b/channels/audin/client/pulse/audin_pulse.c @@ -370,7 +370,7 @@ static UINT audin_pulse_close(IAudinDevice* device) static UINT audin_pulse_open(IAudinDevice* device, AudinReceive receive, void* user_data) { pa_stream_state_t state = PA_STREAM_FAILED; - pa_buffer_attr buffer_attr = { 0 }; + pa_buffer_attr buffer_attr = WINPR_C_ARRAY_INIT; AudinPulseDevice* pulse = (AudinPulseDevice*)device; if (!pulse || !receive || !user_data) diff --git a/channels/audin/client/winmm/audin_winmm.c b/channels/audin/client/winmm/audin_winmm.c index daa59254f..55aa4e160 100644 --- a/channels/audin/client/winmm/audin_winmm.c +++ b/channels/audin/client/winmm/audin_winmm.c @@ -119,9 +119,9 @@ static BOOL log_mmresult(AudinWinmmDevice* winmm, const char* what, MMRESULT res { if (result != MMSYSERR_NOERROR) { - CHAR buffer[8192] = { 0 }; - CHAR msg[8192] = { 0 }; - CHAR cmsg[8192] = { 0 }; + CHAR buffer[8192] = WINPR_C_ARRAY_INIT; + CHAR msg[8192] = WINPR_C_ARRAY_INIT; + CHAR cmsg[8192] = WINPR_C_ARRAY_INIT; waveInGetErrorTextA(result, buffer, sizeof(buffer)); _snprintf(msg, sizeof(msg) - 1, "%s failed. %" PRIu32 " [%s]", what, result, buffer); @@ -137,7 +137,7 @@ static BOOL log_mmresult(AudinWinmmDevice* winmm, const char* what, MMRESULT res static BOOL test_format_supported(const PWAVEFORMATEX pwfx) { MMRESULT rc; - WAVEINCAPSA caps = { 0 }; + WAVEINCAPSA caps = WINPR_C_ARRAY_INIT; rc = waveInGetDevCapsA(WAVE_MAPPER, &caps, sizeof(caps)); if (rc != MMSYSERR_NOERROR) @@ -171,7 +171,7 @@ static DWORD WINAPI audin_winmm_thread_func(LPVOID arg) AudinWinmmDevice* winmm = (AudinWinmmDevice*)arg; char* buffer = NULL; int size = 0; - WAVEHDR waveHdr[4] = { 0 }; + WAVEHDR waveHdr[4] = WINPR_C_ARRAY_INIT; DWORD status = 0; MMRESULT rc = 0; diff --git a/channels/audin/server/audin.c b/channels/audin/server/audin.c index 17077efa6..52383e242 100644 --- a/channels/audin/server/audin.c +++ b/channels/audin/server/audin.c @@ -70,7 +70,7 @@ static UINT audin_server_recv_version(audin_server_context* context, wStream* s, const SNDIN_PDU* header) { audin_server* audin = (audin_server*)context; - SNDIN_VERSION pdu = { 0 }; + SNDIN_VERSION pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -113,7 +113,7 @@ static UINT audin_server_recv_formats(audin_server_context* context, wStream* s, const SNDIN_PDU* header) { audin_server* audin = (audin_server*)context; - SNDIN_FORMATS pdu = { 0 }; + SNDIN_FORMATS pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -184,7 +184,7 @@ static UINT audin_server_recv_open_reply(audin_server_context* context, wStream* const SNDIN_PDU* header) { audin_server* audin = (audin_server*)context; - SNDIN_OPEN_REPLY pdu = { 0 }; + SNDIN_OPEN_REPLY pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -209,7 +209,7 @@ static UINT audin_server_recv_data_incoming(audin_server_context* context, WINPR_ATTR_UNUSED wStream* s, const SNDIN_PDU* header) { audin_server* audin = (audin_server*)context; - SNDIN_DATA_INCOMING pdu = { 0 }; + SNDIN_DATA_INCOMING pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -229,8 +229,8 @@ static UINT audin_server_recv_data(audin_server_context* context, wStream* s, const SNDIN_PDU* header) { audin_server* audin = (audin_server*)context; - SNDIN_DATA pdu = { 0 }; - wStream dataBuffer = { 0 }; + SNDIN_DATA pdu = WINPR_C_ARRAY_INIT; + wStream dataBuffer = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -251,7 +251,7 @@ static UINT audin_server_recv_format_change(audin_server_context* context, wStre const SNDIN_PDU* header) { audin_server* audin = (audin_server*)context; - SNDIN_FORMATCHANGE pdu = { 0 }; + SNDIN_FORMATCHANGE pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -277,7 +277,7 @@ static DWORD WINAPI audin_server_thread_func(LPVOID arg) wStream* s = NULL; void* buffer = NULL; DWORD nCount = 0; - HANDLE events[8] = { 0 }; + HANDLE events[8] = WINPR_C_ARRAY_INIT; BOOL ready = FALSE; HANDLE ChannelEvent = NULL; DWORD BytesReturned = 0; @@ -348,7 +348,7 @@ static DWORD WINAPI audin_server_thread_func(LPVOID arg) if (ready) { - SNDIN_VERSION version = { 0 }; + SNDIN_VERSION version = WINPR_C_ARRAY_INIT; version.Version = audin->context.serverVersion; @@ -361,7 +361,7 @@ static DWORD WINAPI audin_server_thread_func(LPVOID arg) while (ready) { - SNDIN_PDU header = { 0 }; + SNDIN_PDU header = WINPR_C_ARRAY_INIT; if ((status = WaitForMultipleObjects(nCount, events, FALSE, INFINITE)) == WAIT_OBJECT_0) break; @@ -717,7 +717,7 @@ static UINT audin_server_receive_version_default(audin_server_context* audin_ctx const SNDIN_VERSION* version) { audin_server* audin = (audin_server*)audin_ctx; - SNDIN_FORMATS formats = { 0 }; + SNDIN_FORMATS formats = WINPR_C_ARRAY_INIT; WINPR_ASSERT(audin); WINPR_ASSERT(version); @@ -738,7 +738,7 @@ static UINT audin_server_receive_version_default(audin_server_context* audin_ctx static UINT send_open(audin_server* audin) { - SNDIN_OPEN open = { 0 }; + SNDIN_OPEN open = WINPR_C_ARRAY_INIT; WINPR_ASSERT(audin); diff --git a/channels/client/addin.c b/channels/client/addin.c index 3e8a6c3e7..71a37a562 100644 --- a/channels/client/addin.c +++ b/channels/client/addin.c @@ -176,7 +176,7 @@ static FREERDP_ADDIN** freerdp_channels_list_dynamic_addins(LPCSTR pszName, LPCS size_t cchAddinPath = 0; size_t cchInstallPrefix = 0; FREERDP_ADDIN** ppAddins = NULL; - WIN32_FIND_DATAW FindData = { 0 }; + WIN32_FIND_DATAW FindData = WINPR_C_ARRAY_INIT; cchAddinPath = strnlen(pszAddinPath, sizeof(FREERDP_ADDIN_PATH)); cchInstallPrefix = strnlen(pszInstallPrefix, sizeof(FREERDP_INSTALL_PREFIX)); pszExtension = PathGetSharedLibraryExtensionA(0); @@ -273,7 +273,7 @@ static FREERDP_ADDIN** freerdp_channels_list_dynamic_addins(LPCSTR pszName, LPCS if (nDashes == 1) { size_t len = 0; - char* p[2] = { 0 }; + char* p[2] = WINPR_C_ARRAY_INIT; /* -client. */ p[0] = cFileName; p[1] = strchr(p[0], '-'); @@ -299,7 +299,7 @@ static FREERDP_ADDIN** freerdp_channels_list_dynamic_addins(LPCSTR pszName, LPCS else if (nDashes == 2) { size_t len = 0; - char* p[4] = { 0 }; + char* p[4] = WINPR_C_ARRAY_INIT; /* -client-. */ p[0] = cFileName; p[1] = strchr(p[0], '-'); @@ -342,7 +342,7 @@ static FREERDP_ADDIN** freerdp_channels_list_dynamic_addins(LPCSTR pszName, LPCS else if (nDashes == 3) { size_t len = 0; - char* p[5] = { 0 }; + char* p[5] = WINPR_C_ARRAY_INIT; /* -client--. */ p[0] = cFileName; p[1] = strchr(p[0], '-'); @@ -531,7 +531,7 @@ static DWORD WINAPI channel_client_thread_proc(LPVOID userdata) { UINT error = CHANNEL_RC_OK; wStream* data = NULL; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; msg_proc_internals* internals = userdata; WINPR_ASSERT(internals); @@ -626,7 +626,7 @@ void* channel_client_create_handler(rdpContext* ctx, LPVOID userdata, MsgHandler if ((freerdp_settings_get_uint32(ctx->settings, FreeRDP_ThreadingFlags) & THREADING_FLAGS_DISABLE_THREADS) == 0) { - wObject obj = { 0 }; + wObject obj = WINPR_C_ARRAY_INIT; obj.fnObjectFree = free_msg; internals->queue = MessageQueue_New(&obj); if (!internals->queue) diff --git a/channels/cliprdr/client/cliprdr_format.c b/channels/cliprdr/client/cliprdr_format.c index 4dd21bab8..fb2ca7d90 100644 --- a/channels/cliprdr/client/cliprdr_format.c +++ b/channels/cliprdr/client/cliprdr_format.c @@ -45,7 +45,7 @@ CLIPRDR_FORMAT_LIST cliprdr_filter_format_list(const CLIPRDR_FORMAT_LIST* list, checkMask & (CLIPRDR_FLAG_LOCAL_TO_REMOTE_FILES | CLIPRDR_FLAG_REMOTE_TO_LOCAL_FILES); WINPR_ASSERT(list); - CLIPRDR_FORMAT_LIST filtered = { 0 }; + CLIPRDR_FORMAT_LIST filtered = WINPR_C_ARRAY_INIT; filtered.common.msgType = CB_FORMAT_LIST; filtered.numFormats = list->numFormats; filtered.formats = calloc(filtered.numFormats, sizeof(CLIPRDR_FORMAT)); @@ -112,8 +112,8 @@ CLIPRDR_FORMAT_LIST cliprdr_filter_format_list(const CLIPRDR_FORMAT_LIST* list, UINT cliprdr_process_format_list(cliprdrPlugin* cliprdr, wStream* s, UINT32 dataLen, UINT16 msgFlags) { - CLIPRDR_FORMAT_LIST formatList = { 0 }; - CLIPRDR_FORMAT_LIST filteredFormatList = { 0 }; + CLIPRDR_FORMAT_LIST formatList = WINPR_C_ARRAY_INIT; + CLIPRDR_FORMAT_LIST filteredFormatList = WINPR_C_ARRAY_INIT; CliprdrClientContext* context = cliprdr_get_client_interface(cliprdr); UINT error = CHANNEL_RC_OK; @@ -182,7 +182,7 @@ error_out: UINT cliprdr_process_format_list_response(cliprdrPlugin* cliprdr, WINPR_ATTR_UNUSED wStream* s, UINT32 dataLen, UINT16 msgFlags) { - CLIPRDR_FORMAT_LIST_RESPONSE formatListResponse = { 0 }; + CLIPRDR_FORMAT_LIST_RESPONSE formatListResponse = WINPR_C_ARRAY_INIT; CliprdrClientContext* context = cliprdr_get_client_interface(cliprdr); UINT error = CHANNEL_RC_OK; @@ -208,7 +208,7 @@ UINT cliprdr_process_format_list_response(cliprdrPlugin* cliprdr, WINPR_ATTR_UNU UINT cliprdr_process_format_data_request(cliprdrPlugin* cliprdr, wStream* s, UINT32 dataLen, UINT16 msgFlags) { - CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = { 0 }; + CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = WINPR_C_ARRAY_INIT; CliprdrClientContext* context = cliprdr_get_client_interface(cliprdr); UINT error = CHANNEL_RC_OK; @@ -247,7 +247,7 @@ UINT cliprdr_process_format_data_request(cliprdrPlugin* cliprdr, wStream* s, UIN UINT cliprdr_process_format_data_response(cliprdrPlugin* cliprdr, wStream* s, UINT32 dataLen, UINT16 msgFlags) { - CLIPRDR_FORMAT_DATA_RESPONSE formatDataResponse = { 0 }; + CLIPRDR_FORMAT_DATA_RESPONSE formatDataResponse = WINPR_C_ARRAY_INIT; CliprdrClientContext* context = cliprdr_get_client_interface(cliprdr); UINT error = CHANNEL_RC_OK; diff --git a/channels/cliprdr/client/cliprdr_main.c b/channels/cliprdr/client/cliprdr_main.c index f4ce710d9..82af509c4 100644 --- a/channels/cliprdr/client/cliprdr_main.c +++ b/channels/cliprdr/client/cliprdr_main.c @@ -142,8 +142,8 @@ static UINT cliprdr_process_general_capability(cliprdrPlugin* cliprdr, wStream* { UINT32 version = 0; UINT32 generalFlags = 0; - CLIPRDR_CAPABILITIES capabilities = { 0 }; - CLIPRDR_GENERAL_CAPABILITY_SET generalCapabilitySet = { 0 }; + CLIPRDR_CAPABILITIES capabilities = WINPR_C_ARRAY_INIT; + CLIPRDR_GENERAL_CAPABILITY_SET generalCapabilitySet = WINPR_C_ARRAY_INIT; CliprdrClientContext* context = cliprdr_get_client_interface(cliprdr); UINT error = CHANNEL_RC_OK; @@ -255,7 +255,7 @@ static UINT cliprdr_process_clip_caps(cliprdrPlugin* cliprdr, wStream* s, static UINT cliprdr_process_monitor_ready(cliprdrPlugin* cliprdr, WINPR_ATTR_UNUSED wStream* s, UINT32 length, UINT16 flags) { - CLIPRDR_MONITOR_READY monitorReady = { 0 }; + CLIPRDR_MONITOR_READY monitorReady = WINPR_C_ARRAY_INIT; CliprdrClientContext* context = cliprdr_get_client_interface(cliprdr); UINT error = CHANNEL_RC_OK; @@ -297,7 +297,7 @@ static UINT cliprdr_process_monitor_ready(cliprdrPlugin* cliprdr, WINPR_ATTR_UNU static UINT cliprdr_process_filecontents_request(cliprdrPlugin* cliprdr, wStream* s, UINT32 length, UINT16 flags) { - CLIPRDR_FILE_CONTENTS_REQUEST request = { 0 }; + CLIPRDR_FILE_CONTENTS_REQUEST request = WINPR_C_ARRAY_INIT; CliprdrClientContext* context = cliprdr_get_client_interface(cliprdr); UINT error = CHANNEL_RC_OK; @@ -337,7 +337,7 @@ static UINT cliprdr_process_filecontents_request(cliprdrPlugin* cliprdr, wStream static UINT cliprdr_process_filecontents_response(cliprdrPlugin* cliprdr, wStream* s, UINT32 length, UINT16 flags) { - CLIPRDR_FILE_CONTENTS_RESPONSE response = { 0 }; + CLIPRDR_FILE_CONTENTS_RESPONSE response = WINPR_C_ARRAY_INIT; CliprdrClientContext* context = cliprdr_get_client_interface(cliprdr); UINT error = CHANNEL_RC_OK; @@ -370,7 +370,7 @@ static UINT cliprdr_process_filecontents_response(cliprdrPlugin* cliprdr, wStrea static UINT cliprdr_process_lock_clipdata(cliprdrPlugin* cliprdr, wStream* s, UINT32 length, UINT16 flags) { - CLIPRDR_LOCK_CLIPBOARD_DATA lockClipboardData = { 0 }; + CLIPRDR_LOCK_CLIPBOARD_DATA lockClipboardData = WINPR_C_ARRAY_INIT; CliprdrClientContext* context = cliprdr_get_client_interface(cliprdr); UINT error = CHANNEL_RC_OK; @@ -403,7 +403,7 @@ static UINT cliprdr_process_lock_clipdata(cliprdrPlugin* cliprdr, wStream* s, UI static UINT cliprdr_process_unlock_clipdata(cliprdrPlugin* cliprdr, wStream* s, UINT32 length, UINT16 flags) { - CLIPRDR_UNLOCK_CLIPBOARD_DATA unlockClipboardData = { 0 }; + CLIPRDR_UNLOCK_CLIPBOARD_DATA unlockClipboardData = WINPR_C_ARRAY_INIT; CliprdrClientContext* context = cliprdr_get_client_interface(cliprdr); UINT error = CHANNEL_RC_OK; @@ -454,8 +454,8 @@ static UINT cliprdr_order_recv(LPVOID userdata, wStream* s) if (!Stream_CheckAndLogRequiredLengthWLog(cliprdr->log, s, dataLen)) return ERROR_INVALID_DATA; - char buffer1[64] = { 0 }; - char buffer2[64] = { 0 }; + char buffer1[64] = WINPR_C_ARRAY_INIT; + char buffer2[64] = WINPR_C_ARRAY_INIT; WLog_Print(cliprdr->log, WLOG_DEBUG, "msgType: %s (%" PRIu16 "), msgFlags: %s dataLen: %" PRIu32 "", CB_MSG_TYPE_STRING(msgType, buffer1, sizeof(buffer1)), msgType, diff --git a/channels/cliprdr/cliprdr_common.c b/channels/cliprdr/cliprdr_common.c index 1909ab963..68d1154ca 100644 --- a/channels/cliprdr/cliprdr_common.c +++ b/channels/cliprdr/cliprdr_common.c @@ -80,7 +80,7 @@ const char* CB_MSG_FLAGS_STRING(UINT16 msgFlags, char* buffer, size_t size) if (!len) winpr_str_append("NONE", buffer, size, ""); - char val[32] = { 0 }; + char val[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(val, sizeof(val), "[0x%04" PRIx16 "]", msgFlags); winpr_str_append(val, buffer, size, "|"); return buffer; @@ -385,7 +385,7 @@ UINT cliprdr_read_format_list(wLog* log, wStream* s, CLIPRDR_FORMAT_LIST* format size_t formatNameLength = 0; const char* szFormatName = NULL; const WCHAR* wszFormatName = NULL; - wStream sub1buffer = { 0 }; + wStream sub1buffer = WINPR_C_ARRAY_INIT; CLIPRDR_FORMAT* formats = NULL; UINT error = ERROR_INTERNAL_ERROR; diff --git a/channels/cliprdr/server/cliprdr_main.c b/channels/cliprdr/server/cliprdr_main.c index 0eed33d8f..f1a508ac7 100644 --- a/channels/cliprdr/server/cliprdr_main.c +++ b/channels/cliprdr/server/cliprdr_main.c @@ -512,7 +512,7 @@ static UINT cliprdr_server_receive_capabilities(CliprdrServerContext* context, w UINT16 capabilitySetLength = 0; UINT error = ERROR_INVALID_DATA; size_t cap_sets_size = 0; - CLIPRDR_CAPABILITIES capabilities = { 0 }; + CLIPRDR_CAPABILITIES capabilities = WINPR_C_ARRAY_INIT; CLIPRDR_CAPABILITY_SET* capSet = NULL; WINPR_ASSERT(context); @@ -589,7 +589,7 @@ static UINT cliprdr_server_receive_temporary_directory(CliprdrServerContext* con const CLIPRDR_HEADER* header) { size_t length = 0; - CLIPRDR_TEMP_DIRECTORY tempDirectory = { 0 }; + CLIPRDR_TEMP_DIRECTORY tempDirectory = WINPR_C_ARRAY_INIT; CliprdrServerPrivate* cliprdr = NULL; UINT error = CHANNEL_RC_OK; @@ -643,7 +643,7 @@ static UINT cliprdr_server_receive_temporary_directory(CliprdrServerContext* con static UINT cliprdr_server_receive_format_list(CliprdrServerContext* context, wStream* s, const CLIPRDR_HEADER* header) { - CLIPRDR_FORMAT_LIST formatList = { 0 }; + CLIPRDR_FORMAT_LIST formatList = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -676,7 +676,7 @@ out: static UINT cliprdr_server_receive_format_list_response(CliprdrServerContext* context, wStream* s, const CLIPRDR_HEADER* header) { - CLIPRDR_FORMAT_LIST_RESPONSE formatListResponse = { 0 }; + CLIPRDR_FORMAT_LIST_RESPONSE formatListResponse = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -703,7 +703,7 @@ static UINT cliprdr_server_receive_format_list_response(CliprdrServerContext* co static UINT cliprdr_server_receive_lock_clipdata(CliprdrServerContext* context, wStream* s, const CLIPRDR_HEADER* header) { - CLIPRDR_LOCK_CLIPBOARD_DATA lockClipboardData = { 0 }; + CLIPRDR_LOCK_CLIPBOARD_DATA lockClipboardData = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -734,7 +734,7 @@ static UINT cliprdr_server_receive_lock_clipdata(CliprdrServerContext* context, static UINT cliprdr_server_receive_unlock_clipdata(CliprdrServerContext* context, wStream* s, const CLIPRDR_HEADER* header) { - CLIPRDR_UNLOCK_CLIPBOARD_DATA unlockClipboardData = { 0 }; + CLIPRDR_UNLOCK_CLIPBOARD_DATA unlockClipboardData = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -765,7 +765,7 @@ static UINT cliprdr_server_receive_unlock_clipdata(CliprdrServerContext* context static UINT cliprdr_server_receive_format_data_request(CliprdrServerContext* context, wStream* s, const CLIPRDR_HEADER* header) { - CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = { 0 }; + CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -796,7 +796,7 @@ static UINT cliprdr_server_receive_format_data_request(CliprdrServerContext* con static UINT cliprdr_server_receive_format_data_response(CliprdrServerContext* context, wStream* s, const CLIPRDR_HEADER* header) { - CLIPRDR_FORMAT_DATA_RESPONSE formatDataResponse = { 0 }; + CLIPRDR_FORMAT_DATA_RESPONSE formatDataResponse = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -826,7 +826,7 @@ static UINT cliprdr_server_receive_format_data_response(CliprdrServerContext* co static UINT cliprdr_server_receive_filecontents_request(CliprdrServerContext* context, wStream* s, const CLIPRDR_HEADER* header) { - CLIPRDR_FILE_CONTENTS_REQUEST request = { 0 }; + CLIPRDR_FILE_CONTENTS_REQUEST request = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -863,7 +863,7 @@ static UINT cliprdr_server_receive_filecontents_request(CliprdrServerContext* co static UINT cliprdr_server_receive_filecontents_response(CliprdrServerContext* context, wStream* s, const CLIPRDR_HEADER* header) { - CLIPRDR_FILE_CONTENTS_RESPONSE response = { 0 }; + CLIPRDR_FILE_CONTENTS_RESPONSE response = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -899,8 +899,8 @@ static UINT cliprdr_server_receive_pdu(CliprdrServerContext* context, wStream* s WINPR_ASSERT(context); WINPR_ASSERT(header); - char buffer1[64] = { 0 }; - char buffer2[64] = { 0 }; + char buffer1[64] = WINPR_C_ARRAY_INIT; + char buffer2[64] = WINPR_C_ARRAY_INIT; WLog_DBG(TAG, "CliprdrServerReceivePdu: msgType: %s, msgFlags: %s dataLen: %" PRIu32 "", CB_MSG_TYPE_STRING(header->msgType, buffer1, sizeof(buffer1)), CB_MSG_FLAGS_STRING(header->msgFlags, buffer2, sizeof(buffer2)), header->dataLen); @@ -1007,10 +1007,10 @@ static UINT cliprdr_server_receive_pdu(CliprdrServerContext* context, wStream* s static UINT cliprdr_server_init(CliprdrServerContext* context) { UINT32 generalFlags = 0; - CLIPRDR_GENERAL_CAPABILITY_SET generalCapabilitySet = { 0 }; + CLIPRDR_GENERAL_CAPABILITY_SET generalCapabilitySet = WINPR_C_ARRAY_INIT; UINT error = 0; - CLIPRDR_MONITOR_READY monitorReady = { 0 }; - CLIPRDR_CAPABILITIES capabilities = { 0 }; + CLIPRDR_MONITOR_READY monitorReady = WINPR_C_ARRAY_INIT; + CLIPRDR_CAPABILITIES capabilities = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); @@ -1068,7 +1068,7 @@ static UINT cliprdr_server_read(CliprdrServerContext* context) size_t position = 0; DWORD BytesToRead = 0; DWORD BytesReturned = 0; - CLIPRDR_HEADER header = { 0 }; + CLIPRDR_HEADER header = WINPR_C_ARRAY_INIT; CliprdrServerPrivate* cliprdr = NULL; UINT error = 0; DWORD status = 0; @@ -1211,7 +1211,7 @@ static DWORD WINAPI cliprdr_server_thread(LPVOID arg) { DWORD status = 0; DWORD nCount = 0; - HANDLE events[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE events[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; HANDLE ChannelEvent = NULL; CliprdrServerContext* context = (CliprdrServerContext*)arg; CliprdrServerPrivate* cliprdr = NULL; diff --git a/channels/disp/client/disp_main.c b/channels/disp/client/disp_main.c index 8d99fcd5a..47e24cd6a 100644 --- a/channels/disp/client/disp_main.c +++ b/channels/disp/client/disp_main.c @@ -66,7 +66,7 @@ disp_send_display_control_monitor_layout_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s = NULL; DISP_PLUGIN* disp = NULL; UINT32 MonitorLayoutSize = 0; - DISPLAY_CONTROL_HEADER header = { 0 }; + DISPLAY_CONTROL_HEADER header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); WINPR_ASSERT(Monitors || (NumMonitors == 0)); @@ -191,7 +191,7 @@ static UINT disp_recv_display_control_caps_pdu(GENERIC_CHANNEL_CALLBACK* callbac static UINT disp_recv_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { UINT32 error = 0; - DISPLAY_CONTROL_HEADER header = { 0 }; + DISPLAY_CONTROL_HEADER header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); WINPR_ASSERT(s); diff --git a/channels/disp/server/disp_main.c b/channels/disp/server/disp_main.c index 71741a250..792c2ffc1 100644 --- a/channels/disp/server/disp_main.c +++ b/channels/disp/server/disp_main.c @@ -127,7 +127,7 @@ static BOOL disp_server_is_monitor_layout_valid(const DISPLAY_CONTROL_MONITOR_LA static UINT disp_recv_display_control_monitor_layout_pdu(wStream* s, DispServerContext* context) { UINT32 error = CHANNEL_RC_OK; - DISPLAY_CONTROL_MONITOR_LAYOUT_PDU pdu = { 0 }; + DISPLAY_CONTROL_MONITOR_LAYOUT_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(s); WINPR_ASSERT(context); @@ -215,7 +215,7 @@ static UINT disp_server_receive_pdu(DispServerContext* context, wStream* s) UINT error = CHANNEL_RC_OK; size_t beg = 0; size_t end = 0; - DISPLAY_CONTROL_HEADER header = { 0 }; + DISPLAY_CONTROL_HEADER header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(s); WINPR_ASSERT(context); @@ -346,7 +346,7 @@ static DWORD WINAPI disp_server_thread_func(LPVOID arg) DispServerPrivate* priv = NULL; DWORD status = 0; DWORD nCount = 0; - HANDLE events[8] = { 0 }; + HANDLE events[8] = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); diff --git a/channels/drdynvc/client/drdynvc_main.c b/channels/drdynvc/client/drdynvc_main.c index 1b15ef2d7..ddcc9d6e5 100644 --- a/channels/drdynvc/client/drdynvc_main.c +++ b/channels/drdynvc/client/drdynvc_main.c @@ -382,7 +382,7 @@ static UINT dvcman_load_addin(drdynvcPlugin* drdynvc, IWTSVirtualChannelManager* if (pDVCPluginEntry) { - DVCMAN_ENTRY_POINTS entryPoints = { 0 }; + DVCMAN_ENTRY_POINTS entryPoints = WINPR_C_ARRAY_INIT; entryPoints.iface.RegisterPlugin = dvcman_register_plugin; entryPoints.iface.GetPlugin = dvcman_get_plugin; @@ -1652,7 +1652,7 @@ static DWORD WINAPI drdynvc_virtual_channel_client_thread(LPVOID arg) { /* TODO: rewrite this */ wStream* data = NULL; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; drdynvcPlugin* drdynvc = (drdynvcPlugin*)arg; diff --git a/channels/drive/client/drive_file.c b/channels/drive/client/drive_file.c index bd8b1dc6d..913c7696c 100644 --- a/channels/drive/client/drive_file.c +++ b/channels/drive/client/drive_file.c @@ -48,7 +48,7 @@ #define DEBUG_WSTR(msg, wstr) \ do \ { \ - char lpstr[1024] = { 0 }; \ + char lpstr[1024] = WINPR_C_ARRAY_INIT; \ (void)ConvertWCharToUtf8(wstr, lpstr, ARRAYSIZE(lpstr)); \ WLog_DBG(TAG, msg, lpstr); \ } while (0) @@ -92,7 +92,7 @@ static BOOL drive_file_fix_path(WCHAR* path, size_t length) static BOOL contains_dotdot(const WCHAR* path, size_t base_length, size_t path_length) { - WCHAR dotdotbuffer[6] = { 0 }; + WCHAR dotdotbuffer[6] = WINPR_C_ARRAY_INIT; const WCHAR* dotdot = InitializeConstWCharFromUtf8("..", dotdotbuffer, ARRAYSIZE(dotdotbuffer)); const WCHAR* tst = path; @@ -147,7 +147,7 @@ static WCHAR* drive_file_combine_fullpath(const WCHAR* base_path, const WCHAR* p /* Ensure the path does not contain sequences like '..' */ if (contains_dotdot(&fullpath[base_path_length], base_path_length, PathWCharLength)) { - char abuffer[MAX_PATH] = { 0 }; + char abuffer[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(&fullpath[base_path_length], abuffer, ARRAYSIZE(abuffer)); WLog_WARN(TAG, "[rdpdr] received invalid file path '%s' from server, aborting!", @@ -305,7 +305,7 @@ static BOOL drive_file_init(DRIVE_FILE* file) FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorMessageID, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&messageBuffer, 0, NULL); - char fullpath[MAX_PATH] = { 0 }; + char fullpath[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(file->fullpath, fullpath, sizeof(fullpath)); WLog_ERR(TAG, "Error in drive_file_init: %s %s", messageBuffer, fullpath); /* Free the buffer. */ @@ -402,7 +402,7 @@ fail: BOOL drive_file_seek(DRIVE_FILE* file, UINT64 Offset) { - LARGE_INTEGER loffset = { 0 }; + LARGE_INTEGER loffset = WINPR_C_ARRAY_INIT; if (!file) return FALSE; @@ -587,7 +587,7 @@ static BOOL drive_file_query_from_attributes(const DRIVE_FILE* file, BOOL drive_file_query_information(DRIVE_FILE* file, UINT32 FsInformationClass, wStream* output) { - BY_HANDLE_FILE_INFORMATION fileInformation = { 0 }; + BY_HANDLE_FILE_INFORMATION fileInformation = WINPR_C_ARRAY_INIT; BOOL status = 0; if (!file || !output) @@ -620,7 +620,7 @@ BOOL drive_file_query_information(DRIVE_FILE* file, UINT32 FsInformationClass, w /* If we failed before (i.e. if information for a drive is queried) fall back to * GetFileAttributesExW */ { - WIN32_FILE_ATTRIBUTE_DATA fileAttributes = { 0 }; + WIN32_FILE_ATTRIBUTE_DATA fileAttributes = WINPR_C_ARRAY_INIT; if (!GetFileAttributesExW(file->fullpath, GetFileExInfoStandard, &fileAttributes)) goto out_fail; @@ -657,16 +657,16 @@ static BOOL drive_file_set_basic_information(DRIVE_FILE* file, UINT32 Length, wS if (file->file_handle == INVALID_HANDLE_VALUE) { - char fullpath[MAX_PATH] = { 0 }; + char fullpath[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(file->fullpath, fullpath, sizeof(fullpath) - 1); WLog_ERR(TAG, "Unable to set file time %s (%" PRIu32 ")", fullpath, GetLastError()); return FALSE; } - FILETIME ftCreationTime = { 0 }; - FILETIME ftLastAccessTime = { 0 }; - FILETIME ftLastWriteTime = { 0 }; + FILETIME ftCreationTime = WINPR_C_ARRAY_INIT; + FILETIME ftLastAccessTime = WINPR_C_ARRAY_INIT; + FILETIME ftLastWriteTime = WINPR_C_ARRAY_INIT; FILETIME* pftCreationTime = NULL; FILETIME* pftLastAccessTime = NULL; FILETIME* pftLastWriteTime = NULL; @@ -702,7 +702,7 @@ static BOOL drive_file_set_basic_information(DRIVE_FILE* file, UINT32 Length, wS if (!SetFileAttributesW(file->fullpath, FileAttributes)) { - char fullpath[MAX_PATH] = { 0 }; + char fullpath[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(file->fullpath, fullpath, sizeof(fullpath)); WLog_ERR(TAG, "Unable to set file attributes for %s", fullpath); return FALSE; @@ -710,7 +710,7 @@ static BOOL drive_file_set_basic_information(DRIVE_FILE* file, UINT32 Length, wS if (!SetFileTime(file->file_handle, pftCreationTime, pftLastAccessTime, pftLastWriteTime)) { - char fullpath[MAX_PATH] = { 0 }; + char fullpath[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(file->fullpath, fullpath, sizeof(fullpath)); WLog_ERR(TAG, "Unable to set file time for %s", fullpath); return FALSE; @@ -733,7 +733,7 @@ static BOOL drive_file_set_alloc_information(DRIVE_FILE* file, UINT32 Length, wS if (file->file_handle == INVALID_HANDLE_VALUE) { - char fullpath[MAX_PATH] = { 0 }; + char fullpath[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(file->fullpath, fullpath, sizeof(fullpath)); WLog_ERR(TAG, "Unable to truncate %s to %" PRId64 " (%" PRIu32 ")", fullpath, size, GetLastError()); @@ -744,7 +744,7 @@ static BOOL drive_file_set_alloc_information(DRIVE_FILE* file, UINT32 Length, wS if (!SetFilePointerEx(file->file_handle, liSize, NULL, FILE_BEGIN)) { - char fullpath[MAX_PATH] = { 0 }; + char fullpath[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(file->fullpath, fullpath, sizeof(fullpath)); WLog_ERR(TAG, "Unable to truncate %s to %" PRId64 " (%" PRIu32 ")", fullpath, size, GetLastError()); @@ -755,7 +755,7 @@ static BOOL drive_file_set_alloc_information(DRIVE_FILE* file, UINT32 Length, wS if (SetEndOfFile(file->file_handle) == 0) { - char fullpath[MAX_PATH] = { 0 }; + char fullpath[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(file->fullpath, fullpath, sizeof(fullpath)); WLog_ERR(TAG, "Unable to truncate %s to %" PRId64 " (%" PRIu32 ")", fullpath, size, GetLastError()); diff --git a/channels/drive/client/drive_main.c b/channels/drive/client/drive_main.c index ae57a2269..90357ed62 100644 --- a/channels/drive/client/drive_main.c +++ b/channels/drive/client/drive_main.c @@ -459,7 +459,7 @@ static UINT drive_process_irp_query_volume_information(DRIVE_DEVICE* drive, IRP* DWORD lpBytesPerSector = 0; DWORD lpNumberOfFreeClusters = 0; DWORD lpTotalNumberOfClusters = 0; - WIN32_FILE_ATTRIBUTE_DATA wfad = { 0 }; + WIN32_FILE_ATTRIBUTE_DATA wfad = WINPR_C_ARRAY_INIT; WINPR_ASSERT(drive); WINPR_ASSERT(irp); @@ -523,7 +523,7 @@ static UINT drive_process_irp_query_volume_information(DRIVE_DEVICE* drive, IRP* case FileFsAttributeInformation: { - WCHAR LabelBuffer[32] = { 0 }; + WCHAR LabelBuffer[32] = WINPR_C_ARRAY_INIT; /* http://msdn.microsoft.com/en-us/library/cc232101.aspx */ const WCHAR* diskType = InitializeConstWCharFromUtf8("FAT32", LabelBuffer, ARRAYSIZE(LabelBuffer)); @@ -820,7 +820,7 @@ static DWORD WINAPI drive_thread_func(LPVOID arg) if (MessageQueue_Size(drive->IrpQueue) < 1) continue; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; if (!MessageQueue_Peek(drive->IrpQueue, &message, TRUE)) { WLog_ERR(TAG, "MessageQueue_Peek failed!"); diff --git a/channels/encomsp/client/encomsp_main.c b/channels/encomsp/client/encomsp_main.c index 7ece70168..599a038de 100644 --- a/channels/encomsp/client/encomsp_main.c +++ b/channels/encomsp/client/encomsp_main.c @@ -83,7 +83,7 @@ static UINT encomsp_write_header(wStream* s, const ENCOMSP_ORDER_HEADER* header) static UINT encomsp_read_unicode_string(wStream* s, ENCOMSP_UNICODE_STRING* str) { WINPR_ASSERT(str); - const ENCOMSP_UNICODE_STRING empty = { 0 }; + const ENCOMSP_UNICODE_STRING empty = WINPR_C_ARRAY_INIT; *str = empty; if (!Stream_CheckAndLogRequiredLength(TAG, s, 2)) @@ -143,7 +143,7 @@ static UINT encomsp_virtual_channel_write(encomspPlugin* encomsp, wStream* s) static UINT encomsp_recv_filter_updated_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_FILTER_UPDATED_PDU pdu = { 0 }; + ENCOMSP_FILTER_UPDATED_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; EncomspClientContext* context = encomsp_get_client_interface(encomsp); @@ -195,7 +195,7 @@ static UINT encomsp_recv_filter_updated_pdu(encomspPlugin* encomsp, wStream* s, static UINT encomsp_recv_application_created_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_APPLICATION_CREATED_PDU pdu = { 0 }; + ENCOMSP_APPLICATION_CREATED_PDU pdu = WINPR_C_ARRAY_INIT; EncomspClientContext* context = encomsp_get_client_interface(encomsp); if (!context) @@ -256,7 +256,7 @@ static UINT encomsp_recv_application_created_pdu(encomspPlugin* encomsp, wStream static UINT encomsp_recv_application_removed_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_APPLICATION_REMOVED_PDU pdu = { 0 }; + ENCOMSP_APPLICATION_REMOVED_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; EncomspClientContext* context = encomsp_get_client_interface(encomsp); @@ -309,7 +309,7 @@ static UINT encomsp_recv_application_removed_pdu(encomspPlugin* encomsp, wStream static UINT encomsp_recv_window_created_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_WINDOW_CREATED_PDU pdu = { 0 }; + ENCOMSP_WINDOW_CREATED_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; EncomspClientContext* context = encomsp_get_client_interface(encomsp); @@ -371,7 +371,7 @@ static UINT encomsp_recv_window_created_pdu(encomspPlugin* encomsp, wStream* s, static UINT encomsp_recv_window_removed_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_WINDOW_REMOVED_PDU pdu = { 0 }; + ENCOMSP_WINDOW_REMOVED_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; EncomspClientContext* context = encomsp_get_client_interface(encomsp); @@ -424,7 +424,7 @@ static UINT encomsp_recv_window_removed_pdu(encomspPlugin* encomsp, wStream* s, static UINT encomsp_recv_show_window_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_SHOW_WINDOW_PDU pdu = { 0 }; + ENCOMSP_SHOW_WINDOW_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; EncomspClientContext* context = encomsp_get_client_interface(encomsp); @@ -477,7 +477,7 @@ static UINT encomsp_recv_show_window_pdu(encomspPlugin* encomsp, wStream* s, static UINT encomsp_recv_participant_created_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_PARTICIPANT_CREATED_PDU pdu = { 0 }; + ENCOMSP_PARTICIPANT_CREATED_PDU pdu = WINPR_C_ARRAY_INIT; EncomspClientContext* context = encomsp_get_client_interface(encomsp); if (!context) @@ -539,7 +539,7 @@ static UINT encomsp_recv_participant_created_pdu(encomspPlugin* encomsp, wStream static UINT encomsp_recv_participant_removed_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_PARTICIPANT_REMOVED_PDU pdu = { 0 }; + ENCOMSP_PARTICIPANT_REMOVED_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; EncomspClientContext* context = encomsp_get_client_interface(encomsp); @@ -591,7 +591,7 @@ static UINT encomsp_recv_participant_removed_pdu(encomspPlugin* encomsp, wStream static UINT encomsp_recv_change_participant_control_level_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_CHANGE_PARTICIPANT_CONTROL_LEVEL_PDU pdu = { 0 }; + ENCOMSP_CHANGE_PARTICIPANT_CONTROL_LEVEL_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; EncomspClientContext* context = encomsp_get_client_interface(encomsp); @@ -646,7 +646,7 @@ static UINT encomsp_recv_change_participant_control_level_pdu(encomspPlugin* enc static UINT encomsp_send_change_participant_control_level_pdu( EncomspClientContext* context, const ENCOMSP_CHANGE_PARTICIPANT_CONTROL_LEVEL_PDU* pdu) { - ENCOMSP_ORDER_HEADER header = { 0 }; + ENCOMSP_ORDER_HEADER header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); encomspPlugin* encomsp = (encomspPlugin*)context->handle; @@ -683,7 +683,7 @@ static UINT encomsp_send_change_participant_control_level_pdu( static UINT encomsp_recv_graphics_stream_paused_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_GRAPHICS_STREAM_PAUSED_PDU pdu = { 0 }; + ENCOMSP_GRAPHICS_STREAM_PAUSED_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; EncomspClientContext* context = encomsp_get_client_interface(encomsp); @@ -732,7 +732,7 @@ static UINT encomsp_recv_graphics_stream_paused_pdu(encomspPlugin* encomsp, wStr static UINT encomsp_recv_graphics_stream_resumed_pdu(encomspPlugin* encomsp, wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_GRAPHICS_STREAM_RESUMED_PDU pdu = { 0 }; + ENCOMSP_GRAPHICS_STREAM_RESUMED_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; EncomspClientContext* context = encomsp_get_client_interface(encomsp); @@ -781,7 +781,7 @@ static UINT encomsp_recv_graphics_stream_resumed_pdu(encomspPlugin* encomsp, wSt static UINT encomsp_process_receive(encomspPlugin* encomsp, wStream* s) { UINT error = CHANNEL_RC_OK; - ENCOMSP_ORDER_HEADER header = { 0 }; + ENCOMSP_ORDER_HEADER header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(encomsp); while (Stream_GetRemainingLength(s) > 0) @@ -1034,7 +1034,7 @@ static VOID VCAPITYPE encomsp_virtual_channel_open_event_ex(LPVOID lpUserParam, static DWORD WINAPI encomsp_virtual_channel_client_thread(LPVOID arg) { wStream* data = NULL; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; encomspPlugin* encomsp = (encomspPlugin*)arg; UINT error = CHANNEL_RC_OK; diff --git a/channels/encomsp/server/encomsp_main.c b/channels/encomsp/server/encomsp_main.c index 2ff7eb3a0..67fc9d949 100644 --- a/channels/encomsp/server/encomsp_main.c +++ b/channels/encomsp/server/encomsp_main.c @@ -56,7 +56,7 @@ static UINT encomsp_recv_change_participant_control_level_pdu(EncomspServerConte wStream* s, const ENCOMSP_ORDER_HEADER* header) { - ENCOMSP_CHANGE_PARTICIPANT_CONTROL_LEVEL_PDU pdu = { 0 }; + ENCOMSP_CHANGE_PARTICIPANT_CONTROL_LEVEL_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; const size_t pos = Stream_GetPosition(s); @@ -107,7 +107,7 @@ static UINT encomsp_server_receive_pdu(EncomspServerContext* context, wStream* s while (Stream_GetRemainingLength(s) > 0) { - ENCOMSP_ORDER_HEADER header = { 0 }; + ENCOMSP_ORDER_HEADER header = WINPR_C_ARRAY_INIT; if ((error = encomsp_read_header(s, &header))) { WLog_ERR(TAG, "encomsp_read_header failed with error %" PRIu32 "!", error); diff --git a/channels/gfxredir/server/gfxredir_main.c b/channels/gfxredir/server/gfxredir_main.c index 4baf40ad0..57a0110a1 100644 --- a/channels/gfxredir/server/gfxredir_main.c +++ b/channels/gfxredir/server/gfxredir_main.c @@ -46,7 +46,7 @@ static UINT gfxredir_recv_legacy_caps_pdu(wStream* s, GfxRedirServerContext* context) { UINT32 error = CHANNEL_RC_OK; - GFXREDIR_LEGACY_CAPS_PDU pdu = { 0 }; + GFXREDIR_LEGACY_CAPS_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); @@ -70,7 +70,7 @@ static UINT gfxredir_recv_caps_advertise_pdu(wStream* s, UINT32 length, GfxRedirServerContext* context) { UINT32 error = CHANNEL_RC_OK; - GFXREDIR_CAPS_ADVERTISE_PDU pdu = { 0 }; + GFXREDIR_CAPS_ADVERTISE_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); @@ -102,7 +102,7 @@ static UINT gfxredir_recv_caps_advertise_pdu(wStream* s, UINT32 length, static UINT gfxredir_recv_present_buffer_ack_pdu(wStream* s, GfxRedirServerContext* context) { UINT32 error = CHANNEL_RC_OK; - GFXREDIR_PRESENT_BUFFER_ACK_PDU pdu = { 0 }; + GFXREDIR_PRESENT_BUFFER_ACK_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); @@ -128,7 +128,7 @@ static UINT gfxredir_recv_present_buffer_ack_pdu(wStream* s, GfxRedirServerConte static UINT gfxredir_server_receive_pdu(GfxRedirServerContext* context, wStream* s) { UINT error = CHANNEL_RC_OK; - GFXREDIR_HEADER header = { 0 }; + GFXREDIR_HEADER header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); @@ -284,7 +284,7 @@ static DWORD WINAPI gfxredir_server_thread_func(LPVOID arg) GfxRedirServerPrivate* priv = context->priv; WINPR_ASSERT(priv); - HANDLE events[8] = { 0 }; + HANDLE events[8] = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; DWORD nCount = 0; events[nCount++] = priv->stopEvent; @@ -329,7 +329,7 @@ static DWORD WINAPI gfxredir_server_thread_func(LPVOID arg) */ static wStream* gfxredir_server_single_packet_new(UINT32 cmdId, size_t length) { - GFXREDIR_HEADER header = { 0 }; + GFXREDIR_HEADER header = WINPR_C_ARRAY_INIT; wStream* s = Stream_New(NULL, GFXREDIR_HEADER_SIZE + length); if (!s) diff --git a/channels/location/client/location_main.c b/channels/location/client/location_main.c index d5cd9c588..895fc6ccc 100644 --- a/channels/location/client/location_main.c +++ b/channels/location/client/location_main.c @@ -113,8 +113,8 @@ static UINT location_channel_send(IWTSVirtualChannel* channel, wStream* s) static UINT location_send_client_ready_pdu(const LOCATION_CALLBACK* callback) { - wStream sbuffer = { 0 }; - BYTE buffer[32] = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; + BYTE buffer[32] = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&sbuffer, buffer, sizeof(buffer)); WINPR_ASSERT(s); @@ -187,8 +187,8 @@ static UINT location_on_data_received(IWTSVirtualChannelCallback* pChannelCallba } { - char cbuffer[64] = { 0 }; - char sbuffer[64] = { 0 }; + char cbuffer[64] = WINPR_C_ARRAY_INIT; + char sbuffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(plugin->baseDynPlugin.log, WLOG_DEBUG, "Server version %s, client version %s", location_version_str(callback->serverVersion, sbuffer, sizeof(sbuffer)), @@ -218,8 +218,8 @@ static UINT location_on_data_received(IWTSVirtualChannelCallback* pChannelCallba static UINT location_send_base_location3d(IWTSVirtualChannel* channel, const RDPLOCATION_BASE_LOCATION3D_PDU* pdu) { - wStream sbuffer = { 0 }; - BYTE buffer[32] = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; + BYTE buffer[32] = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&sbuffer, buffer, sizeof(buffer)); WINPR_ASSERT(s); WINPR_ASSERT(channel); @@ -260,8 +260,8 @@ static UINT location_send_base_location3d(IWTSVirtualChannel* channel, static UINT location_send_location2d_delta(IWTSVirtualChannel* channel, const RDPLOCATION_LOCATION2D_DELTA_PDU* pdu) { - wStream sbuffer = { 0 }; - BYTE buffer[32] = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; + BYTE buffer[32] = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&sbuffer, buffer, sizeof(buffer)); WINPR_ASSERT(s); @@ -297,8 +297,8 @@ static UINT location_send_location2d_delta(IWTSVirtualChannel* channel, static UINT location_send_location3d_delta(IWTSVirtualChannel* channel, const RDPLOCATION_LOCATION3D_DELTA_PDU* pdu) { - wStream sbuffer = { 0 }; - BYTE buffer[32] = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; + BYTE buffer[32] = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&sbuffer, buffer, sizeof(buffer)); WINPR_ASSERT(s); @@ -352,7 +352,7 @@ static UINT location_send(LocationClientContext* context, LOCATION_PDUTYPE type, WINPR_ASSERT(callback); UINT32 res = ERROR_INTERNAL_ERROR; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, count); switch (type) { diff --git a/channels/location/server/location_main.c b/channels/location/server/location_main.c index f7061cbb2..b8758cbb2 100644 --- a/channels/location/server/location_main.c +++ b/channels/location/server/location_main.c @@ -433,7 +433,7 @@ static HANDLE location_server_get_channel_handle(location_server* location) static DWORD WINAPI location_server_thread_func(LPVOID arg) { DWORD nCount = 0; - HANDLE events[2] = { 0 }; + HANDLE events[2] = WINPR_C_ARRAY_INIT; location_server* location = (location_server*)arg; UINT error = CHANNEL_RC_OK; DWORD status = 0; diff --git a/channels/parallel/client/parallel_main.c b/channels/parallel/client/parallel_main.c index c914990ed..1e8fe2854 100644 --- a/channels/parallel/client/parallel_main.c +++ b/channels/parallel/client/parallel_main.c @@ -348,7 +348,7 @@ static DWORD WINAPI parallel_thread_func(LPVOID arg) break; } - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; if (!MessageQueue_Peek(parallel->queue, &message, TRUE)) { WLog_Print(parallel->log, WLOG_ERROR, "MessageQueue_Peek failed!"); diff --git a/channels/printer/client/cups/printer_cups.c b/channels/printer/client/cups/printer_cups.c index dd52b3ec4..98d16079d 100644 --- a/channels/printer/client/cups/printer_cups.c +++ b/channels/printer/client/cups/printer_cups.c @@ -50,14 +50,14 @@ static bool is_mac_os_sonoma_or_later(void) { - char str[256] = { 0 }; + char str[256] = WINPR_C_ARRAY_INIT; size_t size = sizeof(str); errno = 0; int ret = sysctlbyname("kern.osrelease", str, &size, NULL, 0); if (ret != 0) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "sysctlbyname('kern.osrelease') failed with %s [%d]", winpr_strerror(errno, buffer, sizeof(buffer)), errno); return false; @@ -107,7 +107,7 @@ typedef struct WINPR_ATTR_MALLOC(free, 1) static char* printer_cups_get_printjob_name(size_t id) { - struct tm tres = { 0 }; + struct tm tres = WINPR_C_ARRAY_INIT; const time_t tt = time(NULL); const struct tm* t = localtime_r(&tt, &tres); diff --git a/channels/printer/client/printer_main.c b/channels/printer/client/printer_main.c index 354cdf18d..a5ecb20fb 100644 --- a/channels/printer/client/printer_main.c +++ b/channels/printer/client/printer_main.c @@ -82,7 +82,7 @@ WINPR_ATTR_MALLOC(free, 1) WINPR_ATTR_NODISCARD static char* get_printer_hash(const WCHAR* name, size_t length) { - BYTE hash[WINPR_SHA256_DIGEST_LENGTH] = { 0 }; + BYTE hash[WINPR_SHA256_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; if (!winpr_Digest(WINPR_MD_SHA256, name, length, hash, sizeof(hash))) return NULL; diff --git a/channels/printer/client/win/printer_win.c b/channels/printer/client/win/printer_win.c index b764793b3..92d6f6d82 100644 --- a/channels/printer/client/win/printer_win.c +++ b/channels/printer/client/win/printer_win.c @@ -76,7 +76,7 @@ typedef struct WINPR_ATTR_MALLOC(free, 1) static WCHAR* printer_win_get_printjob_name(size_t id) { - struct tm tres = { 0 }; + struct tm tres = WINPR_C_ARRAY_INIT; WCHAR* str = NULL; size_t len = 0; diff --git a/channels/rail/client/client_rails.c b/channels/rail/client/client_rails.c index e2108a4e6..e89b58dee 100644 --- a/channels/rail/client/client_rails.c +++ b/channels/rail/client/client_rails.c @@ -9,10 +9,10 @@ UINT client_rail_server_start_cmd(RailClientContext* context) { UINT status = 0; - char argsAndFile[520] = { 0 }; - RAIL_EXEC_ORDER exec = { 0 }; - RAIL_SYSPARAM_ORDER sysparam = { 0 }; - RAIL_CLIENT_STATUS_ORDER clientStatus = { 0 }; + char argsAndFile[520] = WINPR_C_ARRAY_INIT; + RAIL_EXEC_ORDER exec = WINPR_C_ARRAY_INIT; + RAIL_SYSPARAM_ORDER sysparam = WINPR_C_ARRAY_INIT; + RAIL_CLIENT_STATUS_ORDER clientStatus = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); railPlugin* rail = context->handle; diff --git a/channels/rail/client/rail_main.c b/channels/rail/client/rail_main.c index 41fa9c8d3..9cad5bc2d 100644 --- a/channels/rail/client/rail_main.c +++ b/channels/rail/client/rail_main.c @@ -106,9 +106,9 @@ static UINT rail_client_execute(RailClientContext* context, const RAIL_EXEC_ORDE UINT error = 0; railPlugin* rail = NULL; UINT16 flags = 0; - RAIL_UNICODE_STRING ruExeOrFile = { 0 }; - RAIL_UNICODE_STRING ruWorkingDir = { 0 }; - RAIL_UNICODE_STRING ruArguments = { 0 }; + RAIL_UNICODE_STRING ruExeOrFile = WINPR_C_ARRAY_INIT; + RAIL_UNICODE_STRING ruWorkingDir = WINPR_C_ARRAY_INIT; + RAIL_UNICODE_STRING ruArguments = WINPR_C_ARRAY_INIT; if (!context || !exec) return ERROR_INVALID_PARAMETER; diff --git a/channels/rail/client/rail_orders.c b/channels/rail/client/rail_orders.c index a11623d7f..35308bd0f 100644 --- a/channels/rail/client/rail_orders.c +++ b/channels/rail/client/rail_orders.c @@ -41,7 +41,7 @@ static BOOL rail_is_feature_supported(const rdpContext* context, UINT32 featureM */ UINT rail_send_pdu(railPlugin* rail, wStream* s, UINT16 orderType) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; UINT16 orderLength = 0; if (!rail || !s) @@ -344,7 +344,7 @@ static UINT rail_write_compartment_info_order(wStream* s, static UINT rail_recv_handshake_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_HANDSHAKE_ORDER serverHandshake = { 0 }; + RAIL_HANDSHAKE_ORDER serverHandshake = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context || !s) @@ -360,7 +360,7 @@ static UINT rail_recv_handshake_order(railPlugin* rail, wStream* s) if (rail->sendHandshake) { - RAIL_HANDSHAKE_ORDER clientHandshake = { 0 }; + RAIL_HANDSHAKE_ORDER clientHandshake = WINPR_C_ARRAY_INIT; clientHandshake.buildNumber = 0x00001DB0; error = context->ClientHandshake(context, &clientHandshake); } @@ -395,7 +395,7 @@ static UINT rail_read_compartment_info_order(wStream* s, static UINT rail_recv_compartmentinfo_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_COMPARTMENT_INFO_ORDER pdu = { 0 }; + RAIL_COMPARTMENT_INFO_ORDER pdu = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context || !s) @@ -435,8 +435,8 @@ BOOL rail_is_feature_supported(const rdpContext* context, UINT32 featureMask) if (masked != featureMask) { - char maskstr[256] = { 0 }; - char actualstr[256] = { 0 }; + char maskstr[256] = WINPR_C_ARRAY_INIT; + char actualstr[256] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "have %s, require %s", freerdp_rail_support_flags_to_string(supported, actualstr, sizeof(actualstr)), @@ -455,7 +455,7 @@ BOOL rail_is_feature_supported(const rdpContext* context, UINT32 featureMask) static UINT rail_recv_handshake_ex_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_HANDSHAKE_EX_ORDER serverHandshake = { 0 }; + RAIL_HANDSHAKE_EX_ORDER serverHandshake = WINPR_C_ARRAY_INIT; UINT error = 0; if (!rail || !context || !s) @@ -474,7 +474,7 @@ static UINT rail_recv_handshake_ex_order(railPlugin* rail, wStream* s) rail->channelFlags = serverHandshake.railHandshakeFlags; { - char buffer[192] = { 0 }; + char buffer[192] = WINPR_C_ARRAY_INIT; WLog_DBG(TAG, "HandshakeFlags=%s [buildNumber=0x%08" PRIx32 "]", rail_handshake_ex_flags_to_string(rail->channelFlags, buffer, sizeof(buffer)), rail->channelBuildNumber); @@ -482,7 +482,7 @@ static UINT rail_recv_handshake_ex_order(railPlugin* rail, wStream* s) if (rail->sendHandshake) { - RAIL_HANDSHAKE_ORDER clientHandshake = { 0 }; + RAIL_HANDSHAKE_ORDER clientHandshake = WINPR_C_ARRAY_INIT; clientHandshake.buildNumber = 0x00001DB0; /* 2.2.2.2.3 HandshakeEx PDU (TS_RAIL_ORDER_HANDSHAKE_EX) * Client response is really a Handshake PDU */ @@ -511,7 +511,7 @@ static UINT rail_recv_handshake_ex_order(railPlugin* rail, wStream* s) static UINT rail_recv_exec_result_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_EXEC_RESULT_ORDER execResult = { 0 }; + RAIL_EXEC_RESULT_ORDER execResult = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context || !s) @@ -577,7 +577,7 @@ static UINT rail_recv_server_sysparam_order(railPlugin* rail, wStream* s) static UINT rail_recv_server_minmaxinfo_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_MINMAXINFO_ORDER minMaxInfo = { 0 }; + RAIL_MINMAXINFO_ORDER minMaxInfo = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context || !s) @@ -608,7 +608,7 @@ static UINT rail_recv_server_minmaxinfo_order(railPlugin* rail, wStream* s) static UINT rail_recv_server_localmovesize_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_LOCALMOVESIZE_ORDER localMoveSize = { 0 }; + RAIL_LOCALMOVESIZE_ORDER localMoveSize = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context || !s) @@ -639,7 +639,7 @@ static UINT rail_recv_server_localmovesize_order(railPlugin* rail, wStream* s) static UINT rail_recv_server_get_appid_resp_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_GET_APPID_RESP_ORDER getAppIdResp = { 0 }; + RAIL_GET_APPID_RESP_ORDER getAppIdResp = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context || !s) @@ -671,7 +671,7 @@ static UINT rail_recv_server_get_appid_resp_order(railPlugin* rail, wStream* s) static UINT rail_recv_langbar_info_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_LANGBAR_INFO_ORDER langBarInfo = { 0 }; + RAIL_LANGBAR_INFO_ORDER langBarInfo = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context) @@ -714,7 +714,7 @@ static UINT rail_read_taskbar_info_order(wStream* s, RAIL_TASKBAR_INFO_ORDER* ta static UINT rail_recv_taskbar_info_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_TASKBAR_INFO_ORDER taskBarInfo = { 0 }; + RAIL_TASKBAR_INFO_ORDER taskBarInfo = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context) @@ -757,7 +757,7 @@ static UINT rail_read_zorder_sync_order(wStream* s, RAIL_ZORDER_SYNC* zorder) static UINT rail_recv_zorder_sync_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_ZORDER_SYNC zorder = { 0 }; + RAIL_ZORDER_SYNC zorder = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context) @@ -799,7 +799,7 @@ static UINT rail_read_cloak_order(wStream* s, RAIL_CLOAK* cloak) static UINT rail_recv_cloak_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_CLOAK cloak = { 0 }; + RAIL_CLOAK cloak = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context) @@ -845,7 +845,7 @@ static UINT rail_read_power_display_request_order(wStream* s, RAIL_POWER_DISPLAY static UINT rail_recv_power_display_request_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_POWER_DISPLAY_REQUEST power = { 0 }; + RAIL_POWER_DISPLAY_REQUEST power = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context) @@ -908,7 +908,7 @@ static UINT rail_read_get_application_id_extended_response_order(wStream* s, static UINT rail_recv_get_application_id_extended_response_order(railPlugin* rail, wStream* s) { RailClientContext* context = rail_get_client_interface(rail); - RAIL_GET_APPID_RESP_EX id = { 0 }; + RAIL_GET_APPID_RESP_EX id = WINPR_C_ARRAY_INIT; UINT error = 0; if (!context) @@ -1009,7 +1009,7 @@ static UINT rail_recv_caretblinkinfo_order(railPlugin* rail, wStream* s) */ UINT rail_order_recv(LPVOID userdata, wStream* s) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; railPlugin* rail = userdata; UINT16 orderType = 0; UINT16 orderLength = 0; @@ -1101,7 +1101,7 @@ UINT rail_order_recv(LPVOID userdata, wStream* s) if (error != CHANNEL_RC_OK) { - char ebuffer[128] = { 0 }; + char ebuffer[128] = WINPR_C_ARRAY_INIT; WLog_Print(rail->log, WLOG_ERROR, "Failed to process rail %s PDU, length:%" PRIu16 "", rail_get_order_type_string_full(orderType, ebuffer, sizeof(ebuffer)), orderLength); @@ -1550,7 +1550,7 @@ UINT rail_send_client_snap_arrange_order(railPlugin* rail, const RAIL_SNAP_ARRAN /* 2.2.2.7.5 Client Window Snap PDU (TS_RAIL_ORDER_SNAP_ARRANGE) */ if ((rail->channelFlags & TS_RAIL_ORDER_HANDSHAKE_EX_FLAGS_SNAP_ARRANGE_SUPPORTED) == 0) { - RAIL_WINDOW_MOVE_ORDER move = { 0 }; + RAIL_WINDOW_MOVE_ORDER move = WINPR_C_ARRAY_INIT; move.top = snap->top; move.left = snap->left; move.right = snap->right; diff --git a/channels/rail/rail_common.c b/channels/rail/rail_common.c index f80b6ed70..37cfcb96e 100644 --- a/channels/rail/rail_common.c +++ b/channels/rail/rail_common.c @@ -611,7 +611,7 @@ const char* rail_handshake_ex_flags_to_string(UINT32 flags, char* buffer, size_t if (flags & TS_RAIL_ORDER_HANDSHAKE_EX_FLAGS_EXTENDED_SPI_2_SUPPORTED) winpr_str_append("EXTENDED_SPI_2_SUPPORTED", fbuffer, len, "|"); - char number[16] = { 0 }; + char number[16] = WINPR_C_ARRAY_INIT; (void)_snprintf(number, sizeof(number), "[0x%08" PRIx32 "]", flags); winpr_str_append(number, buffer, len, "}"); return buffer; diff --git a/channels/rail/server/rail_main.c b/channels/rail/server/rail_main.c index b0c985d7d..6920a8cc2 100644 --- a/channels/rail/server/rail_main.c +++ b/channels/rail/server/rail_main.c @@ -63,7 +63,7 @@ static UINT rail_send(RailServerContext* context, wStream* s, ULONG length) */ static UINT rail_server_send_pdu(RailServerContext* context, wStream* s, UINT16 orderType) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; UINT16 orderLength = 0; if (!context || !s) @@ -653,7 +653,7 @@ static UINT rail_read_client_status_order(wStream* s, RAIL_CLIENT_STATUS_ORDER* */ static UINT rail_read_exec_order(wStream* s, RAIL_EXEC_ORDER* exec, char* args[]) { - RAIL_EXEC_ORDER order = { 0 }; + RAIL_EXEC_ORDER order = WINPR_C_ARRAY_INIT; UINT16 exeLen = 0; UINT16 workLen = 0; UINT16 argLen = 0; @@ -950,8 +950,8 @@ static UINT rail_recv_client_client_status_order(RailServerContext* context, static UINT rail_recv_client_exec_order(RailServerContext* context, wStream* s) { UINT error = 0; - char* args[3] = { 0 }; - RAIL_EXEC_ORDER exec = { 0 }; + char* args[3] = WINPR_C_ARRAY_INIT; + RAIL_EXEC_ORDER exec = WINPR_C_ARRAY_INIT; if (!context || !s) return ERROR_INVALID_PARAMETER; @@ -1573,7 +1573,7 @@ void rail_server_set_handshake_ex_flags(RailServerContext* context, DWORD flags) UINT rail_server_handle_messages(RailServerContext* context) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; UINT status = CHANNEL_RC_OK; DWORD bytesReturned = 0; UINT16 orderType = 0; @@ -1645,7 +1645,7 @@ UINT rail_server_handle_messages(RailServerContext* context) case TS_RAIL_ORDER_SYSPARAM: { - RAIL_SYSPARAM_ORDER sysparam = { 0 }; + RAIL_SYSPARAM_ORDER sysparam = WINPR_C_ARRAY_INIT; return rail_recv_client_sysparam_order(context, &sysparam, s); } diff --git a/channels/rdp2tcp/client/rdp2tcp_main.c b/channels/rdp2tcp/client/rdp2tcp_main.c index 826f152c1..4e0af1adf 100644 --- a/channels/rdp2tcp/client/rdp2tcp_main.c +++ b/channels/rdp2tcp/client/rdp2tcp_main.c @@ -48,9 +48,9 @@ typedef struct static int init_external_addin(Plugin* plugin) { int rc = -1; - SECURITY_ATTRIBUTES saAttr = { 0 }; - STARTUPINFOA siStartInfo = { 0 }; /* Using ANSI type to match CreateProcessA */ - PROCESS_INFORMATION procInfo = { 0 }; + SECURITY_ATTRIBUTES saAttr = WINPR_C_ARRAY_INIT; + STARTUPINFOA siStartInfo = WINPR_C_ARRAY_INIT; /* Using ANSI type to match CreateProcessA */ + PROCESS_INFORMATION procInfo = WINPR_C_ARRAY_INIT; WINPR_ASSERT(plugin); @@ -312,7 +312,7 @@ FREERDP_ENTRY_POINT(BOOL VCAPITYPE VirtualChannelEntryEx(PCHANNEL_ENTRY_POINTS_E return FALSE; } - CHANNEL_DEF channelDef = { 0 }; + CHANNEL_DEF channelDef = WINPR_C_ARRAY_INIT; strncpy(channelDef.name, RDP2TCP_DVC_CHANNEL_NAME, sizeof(channelDef.name)); channelDef.options = CHANNEL_OPTION_INITIALIZED | CHANNEL_OPTION_ENCRYPT_RDP | CHANNEL_OPTION_COMPRESS_RDP; diff --git a/channels/rdpdr/client/devman.c b/channels/rdpdr/client/devman.c index b38554956..325a71f9a 100644 --- a/channels/rdpdr/client/devman.c +++ b/channels/rdpdr/client/devman.c @@ -186,7 +186,7 @@ static const char PARALLEL_SERVICE_NAME[] = "parallel"; UINT devman_load_device_service(DEVMAN* devman, RDPDR_DEVICE* device, rdpContext* rdpcontext) { const char* ServiceName = NULL; - DEVICE_SERVICE_ENTRY_POINTS ep = { 0 }; + DEVICE_SERVICE_ENTRY_POINTS ep = WINPR_C_ARRAY_INIT; union { const RDPDR_DEVICE* cdp; diff --git a/channels/rdpdr/client/rdpdr_capabilities.c b/channels/rdpdr/client/rdpdr_capabilities.c index 145719816..a94c993f4 100644 --- a/channels/rdpdr/client/rdpdr_capabilities.c +++ b/channels/rdpdr/client/rdpdr_capabilities.c @@ -201,7 +201,7 @@ UINT rdpdr_process_capability_request(rdpdrPlugin* rdpdr, wStream* s) memset(rdpdr->capabilities, 0, sizeof(rdpdr->capabilities)); for (UINT16 i = 0; i < numCapabilities; i++) { - RDPDR_CAPABILITY_HEADER header = { 0 }; + RDPDR_CAPABILITY_HEADER header = WINPR_C_ARRAY_INIT; UINT error = rdpdr_read_capset_header(rdpdr->log, s, &header); if (error != CHANNEL_RC_OK) return error; diff --git a/channels/rdpdr/client/rdpdr_main.c b/channels/rdpdr/client/rdpdr_main.c index 4349e2f6e..2f6db73b7 100644 --- a/channels/rdpdr/client/rdpdr_main.c +++ b/channels/rdpdr/client/rdpdr_main.c @@ -513,10 +513,10 @@ static UINT handle_hotplug(WINPR_ATTR_UNUSED RdpdrClientContext* context, rdpdrPlugin* rdpdr = context->handle; struct dirent* pDirent = NULL; - char fullpath[PATH_MAX] = { 0 }; + char fullpath[PATH_MAX] = WINPR_C_ARRAY_INIT; char* szdir = (char*)"/Volumes"; - struct stat buf = { 0 }; - hotplug_dev dev_array[MAX_USB_DEVICES] = { 0 }; + struct stat buf = WINPR_C_ARRAY_INIT; + hotplug_dev dev_array[MAX_USB_DEVICES] = WINPR_C_ARRAY_INIT; int count = 0; DEVICE_DRIVE_EXT* device_ext = NULL; ULONG_PTR* keys = NULL; @@ -730,9 +730,9 @@ static const char* automountLocations[] = { "/run/user/%lu/gvfs", "/run/media/%s static BOOL isAutomountLocation(const char* path) { const size_t nrLocations = sizeof(automountLocations) / sizeof(automountLocations[0]); - char buffer[MAX_PATH] = { 0 }; + char buffer[MAX_PATH] = WINPR_C_ARRAY_INIT; uid_t uid = getuid(); - char uname[MAX_PATH] = { 0 }; + char uname[MAX_PATH] = WINPR_C_ARRAY_INIT; ULONG size = sizeof(uname) - 1; if (!GetUserNameExA(NameSamCompatible, uname, &size)) @@ -863,8 +863,8 @@ static struct mntent* getmntent_x(FILE* f, struct mntent* buffer, char* pathbuff static UINT handle_platform_mounts_linux(wLog* log, hotplug_dev* dev_array, size_t* size) { FILE* f = NULL; - struct mntent mnt = { 0 }; - char pathbuffer[PATH_MAX] = { 0 }; + struct mntent mnt = WINPR_C_ARRAY_INIT; + char pathbuffer[PATH_MAX] = WINPR_C_ARRAY_INIT; struct mntent* ent = NULL; f = winpr_fopen("/proc/mounts", "r"); if (f == NULL) @@ -1000,7 +1000,7 @@ static UINT handle_hotplug(RdpdrClientContext* context, WINPR_ASSERT(context); rdpdrPlugin* rdpdr = context->handle; - hotplug_dev dev_array[MAX_USB_DEVICES] = { 0 }; + hotplug_dev dev_array[MAX_USB_DEVICES] = WINPR_C_ARRAY_INIT; size_t size = 0; UINT error = ERROR_SUCCESS; struct hotplug_delete_arg arg = { dev_array, ARRAYSIZE(dev_array), rdpdr }; @@ -1446,7 +1446,7 @@ static UINT rdpdr_send_device_list_announce_request(rdpdrPlugin* rdpdr, BOOL use size_t pos = 0; wStream* s = NULL; size_t count_pos = 0; - struct device_announce_arg arg = { 0 }; + struct device_announce_arg arg = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rdpdr); WINPR_ASSERT(rdpdr->devman); @@ -1657,7 +1657,7 @@ static const char* state_str(size_t count, va_list ap, char* buffer, size_t size static BOOL rdpdr_state_check(rdpdrPlugin* rdpdr, UINT16 packetid, enum RDPDR_CHANNEL_STATE next, size_t count, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rdpdr); va_start(ap, count); @@ -1667,7 +1667,7 @@ static BOOL rdpdr_state_check(rdpdrPlugin* rdpdr, UINT16 packetid, enum RDPDR_CH if (!rc) { const char* strstate = rdpdr_state_str(rdpdr->state); - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; va_start(ap, count); state_str(count, ap, buffer, sizeof(buffer)); @@ -2111,7 +2111,7 @@ static DWORD WINAPI rdpdr_virtual_channel_client_thread(LPVOID arg) while (1) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rdpdr); if (!MessageQueue_Wait(rdpdr->queue)) diff --git a/channels/rdpdr/server/rdpdr_main.c b/channels/rdpdr/server/rdpdr_main.c index be1bb9244..181516f4b 100644 --- a/channels/rdpdr/server/rdpdr_main.c +++ b/channels/rdpdr/server/rdpdr_main.c @@ -281,7 +281,7 @@ static UINT rdpdr_seal_send_free_request(RdpdrServerContext* context, wStream* s if (length >= RDPDR_HEADER_LENGTH) { - RDPDR_HEADER header = { 0 }; + RDPDR_HEADER header = WINPR_C_ARRAY_INIT; Stream_Read_UINT16(s, header.Component); Stream_Read_UINT16(s, header.PacketId); @@ -306,7 +306,7 @@ static UINT rdpdr_server_send_announce_request(RdpdrServerContext* context) { UINT error = 0; wStream* s = NULL; - RDPDR_HEADER header = { 0 }; + RDPDR_HEADER header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(context->priv); @@ -512,7 +512,7 @@ static UINT rdpdr_server_read_general_capability_set(RdpdrServerContext* context s); /* extraFlags2 (4 bytes), must be set to zero, reserved for future use */ { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_Print(context->priv->log, WLOG_TRACE, "OsType=%" PRIu32 ", OsVersion=%" PRIu32 ", VersionMajor=%" PRIu32 ", VersionMinor=%" PRIu32 ", IoCode1=%s, IoCode2=%" PRIu32 @@ -563,7 +563,7 @@ static UINT rdpdr_server_read_general_capability_set(RdpdrServerContext* context if ((IoCode1 & mask) == 0) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_Print(context->priv->log, WLOG_ERROR, "Missing IRP mask values %s", rdpdr_irp_mask2str(IoCode1 & mask, buffer, sizeof(buffer))); return ERROR_INVALID_DATA; @@ -809,7 +809,7 @@ static UINT rdpdr_server_write_smartcard_capability_set(RdpdrServerContext* cont static UINT rdpdr_server_send_core_capability_request(RdpdrServerContext* context) { wStream* s = NULL; - RDPDR_HEADER header = { 0 }; + RDPDR_HEADER header = WINPR_C_ARRAY_INIT; UINT16 numCapabilities = 0; UINT error = 0; WINPR_ASSERT(context); @@ -929,7 +929,7 @@ static UINT rdpdr_server_receive_core_capability_response(RdpdrServerContext* co UINT16 caps = 0; for (UINT16 i = 0; i < numCapabilities; i++) { - RDPDR_CAPABILITY_HEADER capabilityHeader = { 0 }; + RDPDR_CAPABILITY_HEADER capabilityHeader = WINPR_C_ARRAY_INIT; const size_t start = Stream_GetPosition(s); if ((status = rdpdr_read_capset_header(context->priv->log, s, &capabilityHeader))) @@ -1046,7 +1046,7 @@ static UINT rdpdr_server_receive_core_capability_response(RdpdrServerContext* co static UINT rdpdr_server_send_client_id_confirm(RdpdrServerContext* context) { wStream* s = NULL; - RDPDR_HEADER header = { 0 }; + RDPDR_HEADER header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(context->priv); @@ -1094,7 +1094,7 @@ static UINT rdpdr_server_receive_device_list_announce_request(RdpdrServerContext for (UINT32 i = 0; i < DeviceCount; i++) { UINT error = 0; - RdpdrDevice device = { 0 }; + RdpdrDevice device = WINPR_C_ARRAY_INIT; if (!Stream_CheckAndLogRequiredLengthWLog(context->priv->log, s, 20)) return ERROR_INVALID_DATA; @@ -1830,7 +1830,7 @@ static UINT rdpdr_server_receive_device_io_completion(RdpdrServerContext* contex static UINT rdpdr_server_send_user_logged_on(RdpdrServerContext* context) { wStream* s = NULL; - RDPDR_HEADER header = { 0 }; + RDPDR_HEADER header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(context->priv); @@ -1852,7 +1852,7 @@ static UINT rdpdr_server_send_user_logged_on(RdpdrServerContext* context) static UINT rdpdr_server_receive_prn_cache_add_printer(RdpdrServerContext* context, wStream* s) { - char PortDosName[9] = { 0 }; + char PortDosName[9] = WINPR_C_ARRAY_INIT; UINT32 PnPNameLen = 0; UINT32 DriverNameLen = 0; UINT32 PrinterNameLen = 0; @@ -2161,7 +2161,7 @@ static DWORD WINAPI rdpdr_server_thread(LPVOID arg) DWORD status = 0; DWORD nCount = 0; void* buffer = NULL; - HANDLE events[8] = { 0 }; + HANDLE events[8] = WINPR_C_ARRAY_INIT; HANDLE ChannelEvent = NULL; DWORD BytesReturned = 0; UINT error = 0; @@ -2254,7 +2254,7 @@ static DWORD WINAPI rdpdr_server_thread(LPVOID arg) while (Stream_GetRemainingLength(s) >= RDPDR_HEADER_LENGTH) { - RDPDR_HEADER header = { 0 }; + RDPDR_HEADER header = WINPR_C_ARRAY_INIT; Stream_Read_UINT16(s, header.Component); /* Component (2 bytes) */ Stream_Read_UINT16(s, header.PacketId); /* PacketId (2 bytes) */ @@ -2925,7 +2925,7 @@ static UINT rdpdr_server_drive_query_directory_callback2(RdpdrServerContext* con { UINT error = 0; UINT32 length = 0; - FILE_DIRECTORY_INFORMATION fdi = { 0 }; + FILE_DIRECTORY_INFORMATION fdi = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(context->priv); diff --git a/channels/rdpear/client/rdpear_main.c b/channels/rdpear/client/rdpear_main.c index e7c8792f0..5b4aae0d9 100644 --- a/channels/rdpear/client/rdpear_main.c +++ b/channels/rdpear/client/rdpear_main.c @@ -91,7 +91,7 @@ static krb5_error_code kerb_do_checksum(krb5_context ctx, const KERB_RPC_ENCRYPT WINPR_ASSERT(out); krb5_keyblock* keyblock = NULL; - krb5_data data = { 0 }; + krb5_data data = WINPR_C_ARRAY_INIT; krb5_error_code rv = RPC_ENCRYPTION_KEY_to_keyblock(ctx, key, &keyblock); if (rv) @@ -116,8 +116,8 @@ static krb5_error_code kerb_do_encrypt(krb5_context ctx, const KERB_RPC_ENCRYPTI WINPR_ASSERT(out); krb5_keyblock* keyblock = NULL; - krb5_data data = { 0 }; - krb5_enc_data enc = { 0 }; + krb5_data data = WINPR_C_ARRAY_INIT; + krb5_enc_data enc = WINPR_C_ARRAY_INIT; size_t elen = 0; krb5_error_code rv = RPC_ENCRYPTION_KEY_to_keyblock(ctx, key, &keyblock); @@ -163,8 +163,8 @@ static krb5_error_code kerb_do_decrypt(krb5_context ctx, const KERB_RPC_ENCRYPTI WINPR_ASSERT(plain); krb5_keyblock* keyblock = NULL; - krb5_data data = { 0 }; - krb5_enc_data enc = { 0 }; + krb5_data data = WINPR_C_ARRAY_INIT; + krb5_enc_data enc = WINPR_C_ARRAY_INIT; krb5_error_code rv = RPC_ENCRYPTION_KEY_to_keyblock(ctx, key, &keyblock); if (rv) @@ -198,7 +198,7 @@ static BOOL rdpear_send_payload(RDPEAR_PLUGIN* rdpear, IWTSVirtualChannelCallbac GENERIC_CHANNEL_CALLBACK* callback = (GENERIC_CHANNEL_CALLBACK*)pChannelCallback; BOOL ret = FALSE; wStream* finalStream = NULL; - SecBuffer cryptedBuffer = { 0 }; + SecBuffer cryptedBuffer = WINPR_C_ARRAY_INIT; wStream* unencodedContent = rdpear_encodePayload(isKerb, payload); if (!unencodedContent) goto out; @@ -307,8 +307,8 @@ static BOOL rdpear_kerb_version(NdrContext* rcontext, wStream* s, UINT32* pstatu static BOOL rdpear_kerb_ComputeTgsChecksum(RDPEAR_PLUGIN* rdpear, NdrContext* rcontext, wStream* s, UINT32* pstatus, KERB_ASN1_DATA* resp) { - ComputeTgsChecksumReq req = { 0 }; - krb5_checksum checksum = { 0 }; + ComputeTgsChecksumReq req = WINPR_C_ARRAY_INIT; + krb5_checksum checksum = WINPR_C_ARRAY_INIT; wStream* asn1Payload = NULL; *pstatus = ERROR_INVALID_DATA; @@ -347,8 +347,8 @@ out: static BOOL rdpear_kerb_BuildEncryptedAuthData(RDPEAR_PLUGIN* rdpear, NdrContext* rcontext, wStream* s, UINT32* pstatus, KERB_ASN1_DATA* asn1) { - BuildEncryptedAuthDataReq req = { 0 }; - krb5_data encrypted = { 0 }; + BuildEncryptedAuthDataReq req = WINPR_C_ARRAY_INIT; + krb5_data encrypted = WINPR_C_ARRAY_INIT; wStream* asn1Payload = NULL; krb5_error_code rv = 0; @@ -400,7 +400,7 @@ static BOOL extractAuthData(const KERB_ASN1_DATA* src, krb5_authdata* authData, WinPrAsn1Decoder_InitMem(&dec, WINPR_ASN1_DER, src->Asn1Buffer, src->Asn1BufferHints.count); BOOL error = FALSE; WinPrAsn1_INTEGER adType = 0; - WinPrAsn1_OctetString os = { 0 }; + WinPrAsn1_OctetString os = WINPR_C_ARRAY_INIT; *haveData = FALSE; if (!WinPrAsn1DecReadSequence(&dec, &dec2)) @@ -472,11 +472,11 @@ static BOOL rdpear_kerb_CreateApReqAuthenticator(RDPEAR_PLUGIN* rdpear, NdrConte { krb5_error_code rv = 0; wStream* asn1EncodedAuth = NULL; - CreateApReqAuthenticatorReq req = { 0 }; - krb5_data authenticator = { 0 }; + CreateApReqAuthenticatorReq req = WINPR_C_ARRAY_INIT; + krb5_data authenticator = WINPR_C_ARRAY_INIT; krb5_data* der = NULL; krb5_keyblock* subkey = NULL; - krb5_principal_data client = { 0 }; + krb5_principal_data client = WINPR_C_ARRAY_INIT; *pstatus = ERROR_INVALID_DATA; WLog_DBG(TAG, "-> CreateApReqAuthenticator"); @@ -485,7 +485,7 @@ static BOOL rdpear_kerb_CreateApReqAuthenticator(RDPEAR_PLUGIN* rdpear, NdrConte !ndr_treat_deferred_read(rcontext, s)) goto out; - krb5_authdata authdata = { 0 }; + krb5_authdata authdata = WINPR_C_ARRAY_INIT; krb5_authdata* authDataPtr[2] = { &authdata, NULL }; BOOL haveData = 0; @@ -631,7 +631,7 @@ static BOOL rdpear_findEncryptedData(const KERB_ASN1_DATA* src, int* penctype, k WinPrAsn1Decoder_InitMem(&dec, WINPR_ASN1_DER, src->Asn1Buffer, src->Asn1BufferHints.count); BOOL error = FALSE; WinPrAsn1_INTEGER encType = 0; - WinPrAsn1_OctetString os = { 0 }; + WinPrAsn1_OctetString os = WINPR_C_ARRAY_INIT; if (!WinPrAsn1DecReadSequence(&dec, &dec2) || !WinPrAsn1DecReadContextualInteger(&dec2, 0, &error, &encType) || @@ -649,7 +649,7 @@ static BOOL rdpear_findEncryptedData(const KERB_ASN1_DATA* src, int* penctype, k static BOOL rdpear_kerb_UnpackKdcReplyBody(RDPEAR_PLUGIN* rdpear, NdrContext* rcontext, wStream* s, UINT32* pstatus, UnpackKdcReplyBodyResp* resp) { - UnpackKdcReplyBodyReq req = { 0 }; + UnpackKdcReplyBodyReq req = WINPR_C_ARRAY_INIT; *pstatus = ERROR_INVALID_DATA; @@ -668,7 +668,7 @@ static BOOL rdpear_kerb_UnpackKdcReplyBody(RDPEAR_PLUGIN* rdpear, NdrContext* rc // winpr_HexDump(TAG, WLOG_DEBUG, req.EncryptedData->Asn1Buffer, // req.EncryptedData->Asn1BufferHints.count); - krb5_data asn1Data = { 0 }; + krb5_data asn1Data = WINPR_C_ARRAY_INIT; int encType = 0; if (!rdpear_findEncryptedData(req.EncryptedData, &encType, &asn1Data) || !asn1Data.length) goto out; @@ -687,7 +687,7 @@ out: static BOOL rdpear_kerb_DecryptApReply(RDPEAR_PLUGIN* rdpear, NdrContext* rcontext, wStream* s, UINT32* pstatus, KERB_ASN1_DATA* resp) { - DecryptApReplyReq req = { 0 }; + DecryptApReplyReq req = WINPR_C_ARRAY_INIT; *pstatus = ERROR_INVALID_DATA; if (!ndr_read_DecryptApReplyReq(rcontext, s, NULL, &req) || @@ -698,7 +698,7 @@ static BOOL rdpear_kerb_DecryptApReply(RDPEAR_PLUGIN* rdpear, NdrContext* rconte // winpr_HexDump(TAG, WLOG_DEBUG, req.EncryptedReply->Asn1Buffer, // req.EncryptedReply->Asn1BufferHints.count); - krb5_data asn1Data = { 0 }; + krb5_data asn1Data = WINPR_C_ARRAY_INIT; int encType = 0; if (!rdpear_findEncryptedData(req.EncryptedReply, &encType, &asn1Data) || !asn1Data.length) goto out; @@ -723,8 +723,8 @@ out: static BOOL rdpear_kerb_PackApReply(RDPEAR_PLUGIN* rdpear, NdrContext* rcontext, wStream* s, UINT32* pstatus, PackApReplyResp* resp) { - PackApReplyReq req = { 0 }; - krb5_data asn1Data = { 0 }; + PackApReplyReq req = WINPR_C_ARRAY_INIT; + krb5_data asn1Data = WINPR_C_ARRAY_INIT; krb5_data* out = NULL; WLog_DBG(TAG, "-> PackApReply"); @@ -780,10 +780,10 @@ static UINT rdpear_decode_payload(RDPEAR_PLUGIN* rdpear, UINT32 status = 0; UINT32 uint32Resp = 0; - KERB_ASN1_DATA asn1Data = { 0 }; - CreateApReqAuthenticatorResp createApReqAuthenticatorResp = { 0 }; - UnpackKdcReplyBodyResp unpackKdcReplyBodyResp = { 0 }; - PackApReplyResp packApReplyResp = { 0 }; + KERB_ASN1_DATA asn1Data = WINPR_C_ARRAY_INIT; + CreateApReqAuthenticatorResp createApReqAuthenticatorResp = WINPR_C_ARRAY_INIT; + UnpackKdcReplyBodyResp unpackKdcReplyBodyResp = WINPR_C_ARRAY_INIT; + PackApReplyResp packApReplyResp = WINPR_C_ARRAY_INIT; void* resp = NULL; NdrMessageType respDescr = NULL; @@ -806,7 +806,7 @@ static UINT rdpear_decode_payload(RDPEAR_PLUGIN* rdpear, } Stream_Seek(s, 16); /* skip first 16 bytes */ - wStream commandStream = { 0 }; + wStream commandStream = WINPR_C_ARRAY_INIT; UINT16 callId = 0; UINT16 callId2 = 0; @@ -967,7 +967,7 @@ static UINT rdpear_on_data_received(IWTSVirtualChannelCallback* pChannelCallback return ERROR_INVALID_DATA; SecBuffer inBuffer = { Length, SECBUFFER_TOKEN, Stream_PointerAs(s, void) }; - SecBuffer decrypted = { 0 }; + SecBuffer decrypted = WINPR_C_ARRAY_INIT; RDPEAR_PLUGIN* rdpear = (RDPEAR_PLUGIN*)callback->plugin; WINPR_ASSERT(rdpear); @@ -976,15 +976,15 @@ static UINT rdpear_on_data_received(IWTSVirtualChannelCallback* pChannelCallback WinPrAsn1Decoder dec = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1Decoder dec2 = { .encoding = WINPR_ASN1_BER, { 0 } }; - wStream decodedStream = { 0 }; + wStream decodedStream = WINPR_C_ARRAY_INIT; Stream_StaticInit(&decodedStream, decrypted.pvBuffer, decrypted.cbBuffer); WinPrAsn1Decoder_Init(&dec, WINPR_ASN1_DER, &decodedStream); if (!WinPrAsn1DecReadSequence(&dec, &dec2)) goto out; - WinPrAsn1_OctetString packageName = { 0 }; - WinPrAsn1_OctetString payload = { 0 }; + WinPrAsn1_OctetString packageName = WINPR_C_ARRAY_INIT; + WinPrAsn1_OctetString payload = WINPR_C_ARRAY_INIT; BOOL error = 0; if (!WinPrAsn1DecReadContextualOctetString(&dec2, 1, &error, &packageName, FALSE)) goto out; @@ -992,7 +992,7 @@ static UINT rdpear_on_data_received(IWTSVirtualChannelCallback* pChannelCallback if (!WinPrAsn1DecReadContextualOctetString(&dec2, 2, &error, &payload, FALSE)) goto out; - wStream payloadStream = { 0 }; + wStream payloadStream = WINPR_C_ARRAY_INIT; Stream_StaticInit(&payloadStream, payload.data, payload.len); ret = rdpear_decode_payload(rdpear, pChannelCallback, &packageName, &payloadStream); diff --git a/channels/rdpear/common/ndr.c b/channels/rdpear/common/ndr.c index ddb15a340..32a4504fa 100644 --- a/channels/rdpear/common/ndr.c +++ b/channels/rdpear/common/ndr.c @@ -278,7 +278,7 @@ BOOL ndr_end_constructed(NdrContext* context, wStream* s) size_t offset = context->constructs[context->constructLevel]; - wStream staticS = { 0 }; + wStream staticS = WINPR_C_ARRAY_INIT; Stream_StaticInit(&staticS, Stream_Buffer(s) + offset, 4); /* len */ @@ -644,7 +644,7 @@ BOOL ndr_struct_read_fromDescr(NdrContext* context, wStream* s, const NdrStructD WINPR_ASSERT(target); #define NDR_MAX_STRUCT_DEFERRED 16 - NdrDeferredEntry deferreds[NDR_MAX_STRUCT_DEFERRED] = { 0 }; + NdrDeferredEntry deferreds[NDR_MAX_STRUCT_DEFERRED] = WINPR_C_ARRAY_INIT; size_t ndeferred = 0; for (size_t i = 0; i < descr->nfields; i++) @@ -719,7 +719,7 @@ BOOL ndr_struct_write_fromDescr(NdrContext* context, wStream* s, const NdrStruct WINPR_ASSERT(descr); WINPR_ASSERT(src); - NdrDeferredEntry deferreds[NDR_MAX_STRUCT_DEFERRED] = { 0 }; + NdrDeferredEntry deferreds[NDR_MAX_STRUCT_DEFERRED] = WINPR_C_ARRAY_INIT; size_t ndeferred = 0; for (size_t i = 0; i < descr->nfields; i++) diff --git a/channels/rdpear/common/test/TestNdrEar.c b/channels/rdpear/common/test/TestNdrEar.c index 6d7dbaa0a..131b0eb44 100644 --- a/channels/rdpear/common/test/TestNdrEar.c +++ b/channels/rdpear/common/test/TestNdrEar.c @@ -150,9 +150,9 @@ static BOOL run_payload(NdrContext* context, const BYTE* payload4, size_t sizeof if (!payload4) return FALSE; - CreateApReqAuthenticatorReq createApReqAuthenticatorReq = { 0 }; + CreateApReqAuthenticatorReq createApReqAuthenticatorReq = WINPR_C_ARRAY_INIT; - wStream staticS = { 0 }; + wStream staticS = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&staticS, payload4, sizeofPayload4); if (!ndr_skip_bytes(context, s, 4)) /* skip union id */ return FALSE; @@ -211,10 +211,10 @@ static int TestNdrEarRead(int argc, char* argv[]) 0x00, 0x00 // (padding) }; - wStream staticS = { 0 }; + wStream staticS = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&staticS, payload, sizeof(payload)); - KERB_ASN1_DATA asn1 = { 0 }; + KERB_ASN1_DATA asn1 = WINPR_C_ARRAY_INIT; if (!ndr_read_KERB_ASN1_DATA(context, s, NULL, &asn1) || !ndr_treat_deferred_read(context, s) || asn1.Asn1BufferHints.count != 2 || *asn1.Asn1Buffer != 0x30) @@ -243,9 +243,9 @@ static int TestNdrEarRead(int argc, char* argv[]) 0x00, 0x00 }; - wStream staticS = { 0 }; + wStream staticS = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&staticS, payload2, sizeof(payload2)); - RPC_UNICODE_STRING unicode = { 0 }; + RPC_UNICODE_STRING unicode = WINPR_C_ARRAY_INIT; if (!ndr_read_RPC_UNICODE_STRING(context, s, NULL, &unicode) || !ndr_treat_deferred_read(context, s)) goto out; @@ -277,9 +277,9 @@ static int TestNdrEarRead(int argc, char* argv[]) 0x00, 0x00 }; - KERB_RPC_INTERNAL_NAME intName = { 0 }; + KERB_RPC_INTERNAL_NAME intName = WINPR_C_ARRAY_INIT; - wStream staticS = { 0 }; + wStream staticS = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&staticS, payload3, sizeof(payload3)); if (!ndr_read_KERB_RPC_INTERNAL_NAME(context, s, NULL, &intName) || !ndr_treat_deferred_read(context, s)) diff --git a/channels/rdpecam/client/camera_device_enum_main.c b/channels/rdpecam/client/camera_device_enum_main.c index d153f12bb..16427b998 100644 --- a/channels/rdpecam/client/camera_device_enum_main.c +++ b/channels/rdpecam/client/camera_device_enum_main.c @@ -474,7 +474,7 @@ static UINT ecam_load_hal_plugin(CameraPlugin* ecam, const char* name, const ADD { WINPR_ASSERT(ecam); - FREERDP_CAMERA_HAL_ENTRY_POINTS entryPoints = { 0 }; + FREERDP_CAMERA_HAL_ENTRY_POINTS entryPoints = WINPR_C_ARRAY_INIT; UINT error = ERROR_INTERNAL_ERROR; union { diff --git a/channels/rdpecam/client/camera_device_main.c b/channels/rdpecam/client/camera_device_main.c index 64dd33d55..c4e241e7d 100644 --- a/channels/rdpecam/client/camera_device_main.c +++ b/channels/rdpecam/client/camera_device_main.c @@ -296,7 +296,7 @@ static UINT ecam_dev_process_start_streams_request(CameraDevice* dev, GENERIC_CHANNEL_CALLBACK* hchannel, wStream* s) { BYTE streamIndex = 0; - CAM_MEDIA_TYPE_DESCRIPTION mediaType = { 0 }; + CAM_MEDIA_TYPE_DESCRIPTION mediaType = WINPR_C_ARRAY_INIT; WINPR_ASSERT(dev); diff --git a/channels/rdpecam/client/encoding.c b/channels/rdpecam/client/encoding.c index ec2709191..54698852a 100644 --- a/channels/rdpecam/client/encoding.c +++ b/channels/rdpecam/client/encoding.c @@ -320,10 +320,10 @@ static BOOL ecam_encoder_compress_h264(CameraDeviceStream* stream, const BYTE* s size_t srcSize, BYTE** ppDstData, size_t* pDstSize) { UINT32 dstSize = 0; - BYTE* srcSlice[4] = { 0 }; - int srcLineSizes[4] = { 0 }; - BYTE* yuvData[3] = { 0 }; - UINT32 yuvLineSizes[3] = { 0 }; + BYTE* srcSlice[4] = WINPR_C_ARRAY_INIT; + int srcLineSizes[4] = WINPR_C_ARRAY_INIT; + BYTE* yuvData[3] = WINPR_C_ARRAY_INIT; + UINT32 yuvLineSizes[3] = WINPR_C_ARRAY_INIT; prim_size_t size = { stream->currMediaType.Width, stream->currMediaType.Height }; CAM_MEDIA_FORMAT inputFormat = streamInputFormat(stream); enum AVPixelFormat pixFormat = AV_PIX_FMT_NONE; diff --git a/channels/rdpecam/client/v4l/camera_v4l.c b/channels/rdpecam/client/v4l/camera_v4l.c index d4faac078..1851145bb 100644 --- a/channels/rdpecam/client/v4l/camera_v4l.c +++ b/channels/rdpecam/client/v4l/camera_v4l.c @@ -104,7 +104,7 @@ static UINT32 ecamToV4L2PixFormat(CAM_MEDIA_FORMAT ecamFormat) */ static BOOL cam_v4l_format_supported(int fd, UINT32 format) { - struct v4l2_fmtdesc fmtdesc = { 0 }; + struct v4l2_fmtdesc fmtdesc = WINPR_C_ARRAY_INIT; fmtdesc.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; for (fmtdesc.index = 0; ioctl(fd, VIDIOC_ENUM_FMT, &fmtdesc) == 0; fmtdesc.index++) @@ -122,9 +122,9 @@ static BOOL cam_v4l_format_supported(int fd, UINT32 format) */ static int cam_v4l_open_device(const char* deviceId, int flags) { - char device[20] = { 0 }; + char device[20] = WINPR_C_ARRAY_INIT; int fd = -1; - struct v4l2_capability cap = { 0 }; + struct v4l2_capability cap = WINPR_C_ARRAY_INIT; if (!deviceId) return -1; @@ -229,7 +229,7 @@ static INT16 cam_v4l_get_media_type_descriptions(ICamHal* ihal, const char* devi } WINPR_ASSERT(pixelFormat != 0); - struct v4l2_frmsizeenum frmsize = { 0 }; + struct v4l2_frmsizeenum frmsize = WINPR_C_ARRAY_INIT; if (!cam_v4l_format_supported(fd, pixelFormat)) continue; @@ -237,7 +237,7 @@ static INT16 cam_v4l_get_media_type_descriptions(ICamHal* ihal, const char* devi frmsize.pixel_format = pixelFormat; for (frmsize.index = 0; ioctl(fd, VIDIOC_ENUM_FRAMESIZES, &frmsize) == 0; frmsize.index++) { - struct v4l2_frmivalenum frmival = { 0 }; + struct v4l2_frmivalenum frmival = WINPR_C_ARRAY_INIT; if (frmsize.type != V4L2_FRMSIZE_TYPE_DISCRETE) break; /* don't support size types other than discrete */ @@ -268,7 +268,7 @@ static INT16 cam_v4l_get_media_type_descriptions(ICamHal* ihal, const char* devi mediaTypes->PixelAspectRatioNumerator = mediaTypes->PixelAspectRatioDenominator = 1; - char fourccstr[5] = { 0 }; + char fourccstr[5] = WINPR_C_ARRAY_INIT; WLog_DBG(TAG, "Camera format: %s, width: %u, height: %u, fps: %u/%u", cam_v4l_get_fourcc_str(pixelFormat, fourccstr, ARRAYSIZE(fourccstr)), mediaTypes->Width, mediaTypes->Height, mediaTypes->FrameRateNumerator, @@ -312,8 +312,8 @@ static UINT cam_v4l_enumerate(WINPR_ATTR_UNUSED ICamHal* ihal, ICamHalEnumCallba for (UINT n = 0; n < 64; n++) { - char device[20] = { 0 }; - struct v4l2_capability cap = { 0 }; + char device[20] = WINPR_C_ARRAY_INIT; + struct v4l2_capability cap = WINPR_C_ARRAY_INIT; (void)_snprintf(device, sizeof(device), "/dev/video%" PRIu32, n); int fd = open(device, O_RDONLY); if (fd == -1) @@ -366,7 +366,7 @@ static void cam_v4l_stream_free_buffers(CamV4lStream* stream) */ static size_t cam_v4l_stream_alloc_buffers(CamV4lStream* stream) { - struct v4l2_requestbuffers rbuffer = { 0 }; + struct v4l2_requestbuffers rbuffer = WINPR_C_ARRAY_INIT; rbuffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; rbuffer.memory = V4L2_MEMORY_MMAP; @@ -374,7 +374,7 @@ static size_t cam_v4l_stream_alloc_buffers(CamV4lStream* stream) if (ioctl(stream->fd, VIDIOC_REQBUFS, &rbuffer) < 0 || rbuffer.count == 0) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Failure in VIDIOC_REQBUFS, errno %s [%d], count %u", winpr_strerror(errno, buffer, sizeof(buffer)), errno, rbuffer.count); return 0; @@ -392,14 +392,14 @@ static size_t cam_v4l_stream_alloc_buffers(CamV4lStream* stream) for (unsigned int i = 0; i < rbuffer.count; i++) { - struct v4l2_buffer vbuffer = { 0 }; + struct v4l2_buffer vbuffer = WINPR_C_ARRAY_INIT; vbuffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; vbuffer.memory = V4L2_MEMORY_MMAP; vbuffer.index = i; if (ioctl(stream->fd, VIDIOC_QUERYBUF, &vbuffer) < 0) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Failure in VIDIOC_QUERYBUF, errno %s [%d]", winpr_strerror(errno, buffer, sizeof(buffer)), errno); cam_v4l_stream_free_buffers(stream); @@ -411,7 +411,7 @@ static size_t cam_v4l_stream_alloc_buffers(CamV4lStream* stream) if (MAP_FAILED == stream->buffers[i].start) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Failure in mmap, errno %s [%d]", winpr_strerror(errno, buffer, sizeof(buffer)), errno); cam_v4l_stream_free_buffers(stream); @@ -424,7 +424,7 @@ static size_t cam_v4l_stream_alloc_buffers(CamV4lStream* stream) if (ioctl(stream->fd, VIDIOC_QBUF, &vbuffer) < 0) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Failure in VIDIOC_QBUF, errno %s [%d]", winpr_strerror(errno, buffer, sizeof(buffer)), errno); cam_v4l_stream_free_buffers(stream); @@ -450,7 +450,7 @@ static DWORD WINAPI cam_v4l_stream_capture_thread(LPVOID param) do { int retVal = 0; - struct pollfd pfd = { 0 }; + struct pollfd pfd = WINPR_C_ARRAY_INIT; pfd.fd = fd; pfd.events = POLLIN; @@ -464,7 +464,7 @@ static DWORD WINAPI cam_v4l_stream_capture_thread(LPVOID param) } else if (retVal < 0) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_DBG(TAG, "Failure in poll, errno %s [%d]", winpr_strerror(errno, buffer, sizeof(buffer)), errno); Sleep(CAM_V4L2_CAPTURE_THREAD_SLEEP_MS); /* trying to recover */ @@ -480,7 +480,7 @@ static DWORD WINAPI cam_v4l_stream_capture_thread(LPVOID param) EnterCriticalSection(&stream->lock); if (stream->streaming) { - struct v4l2_buffer buf = { 0 }; + struct v4l2_buffer buf = WINPR_C_ARRAY_INIT; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_MMAP; @@ -496,7 +496,7 @@ static DWORD WINAPI cam_v4l_stream_capture_thread(LPVOID param) /* enqueue buffer back */ if (ioctl(fd, VIDIOC_QBUF, &buf) == -1) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Failure in VIDIOC_QBUF, errno %s [%d]", winpr_strerror(errno, buffer, sizeof(buffer)), errno); } @@ -572,7 +572,7 @@ CAM_ERROR_CODE cam_v4l_stream_stop(CamV4lStream* stream) enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; if (ioctl(stream->fd, VIDIOC_STREAMOFF, &type) < 0) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Failure in VIDIOC_STREAMOFF, errno %s [%d]", winpr_strerror(errno, buffer, sizeof(buffer)), errno); } @@ -617,7 +617,7 @@ static CAM_ERROR_CODE cam_v4l_stream_start(ICamHal* ihal, CameraDevice* dev, siz return CAM_ERROR_CODE_UnexpectedError; } - struct v4l2_format video_fmt = { 0 }; + struct v4l2_format video_fmt = WINPR_C_ARRAY_INIT; video_fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; UINT32 pixelFormat = 0; @@ -653,7 +653,7 @@ static CAM_ERROR_CODE cam_v4l_stream_start(ICamHal* ihal, CameraDevice* dev, siz /* set format and frame size */ if (ioctl(stream->fd, VIDIOC_S_FMT, &video_fmt) < 0) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Failure in VIDIOC_S_FMT, errno %s [%d]", winpr_strerror(errno, buffer, sizeof(buffer)), errno); cam_v4l_stream_close_device(stream); @@ -661,8 +661,8 @@ static CAM_ERROR_CODE cam_v4l_stream_start(ICamHal* ihal, CameraDevice* dev, siz } /* trying to set frame rate, if driver supports it */ - struct v4l2_streamparm sp1 = { 0 }; - struct v4l2_streamparm sp2 = { 0 }; + struct v4l2_streamparm sp1 = WINPR_C_ARRAY_INIT; + struct v4l2_streamparm sp2 = WINPR_C_ARRAY_INIT; sp1.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; if (ioctl(stream->fd, VIDIOC_G_PARM, &sp1) < 0 || !(sp1.parm.capture.capability & V4L2_CAP_TIMEPERFRAME)) @@ -679,7 +679,7 @@ static CAM_ERROR_CODE cam_v4l_stream_start(ICamHal* ihal, CameraDevice* dev, siz if (ioctl(stream->fd, VIDIOC_S_PARM, &sp2) < 0) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_INFO(TAG, "Failed to set the framerate, errno %s [%d]", winpr_strerror(errno, buffer, sizeof(buffer)), errno); } @@ -699,7 +699,7 @@ static CAM_ERROR_CODE cam_v4l_stream_start(ICamHal* ihal, CameraDevice* dev, siz enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; if (ioctl(stream->fd, VIDIOC_STREAMON, &type) < 0) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Failure in VIDIOC_STREAMON, errno %s [%d]", winpr_strerror(errno, buffer, sizeof(buffer)), errno); cam_v4l_stream_stop(stream); @@ -714,7 +714,7 @@ static CAM_ERROR_CODE cam_v4l_stream_start(ICamHal* ihal, CameraDevice* dev, siz return CAM_ERROR_CODE_OutOfMemory; } - char fourccstr[16] = { 0 }; + char fourccstr[16] = WINPR_C_ARRAY_INIT; if (mediaType->Format == CAM_MEDIA_FORMAT_MJPG_H264) strncpy(fourccstr, "H264 muxed", ARRAYSIZE(fourccstr) - 1); else diff --git a/channels/rdpecam/client/v4l/uvc_h264.c b/channels/rdpecam/client/v4l/uvc_h264.c index 142521a1d..976fc1ec1 100644 --- a/channels/rdpecam/client/v4l/uvc_h264.c +++ b/channels/rdpecam/client/v4l/uvc_h264.c @@ -61,7 +61,7 @@ static uint16_t get_length_xu_control(CamV4lStream* stream, uint8_t unit, uint8_ if (ioctl(stream->fd, UVCIOC_CTRL_QUERY, &xu_ctrl_query) < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "UVCIOC_CTRL_QUERY (GET_LEN) - Error: %s", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); return 0; @@ -94,7 +94,7 @@ static int query_xu_control(CamV4lStream* stream, uint8_t unit, uint8_t selector /*get query data*/ if ((err = ioctl(stream->fd, UVCIOC_CTRL_QUERY, &xu_ctrl_query)) < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "UVCIOC_CTRL_QUERY (%" PRIu8 ") - Error: %s", query, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); } @@ -113,14 +113,14 @@ static int uvcx_video_encoder_reset(CamV4lStream* stream) { WINPR_ASSERT(stream); - uvcx_encoder_reset encoder_reset_req = { 0 }; + uvcx_encoder_reset encoder_reset_req = WINPR_C_ARRAY_INIT; int err = 0; if ((err = query_xu_control(stream, stream->h264UnitId, UVCX_ENCODER_RESET, UVC_SET_CUR, &encoder_reset_req)) < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "UVCX_ENCODER_RESET error: %s", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); } @@ -147,7 +147,7 @@ static int uvcx_video_probe(CamV4lStream* stream, uint8_t query, if ((err = query_xu_control(stream, stream->h264UnitId, UVCX_VIDEO_CONFIG_PROBE, query, uvcx_video_config)) < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "UVCX_VIDEO_CONFIG_PROBE error: %s", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); } @@ -173,7 +173,7 @@ static int uvcx_video_commit(CamV4lStream* stream, if ((err = query_xu_control(stream, stream->h264UnitId, UVCX_VIDEO_CONFIG_COMMIT, UVC_SET_CUR, uvcx_video_config)) < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "UVCX_VIDEO_CONFIG_COMMIT error: %s", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); } @@ -194,7 +194,7 @@ BOOL set_h264_muxed_format(CamV4lStream* stream, const CAM_MEDIA_TYPE_DESCRIPTIO WINPR_ASSERT(stream); WINPR_ASSERT(mediaType); - uvcx_video_config_probe_commit_t config_probe_req = { 0 }; + uvcx_video_config_probe_commit_t config_probe_req = WINPR_C_ARRAY_INIT; int err = 0; /* reset the encoder */ @@ -309,7 +309,7 @@ static BOOL get_devpath_from_device_id(const char* deviceId, char* path, size_t */ static BOOL get_devpath_from_device(libusb_device* device, char* path, size_t size) { - uint8_t ports[MAX_DEVPATH_DEPTH] = { 0 }; + uint8_t ports[MAX_DEVPATH_DEPTH] = WINPR_C_ARRAY_INIT; int nPorts = libusb_get_port_numbers(device, ports, sizeof(ports)); if (nPorts <= 0) @@ -387,7 +387,7 @@ static uint8_t get_guid_unit_id_from_config_descriptor(struct libusb_config_desc */ static uint8_t get_guid_unit_id_from_device(libusb_device* device, const uint8_t* guid) { - struct libusb_device_descriptor ddesc = { 0 }; + struct libusb_device_descriptor ddesc = WINPR_C_ARRAY_INIT; if (libusb_get_device_descriptor(device, &ddesc) != 0) { @@ -430,7 +430,7 @@ static uint8_t get_guid_unit_id_from_device(libusb_device* device, const uint8_t */ static uint8_t get_guid_unit_id(const char* deviceId, const uint8_t* guid) { - char cam_devpath[MAX_DEVPATH_STR_SIZE] = { 0 }; + char cam_devpath[MAX_DEVPATH_STR_SIZE] = WINPR_C_ARRAY_INIT; libusb_context* usb_ctx = NULL; libusb_device** device_list = NULL; uint8_t unit_id = 0; @@ -451,7 +451,7 @@ static uint8_t get_guid_unit_id(const char* deviceId, const uint8_t* guid) for (ssize_t i = 0; i < cnt; i++) { - char path[MAX_DEVPATH_STR_SIZE] = { 0 }; + char path[MAX_DEVPATH_STR_SIZE] = WINPR_C_ARRAY_INIT; libusb_device* device = device_list[i]; if (!device || !get_devpath_from_device(device, path, sizeof(path))) diff --git a/channels/rdpecam/common/rdpecam-utils.h b/channels/rdpecam/common/rdpecam-utils.h index 70f7e6290..f12041e32 100644 --- a/channels/rdpecam/common/rdpecam-utils.h +++ b/channels/rdpecam/common/rdpecam-utils.h @@ -32,7 +32,7 @@ static inline void rdpecam_PrintWarning(wLog* log, const char* file, const char* WINPR_FORMAT_ARG const char* fmt, ...) { const DWORD level = WLOG_WARN; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); if (WLog_IsLevelActive(log, level)) diff --git a/channels/rdpecam/server/camera_device_enumerator_main.c b/channels/rdpecam/server/camera_device_enumerator_main.c index 33ac6b727..e35060cc5 100644 --- a/channels/rdpecam/server/camera_device_enumerator_main.c +++ b/channels/rdpecam/server/camera_device_enumerator_main.c @@ -129,7 +129,7 @@ static UINT enumerator_server_handle_select_version_request(CamDevEnumServerCont WINPR_ATTR_UNUSED wStream* s, const CAM_SHARED_MSG_HEADER* header) { - CAM_SELECT_VERSION_REQUEST pdu = { 0 }; + CAM_SELECT_VERSION_REQUEST pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -264,7 +264,7 @@ static UINT enumerator_process_message(enumerator_server* enumerator) BOOL rc = 0; UINT error = ERROR_INTERNAL_ERROR; ULONG BytesReturned = 0; - CAM_SHARED_MSG_HEADER header = { 0 }; + CAM_SHARED_MSG_HEADER header = WINPR_C_ARRAY_INIT; wStream* s = NULL; WINPR_ASSERT(enumerator); @@ -387,7 +387,7 @@ static HANDLE enumerator_server_get_channel_handle(enumerator_server* enumerator static DWORD WINAPI enumerator_server_thread_func(LPVOID arg) { DWORD nCount = 0; - HANDLE events[2] = { 0 }; + HANDLE events[2] = WINPR_C_ARRAY_INIT; enumerator_server* enumerator = (enumerator_server*)arg; UINT error = CHANNEL_RC_OK; DWORD status = 0; diff --git a/channels/rdpecam/server/camera_device_main.c b/channels/rdpecam/server/camera_device_main.c index 0f799e7f6..331ba89ff 100644 --- a/channels/rdpecam/server/camera_device_main.c +++ b/channels/rdpecam/server/camera_device_main.c @@ -129,7 +129,7 @@ static UINT device_server_handle_success_response(CameraDeviceServerContext* con WINPR_ATTR_UNUSED wStream* s, const CAM_SHARED_MSG_HEADER* header) { - CAM_SUCCESS_RESPONSE pdu = { 0 }; + CAM_SUCCESS_RESPONSE pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -147,7 +147,7 @@ static UINT device_server_handle_success_response(CameraDeviceServerContext* con static UINT device_server_recv_error_response(CameraDeviceServerContext* context, wStream* s, const CAM_SHARED_MSG_HEADER* header) { - CAM_ERROR_RESPONSE pdu = { 0 }; + CAM_ERROR_RESPONSE pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -175,7 +175,7 @@ static UINT device_server_recv_error_response(CameraDeviceServerContext* context static UINT device_server_recv_stream_list_response(CameraDeviceServerContext* context, wStream* s, const CAM_SHARED_MSG_HEADER* header) { - CAM_STREAM_LIST_RESPONSE pdu = { 0 }; + CAM_STREAM_LIST_RESPONSE pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -222,7 +222,7 @@ static UINT device_server_recv_media_type_list_response(CameraDeviceServerContex wStream* s, const CAM_SHARED_MSG_HEADER* header) { - CAM_MEDIA_TYPE_LIST_RESPONSE pdu = { 0 }; + CAM_MEDIA_TYPE_LIST_RESPONSE pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -286,7 +286,7 @@ static UINT device_server_recv_current_media_type_response(CameraDeviceServerCon wStream* s, const CAM_SHARED_MSG_HEADER* header) { - CAM_CURRENT_MEDIA_TYPE_RESPONSE pdu = { 0 }; + CAM_CURRENT_MEDIA_TYPE_RESPONSE pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -327,7 +327,7 @@ static UINT device_server_recv_current_media_type_response(CameraDeviceServerCon static UINT device_server_recv_sample_response(CameraDeviceServerContext* context, wStream* s, const CAM_SHARED_MSG_HEADER* header) { - CAM_SAMPLE_RESPONSE pdu = { 0 }; + CAM_SAMPLE_RESPONSE pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -353,7 +353,7 @@ static UINT device_server_recv_sample_response(CameraDeviceServerContext* contex static UINT device_server_recv_sample_error_response(CameraDeviceServerContext* context, wStream* s, const CAM_SHARED_MSG_HEADER* header) { - CAM_SAMPLE_ERROR_RESPONSE pdu = { 0 }; + CAM_SAMPLE_ERROR_RESPONSE pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -383,7 +383,7 @@ static UINT device_server_recv_property_list_response(CameraDeviceServerContext* wStream* s, const CAM_SHARED_MSG_HEADER* header) { - CAM_PROPERTY_LIST_RESPONSE pdu = { 0 }; + CAM_PROPERTY_LIST_RESPONSE pdu = WINPR_C_ARRAY_INIT; UINT error = ERROR_INVALID_DATA; WINPR_ASSERT(context); @@ -438,7 +438,7 @@ static UINT device_server_recv_property_value_response(CameraDeviceServerContext wStream* s, const CAM_SHARED_MSG_HEADER* header) { - CAM_PROPERTY_VALUE_RESPONSE pdu = { 0 }; + CAM_PROPERTY_VALUE_RESPONSE pdu = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(context); @@ -470,7 +470,7 @@ static UINT device_process_message(device_server* device) BOOL rc = 0; UINT error = ERROR_INTERNAL_ERROR; ULONG BytesReturned = 0; - CAM_SHARED_MSG_HEADER header = { 0 }; + CAM_SHARED_MSG_HEADER header = WINPR_C_ARRAY_INIT; wStream* s = NULL; WINPR_ASSERT(device); @@ -607,7 +607,7 @@ static HANDLE device_server_get_channel_handle(device_server* device) static DWORD WINAPI device_server_thread_func(LPVOID arg) { DWORD nCount = 0; - HANDLE events[2] = { 0 }; + HANDLE events[2] = WINPR_C_ARRAY_INIT; device_server* device = (device_server*)arg; UINT error = CHANNEL_RC_OK; DWORD status = 0; diff --git a/channels/rdpei/client/rdpei_main.c b/channels/rdpei/client/rdpei_main.c index f2561ae94..6a666bc13 100644 --- a/channels/rdpei/client/rdpei_main.c +++ b/channels/rdpei/client/rdpei_main.c @@ -159,8 +159,8 @@ static RDPINPUT_CONTACT_POINT* rdpei_contact(RDPEI_PLUGIN* rdpei, INT32 external */ static UINT rdpei_add_frame(RdpeiClientContext* context) { - RDPINPUT_TOUCH_FRAME frame = { 0 }; - RDPINPUT_CONTACT_DATA contacts[MAX_CONTACTS] = { 0 }; + RDPINPUT_TOUCH_FRAME frame = WINPR_C_ARRAY_INIT; + RDPINPUT_CONTACT_DATA contacts[MAX_CONTACTS] = WINPR_C_ARRAY_INIT; if (!context || !context->handle) return ERROR_INTERNAL_ERROR; @@ -394,8 +394,8 @@ static UINT rdpei_send_pen_frame(RdpeiClientContext* context, RDPINPUT_PEN_FRAME static UINT rdpei_add_pen_frame(RdpeiClientContext* context) { - RDPINPUT_PEN_FRAME penFrame = { 0 }; - RDPINPUT_PEN_CONTACT penContacts[MAX_PEN_CONTACTS] = { 0 }; + RDPINPUT_PEN_FRAME penFrame = WINPR_C_ARRAY_INIT; + RDPINPUT_PEN_CONTACT penContacts[MAX_PEN_CONTACTS] = WINPR_C_ARRAY_INIT; if (!context || !context->handle) return ERROR_INTERNAL_ERROR; @@ -1088,7 +1088,7 @@ static UINT rdpei_touch_process(RdpeiClientContext* context, INT32 externalId, U if (contactIdlocal >= 0) { - RDPINPUT_CONTACT_DATA contact = { 0 }; + RDPINPUT_CONTACT_DATA contact = WINPR_C_ARRAY_INIT; contact.x = x; contact.y = y; contact.contactId = (UINT32)contactIdlocal; @@ -1156,7 +1156,7 @@ static UINT rdpei_touch_begin(RdpeiClientContext* context, INT32 externalId, INT INT32* contactId) { UINT rc = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; rc = rdpei_touch_process(context, externalId, RDPINPUT_CONTACT_FLAG_DOWN | RDPINPUT_CONTACT_FLAG_INRANGE | RDPINPUT_CONTACT_FLAG_INCONTACT, @@ -1173,7 +1173,7 @@ static UINT rdpei_touch_update(RdpeiClientContext* context, INT32 externalId, IN INT32* contactId) { UINT rc = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; rc = rdpei_touch_process(context, externalId, RDPINPUT_CONTACT_FLAG_UPDATE | RDPINPUT_CONTACT_FLAG_INRANGE | RDPINPUT_CONTACT_FLAG_INCONTACT, @@ -1190,7 +1190,7 @@ static UINT rdpei_touch_end(RdpeiClientContext* context, INT32 externalId, INT32 INT32* contactId) { UINT error = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; error = rdpei_touch_process(context, externalId, RDPINPUT_CONTACT_FLAG_UPDATE | RDPINPUT_CONTACT_FLAG_INRANGE | RDPINPUT_CONTACT_FLAG_INCONTACT, @@ -1211,7 +1211,7 @@ static UINT rdpei_touch_cancel(RdpeiClientContext* context, INT32 externalId, IN INT32* contactId) { UINT rc = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; rc = rdpei_touch_process(context, externalId, RDPINPUT_CONTACT_FLAG_UP | RDPINPUT_CONTACT_FLAG_CANCELED, x, y, contactId, 0, ap); @@ -1222,7 +1222,7 @@ static UINT rdpei_touch_raw_event(RdpeiClientContext* context, INT32 externalId, INT32* contactId, UINT32 flags, UINT32 fieldFlags, ...) { UINT rc = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fieldFlags); rc = rdpei_touch_process(context, externalId, flags, x, y, contactId, fieldFlags, ap); va_end(ap); @@ -1314,7 +1314,7 @@ static UINT rdpei_pen_process(RdpeiClientContext* context, INT32 externalId, UIN if (contactPoint != NULL) { - RDPINPUT_PEN_CONTACT contact = { 0 }; + RDPINPUT_PEN_CONTACT contact = WINPR_C_ARRAY_INIT; contact.x = x; contact.y = y; @@ -1365,7 +1365,7 @@ static UINT rdpei_pen_begin(RdpeiClientContext* context, INT32 externalId, UINT3 INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, y); error = rdpei_pen_process(context, externalId, @@ -1386,7 +1386,7 @@ static UINT rdpei_pen_update(RdpeiClientContext* context, INT32 externalId, UINT INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, y); error = rdpei_pen_process(context, externalId, @@ -1406,7 +1406,7 @@ static UINT rdpei_pen_end(RdpeiClientContext* context, INT32 externalId, UINT32 INT32 y, ...) { UINT error = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, y); error = rdpei_pen_process(context, externalId, RDPINPUT_CONTACT_FLAG_UP | RDPINPUT_CONTACT_FLAG_INRANGE, fieldFlags, @@ -1424,7 +1424,7 @@ static UINT rdpei_pen_hover_begin(RdpeiClientContext* context, INT32 externalId, INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, y); error = rdpei_pen_process(context, externalId, @@ -1444,7 +1444,7 @@ static UINT rdpei_pen_hover_update(RdpeiClientContext* context, INT32 externalId INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, y); error = rdpei_pen_process(context, externalId, @@ -1464,7 +1464,7 @@ static UINT rdpei_pen_hover_cancel(RdpeiClientContext* context, INT32 externalId INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, y); error = rdpei_pen_process(context, externalId, @@ -1479,7 +1479,7 @@ static UINT rdpei_pen_raw_event(RdpeiClientContext* context, INT32 externalId, U UINT32 fieldFlags, INT32 x, INT32 y, ...) { UINT error = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, y); error = rdpei_pen_process(context, externalId, contactFlags, fieldFlags, x, y, ap); diff --git a/channels/rdpei/server/rdpei_main.c b/channels/rdpei/server/rdpei_main.c index b07686615..38ab9666c 100644 --- a/channels/rdpei/server/rdpei_main.c +++ b/channels/rdpei/server/rdpei_main.c @@ -168,7 +168,7 @@ static DWORD WINAPI rdpei_server_thread_func(LPVOID arg) { RdpeiServerContext* context = (RdpeiServerContext*)arg; RdpeiServerPrivate* priv = NULL; - HANDLE events[2] = { 0 }; + HANDLE events[2] = WINPR_C_ARRAY_INIT; DWORD nCount = 0; UINT error = CHANNEL_RC_OK; DWORD status = 0; diff --git a/channels/rdpemsc/server/mouse_cursor_main.c b/channels/rdpemsc/server/mouse_cursor_main.c index 451ff2f07..2d256617b 100644 --- a/channels/rdpemsc/server/mouse_cursor_main.c +++ b/channels/rdpemsc/server/mouse_cursor_main.c @@ -369,7 +369,7 @@ static HANDLE mouse_cursor_server_get_channel_handle(mouse_cursor_server* mouse_ static DWORD WINAPI mouse_cursor_server_thread_func(LPVOID arg) { DWORD nCount = 0; - HANDLE events[2] = { 0 }; + HANDLE events[2] = WINPR_C_ARRAY_INIT; mouse_cursor_server* mouse_cursor = (mouse_cursor_server*)arg; UINT error = CHANNEL_RC_OK; DWORD status = 0; diff --git a/channels/rdpgfx/client/rdpgfx_codec.c b/channels/rdpgfx/client/rdpgfx_codec.c index 7d2a2d99e..29fe85d75 100644 --- a/channels/rdpgfx/client/rdpgfx_codec.c +++ b/channels/rdpgfx/client/rdpgfx_codec.c @@ -126,7 +126,7 @@ error_out: static UINT rdpgfx_decode_AVC420(RDPGFX_PLUGIN* gfx, RDPGFX_SURFACE_COMMAND* cmd) { UINT error = 0; - RDPGFX_AVC420_BITMAP_STREAM h264 = { 0 }; + RDPGFX_AVC420_BITMAP_STREAM h264 = WINPR_C_ARRAY_INIT; RdpgfxClientContext* context = gfx->context; wStream* s = Stream_New(cmd->data, cmd->length); @@ -173,7 +173,7 @@ static UINT rdpgfx_decode_AVC444(RDPGFX_PLUGIN* gfx, RDPGFX_SURFACE_COMMAND* cmd size_t pos1 = 0; size_t pos2 = 0; - RDPGFX_AVC444_BITMAP_STREAM h264 = { 0 }; + RDPGFX_AVC444_BITMAP_STREAM h264 = WINPR_C_ARRAY_INIT; RdpgfxClientContext* context = gfx->context; wStream* s = Stream_New(cmd->data, cmd->length); diff --git a/channels/rdpgfx/client/rdpgfx_main.c b/channels/rdpgfx/client/rdpgfx_main.c index e640a6b1f..bdd681e76 100644 --- a/channels/rdpgfx/client/rdpgfx_main.c +++ b/channels/rdpgfx/client/rdpgfx_main.c @@ -50,7 +50,7 @@ static BOOL delete_surface(const void* key, void* value, void* arg) { const UINT16 id = (UINT16)(uintptr_t)(key); RdpgfxClientContext* context = arg; - RDPGFX_DELETE_SURFACE_PDU pdu = { 0 }; + RDPGFX_DELETE_SURFACE_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_UNUSED(value); pdu.surfaceId = id - 1; @@ -82,7 +82,7 @@ static UINT evict_cache_slots(RdpgfxClientContext* context, UINT16 MaxCacheSlots { if (CacheSlots[index]) { - RDPGFX_EVICT_CACHE_ENTRY_PDU pdu = { 0 }; + RDPGFX_EVICT_CACHE_ENTRY_PDU pdu = WINPR_C_ARRAY_INIT; pdu.cacheSlot = index + 1; if (context && context->EvictCacheEntry) @@ -107,7 +107,7 @@ static UINT rdpgfx_send_caps_advertise_pdu(RdpgfxClientContext* context, const RDPGFX_CAPS_ADVERTISE_PDU* pdu) { UINT error = CHANNEL_RC_OK; - RDPGFX_HEADER header = { 0 }; + RDPGFX_HEADER header = WINPR_C_ARRAY_INIT; RDPGFX_PLUGIN* gfx = NULL; GENERIC_CHANNEL_CALLBACK* callback = NULL; wStream* s = NULL; @@ -199,8 +199,8 @@ static UINT rdpgfx_send_supported_caps(GENERIC_CHANNEL_CALLBACK* callback) RDPGFX_PLUGIN* gfx = NULL; RdpgfxClientContext* context = NULL; RDPGFX_CAPSET* capsSet = NULL; - RDPGFX_CAPSET capsSets[RDPGFX_NUMBER_CAPSETS] = { 0 }; - RDPGFX_CAPS_ADVERTISE_PDU pdu = { 0 }; + RDPGFX_CAPSET capsSets[RDPGFX_NUMBER_CAPSETS] = WINPR_C_ARRAY_INIT; + RDPGFX_CAPS_ADVERTISE_PDU pdu = WINPR_C_ARRAY_INIT; if (!callback) return ERROR_BAD_ARGUMENTS; @@ -371,8 +371,8 @@ static UINT rdpgfx_send_supported_caps(GENERIC_CHANNEL_CALLBACK* callback) */ static UINT rdpgfx_recv_caps_confirm_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_CAPSET capsSet = { 0 }; - RDPGFX_CAPS_CONFIRM_PDU pdu = { 0 }; + RDPGFX_CAPSET capsSet = WINPR_C_ARRAY_INIT; + RDPGFX_CAPS_CONFIRM_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; @@ -409,7 +409,7 @@ static UINT rdpgfx_send_frame_acknowledge_pdu(RdpgfxClientContext* context, { UINT error = 0; wStream* s = NULL; - RDPGFX_HEADER header = { 0 }; + RDPGFX_HEADER header = WINPR_C_ARRAY_INIT; RDPGFX_PLUGIN* gfx = NULL; GENERIC_CHANNEL_CALLBACK* callback = NULL; @@ -461,7 +461,7 @@ static UINT rdpgfx_send_qoe_frame_acknowledge_pdu(RdpgfxClientContext* context, { UINT error = 0; wStream* s = NULL; - RDPGFX_HEADER header = { 0 }; + RDPGFX_HEADER header = WINPR_C_ARRAY_INIT; GENERIC_CHANNEL_CALLBACK* callback = NULL; RDPGFX_PLUGIN* gfx = NULL; @@ -513,7 +513,7 @@ fail: */ static UINT rdpgfx_recv_reset_graphics_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_RESET_GRAPHICS_PDU pdu = { 0 }; + RDPGFX_RESET_GRAPHICS_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; @@ -522,7 +522,7 @@ static UINT rdpgfx_recv_reset_graphics_pdu(GENERIC_CHANNEL_CALLBACK* callback, w RdpgfxClientContext* context = gfx->context; UINT error = CHANNEL_RC_OK; - GraphicsResetEventArgs graphicsReset = { 0 }; + GraphicsResetEventArgs graphicsReset = WINPR_C_ARRAY_INIT; if (!Stream_CheckAndLogRequiredLength(TAG, s, 12)) return ERROR_INVALID_DATA; @@ -607,7 +607,7 @@ static UINT rdpgfx_recv_reset_graphics_pdu(GENERIC_CHANNEL_CALLBACK* callback, w */ static UINT rdpgfx_recv_evict_cache_entry_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_EVICT_CACHE_ENTRY_PDU pdu = { 0 }; + RDPGFX_EVICT_CACHE_ENTRY_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -909,7 +909,7 @@ static UINT rdpgfx_load_cache_import_reply(RDPGFX_PLUGIN* gfx, for (int idx = 0; idx < count; idx++) { - PERSISTENT_CACHE_ENTRY entry = { 0 }; + PERSISTENT_CACHE_ENTRY entry = WINPR_C_ARRAY_INIT; if (persistent_cache_read_entry(persistent, &entry) < 1) { error = ERROR_INVALID_DATA; @@ -940,7 +940,7 @@ fail: */ static UINT rdpgfx_recv_cache_import_reply_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_CACHE_IMPORT_REPLY_PDU pdu = { 0 }; + RDPGFX_CACHE_IMPORT_REPLY_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -994,7 +994,7 @@ static UINT rdpgfx_recv_cache_import_reply_pdu(GENERIC_CHANNEL_CALLBACK* callbac */ static UINT rdpgfx_recv_create_surface_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_CREATE_SURFACE_PDU pdu = { 0 }; + RDPGFX_CREATE_SURFACE_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -1042,7 +1042,7 @@ static UINT rdpgfx_recv_create_surface_pdu(GENERIC_CHANNEL_CALLBACK* callback, w */ static UINT rdpgfx_recv_delete_surface_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_DELETE_SURFACE_PDU pdu = { 0 }; + RDPGFX_DELETE_SURFACE_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -1074,7 +1074,7 @@ static UINT rdpgfx_recv_delete_surface_pdu(GENERIC_CHANNEL_CALLBACK* callback, w */ static UINT rdpgfx_recv_start_frame_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_START_FRAME_PDU pdu = { 0 }; + RDPGFX_START_FRAME_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -1110,8 +1110,8 @@ static UINT rdpgfx_recv_start_frame_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStr */ static UINT rdpgfx_recv_end_frame_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_END_FRAME_PDU pdu = { 0 }; - RDPGFX_FRAME_ACKNOWLEDGE_PDU ack = { 0 }; + RDPGFX_END_FRAME_PDU pdu = WINPR_C_ARRAY_INIT; + RDPGFX_FRAME_ACKNOWLEDGE_PDU ack = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -1177,7 +1177,7 @@ static UINT rdpgfx_recv_end_frame_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStrea case RDPGFX_CAPVERSION_107: if (freerdp_settings_get_bool(gfx->rdpcontext->settings, FreeRDP_GfxSendQoeAck)) { - RDPGFX_QOE_FRAME_ACKNOWLEDGE_PDU qoe = { 0 }; + RDPGFX_QOE_FRAME_ACKNOWLEDGE_PDU qoe = WINPR_C_ARRAY_INIT; UINT64 diff = (GetTickCount64() - gfx->StartDecodingTime); if (diff > 65000) @@ -1211,8 +1211,8 @@ static UINT rdpgfx_recv_end_frame_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStrea */ static UINT rdpgfx_recv_wire_to_surface_1_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_SURFACE_COMMAND cmd = { 0 }; - RDPGFX_WIRE_TO_SURFACE_PDU_1 pdu = { 0 }; + RDPGFX_SURFACE_COMMAND cmd = WINPR_C_ARRAY_INIT; + RDPGFX_WIRE_TO_SURFACE_PDU_1 pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; UINT error = 0; @@ -1301,8 +1301,8 @@ static UINT rdpgfx_recv_wire_to_surface_1_pdu(GENERIC_CHANNEL_CALLBACK* callback */ static UINT rdpgfx_recv_wire_to_surface_2_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_SURFACE_COMMAND cmd = { 0 }; - RDPGFX_WIRE_TO_SURFACE_PDU_2 pdu = { 0 }; + RDPGFX_SURFACE_COMMAND cmd = WINPR_C_ARRAY_INIT; + RDPGFX_WIRE_TO_SURFACE_PDU_2 pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -1375,7 +1375,7 @@ static UINT rdpgfx_recv_wire_to_surface_2_pdu(GENERIC_CHANNEL_CALLBACK* callback */ static UINT rdpgfx_recv_delete_encoding_context_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_DELETE_ENCODING_CONTEXT_PDU pdu = { 0 }; + RDPGFX_DELETE_ENCODING_CONTEXT_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -1412,7 +1412,7 @@ static UINT rdpgfx_recv_delete_encoding_context_pdu(GENERIC_CHANNEL_CALLBACK* ca static UINT rdpgfx_recv_solid_fill_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { RECTANGLE_16* fillRect = NULL; - RDPGFX_SOLID_FILL_PDU pdu = { 0 }; + RDPGFX_SOLID_FILL_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -1480,7 +1480,7 @@ static UINT rdpgfx_recv_solid_fill_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStre static UINT rdpgfx_recv_surface_to_surface_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { RDPGFX_POINT16* destPt = NULL; - RDPGFX_SURFACE_TO_SURFACE_PDU pdu = { 0 }; + RDPGFX_SURFACE_TO_SURFACE_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -1553,7 +1553,7 @@ static UINT rdpgfx_recv_surface_to_surface_pdu(GENERIC_CHANNEL_CALLBACK* callbac */ static UINT rdpgfx_recv_surface_to_cache_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_SURFACE_TO_CACHE_PDU pdu = { 0 }; + RDPGFX_SURFACE_TO_CACHE_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; @@ -1602,7 +1602,7 @@ static UINT rdpgfx_recv_surface_to_cache_pdu(GENERIC_CHANNEL_CALLBACK* callback, static UINT rdpgfx_recv_cache_to_surface_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { RDPGFX_POINT16* destPt = NULL; - RDPGFX_CACHE_TO_SURFACE_PDU pdu = { 0 }; + RDPGFX_CACHE_TO_SURFACE_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; @@ -1666,7 +1666,7 @@ static UINT rdpgfx_recv_cache_to_surface_pdu(GENERIC_CHANNEL_CALLBACK* callback, */ static UINT rdpgfx_recv_map_surface_to_output_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_MAP_SURFACE_TO_OUTPUT_PDU pdu = { 0 }; + RDPGFX_MAP_SURFACE_TO_OUTPUT_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; @@ -1701,7 +1701,7 @@ static UINT rdpgfx_recv_map_surface_to_output_pdu(GENERIC_CHANNEL_CALLBACK* call static UINT rdpgfx_recv_map_surface_to_scaled_output_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_MAP_SURFACE_TO_SCALED_OUTPUT_PDU pdu = { 0 }; + RDPGFX_MAP_SURFACE_TO_SCALED_OUTPUT_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; @@ -1743,7 +1743,7 @@ static UINT rdpgfx_recv_map_surface_to_scaled_output_pdu(GENERIC_CHANNEL_CALLBAC */ static UINT rdpgfx_recv_map_surface_to_window_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_MAP_SURFACE_TO_WINDOW_PDU pdu = { 0 }; + RDPGFX_MAP_SURFACE_TO_WINDOW_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; @@ -1778,7 +1778,7 @@ static UINT rdpgfx_recv_map_surface_to_window_pdu(GENERIC_CHANNEL_CALLBACK* call static UINT rdpgfx_recv_map_surface_to_scaled_window_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { - RDPGFX_MAP_SURFACE_TO_SCALED_WINDOW_PDU pdu = { 0 }; + RDPGFX_MAP_SURFACE_TO_SCALED_WINDOW_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; WINPR_ASSERT(gfx); @@ -1821,7 +1821,7 @@ static UINT rdpgfx_recv_map_surface_to_scaled_window_pdu(GENERIC_CHANNEL_CALLBAC static UINT rdpgfx_recv_pdu(GENERIC_CHANNEL_CALLBACK* callback, wStream* s) { size_t end = 0; - RDPGFX_HEADER header = { 0 }; + RDPGFX_HEADER header = WINPR_C_ARRAY_INIT; UINT error = 0; WINPR_ASSERT(callback); RDPGFX_PLUGIN* gfx = (RDPGFX_PLUGIN*)callback->plugin; @@ -2044,7 +2044,7 @@ static UINT rdpgfx_on_data_received(IWTSVirtualChannelCallback* pChannelCallback return ERROR_INTERNAL_ERROR; } - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, pDstData, DstSize); if (!s) diff --git a/channels/rdpgfx/server/rdpgfx_main.c b/channels/rdpgfx/server/rdpgfx_main.c index b7abb03ff..18817c654 100644 --- a/channels/rdpgfx/server/rdpgfx_main.c +++ b/channels/rdpgfx/server/rdpgfx_main.c @@ -382,7 +382,7 @@ rdpgfx_process_cache_import_offer_pdu(RdpgfxServerContext* context, WINPR_ASSERT(context); WINPR_ASSERT(cacheImportOffer); - RDPGFX_CACHE_IMPORT_REPLY_PDU reply = { 0 }; + RDPGFX_CACHE_IMPORT_REPLY_PDU reply = WINPR_C_ARRAY_INIT; WLog_DBG(TAG, "received %" PRIu16 " entries, reply with %" PRIu16 " entries", cacheImportOffer->cacheEntriesCount, reply.importedEntriesCount); return IFCALLRESULT(CHANNEL_RC_OK, context->CacheImportReply, context, &reply); @@ -1241,7 +1241,7 @@ static UINT rdpgfx_recv_cache_import_offer_pdu(RdpgfxServerContext* context, wSt if (!checkCapsAreExchanged(context)) return CHANNEL_RC_NOT_INITIALIZED; - RDPGFX_CACHE_IMPORT_OFFER_PDU pdu = { 0 }; + RDPGFX_CACHE_IMPORT_OFFER_PDU pdu = WINPR_C_ARRAY_INIT; RDPGFX_CACHE_ENTRY_METADATA* cacheEntry = NULL; UINT error = CHANNEL_RC_OK; @@ -1289,7 +1289,7 @@ static UINT rdpgfx_recv_cache_import_offer_pdu(RdpgfxServerContext* context, wSt static UINT rdpgfx_recv_caps_advertise_pdu(RdpgfxServerContext* context, wStream* s) { RDPGFX_CAPSET* capsSets = NULL; - RDPGFX_CAPS_ADVERTISE_PDU pdu = { 0 }; + RDPGFX_CAPS_ADVERTISE_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = ERROR_INVALID_DATA; if (!context) @@ -1497,7 +1497,7 @@ static DWORD WINAPI rdpgfx_server_thread_func(LPVOID arg) RdpgfxServerPrivate* priv = context->priv; DWORD status = 0; DWORD nCount = 0; - HANDLE events[8] = { 0 }; + HANDLE events[8] = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; WINPR_ASSERT(priv); @@ -1612,7 +1612,7 @@ static BOOL rdpgfx_server_open(RdpgfxServerContext* context) } priv->isReady = FALSE; - const RDPGFX_CAPSET empty = { 0 }; + const RDPGFX_CAPSET empty = WINPR_C_ARRAY_INIT; priv->activeCapSet = empty; if (priv->ownThread) { @@ -1676,7 +1676,7 @@ BOOL rdpgfx_server_close(RdpgfxServerContext* context) priv->channelEvent = NULL; priv->isOpened = FALSE; priv->isReady = FALSE; - const RDPGFX_CAPSET empty = { 0 }; + const RDPGFX_CAPSET empty = WINPR_C_ARRAY_INIT; priv->activeCapSet = empty; return TRUE; } @@ -1762,7 +1762,7 @@ RdpgfxServerContext* rdpgfx_server_context_new(HANDLE vcm) priv->ownThread = TRUE; { - const RDPGFX_CAPSET empty = { 0 }; + const RDPGFX_CAPSET empty = WINPR_C_ARRAY_INIT; priv->activeCapSet = empty; } diff --git a/channels/rdpsnd/client/ios/rdpsnd_ios.c b/channels/rdpsnd/client/ios/rdpsnd_ios.c index c3e17ece6..d259867d9 100644 --- a/channels/rdpsnd/client/ios/rdpsnd_ios.c +++ b/channels/rdpsnd/client/ios/rdpsnd_ios.c @@ -170,7 +170,7 @@ static BOOL rdpsnd_ios_open(rdpsndDevicePlugin* device, const AUDIO_FORMAT* form return FALSE; /* Set the format for the AudioUnit. */ - AudioStreamBasicDescription audioFormat = { 0 }; + AudioStreamBasicDescription audioFormat = WINPR_C_ARRAY_INIT; audioFormat.mSampleRate = format->nSamplesPerSec; audioFormat.mFormatID = kAudioFormatLinearPCM; audioFormat.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked; @@ -190,7 +190,7 @@ static BOOL rdpsnd_ios_open(rdpsndDevicePlugin* device, const AUDIO_FORMAT* form } /* Set up the AudioUnit callback. */ - AURenderCallbackStruct callbackStruct = { 0 }; + AURenderCallbackStruct callbackStruct = WINPR_C_ARRAY_INIT; callbackStruct.inputProc = rdpsnd_ios_render_cb; callbackStruct.inputProcRefCon = p; status = diff --git a/channels/rdpsnd/client/oss/rdpsnd_oss.c b/channels/rdpsnd/client/oss/rdpsnd_oss.c index aaa2c0e84..b89b45e5b 100644 --- a/channels/rdpsnd/client/oss/rdpsnd_oss.c +++ b/channels/rdpsnd/client/oss/rdpsnd_oss.c @@ -65,7 +65,7 @@ typedef struct { \ if ((_error) != 0) \ { \ - char ebuffer[256] = { 0 }; \ + char ebuffer[256] = WINPR_C_ARRAY_INIT; \ WLog_ERR(TAG, "%s: %i - %s", (_text), (_error), \ winpr_strerror((_error), ebuffer, sizeof(ebuffer))); \ } \ diff --git a/channels/rdpsnd/client/pulse/rdpsnd_pulse.c b/channels/rdpsnd/client/pulse/rdpsnd_pulse.c index 5c879aa3b..8a0c71806 100644 --- a/channels/rdpsnd/client/pulse/rdpsnd_pulse.c +++ b/channels/rdpsnd/client/pulse/rdpsnd_pulse.c @@ -364,8 +364,8 @@ static BOOL rdpsnd_pulse_open_stream(rdpsndDevicePlugin* device) { pa_stream_state_t state = PA_STREAM_FAILED; int flags = PA_STREAM_NOFLAGS; - pa_buffer_attr buffer_attr = { 0 }; - char ss[PA_SAMPLE_SPEC_SNPRINT_MAX] = { 0 }; + pa_buffer_attr buffer_attr = WINPR_C_ARRAY_INIT; + char ss[PA_SAMPLE_SPEC_SNPRINT_MAX] = WINPR_C_ARRAY_INIT; rdpsndPulsePlugin* pulse = (rdpsndPulsePlugin*)device; WINPR_ASSERT(pulse); @@ -577,7 +577,7 @@ static void rdpsnd_set_volume_success_cb(pa_context* c, int success, void* userd static BOOL rdpsnd_pulse_set_volume(rdpsndDevicePlugin* device, UINT32 value) { - pa_cvolume cv = { 0 }; + pa_cvolume cv = WINPR_C_ARRAY_INIT; pa_volume_t left = 0; pa_volume_t right = 0; pa_operation* operation = NULL; diff --git a/channels/rdpsnd/client/rdpsnd_main.c b/channels/rdpsnd/client/rdpsnd_main.c index 5a1edaea6..964bb706e 100644 --- a/channels/rdpsnd/client/rdpsnd_main.c +++ b/channels/rdpsnd/client/rdpsnd_main.c @@ -852,7 +852,7 @@ static void rdpsnd_register_device_plugin(rdpsndPlugin* rdpsnd, rdpsndDevicePlug static UINT rdpsnd_load_device_plugin(rdpsndPlugin* rdpsnd, const char* name, const ADDIN_ARGV* args) { - FREERDP_RDPSND_DEVICE_ENTRY_POINTS entryPoints = { 0 }; + FREERDP_RDPSND_DEVICE_ENTRY_POINTS entryPoints = WINPR_C_ARRAY_INIT; UINT error = 0; DWORD flags = FREERDP_ADDIN_CHANNEL_STATIC | FREERDP_ADDIN_CHANNEL_ENTRYEX; if (rdpsnd->dynamic) @@ -1406,7 +1406,7 @@ static BOOL allocate_internals(rdpsndPlugin* rdpsnd) { if (!rdpsnd->queue) { - wObject obj = { 0 }; + wObject obj = WINPR_C_ARRAY_INIT; obj.fnObjectFree = queue_free; rdpsnd->queue = MessageQueue_New(&obj); @@ -1438,11 +1438,11 @@ static DWORD WINAPI play_thread(LPVOID arg) while (TRUE) { int rc = -1; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; wStream* s = NULL; DWORD status = 0; DWORD nCount = 0; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; handles[nCount++] = MessageQueue_Event(rdpsnd->queue); handles[nCount++] = freerdp_abort_event(rdpsnd->rdpcontext); diff --git a/channels/rdpsnd/server/rdpsnd_main.c b/channels/rdpsnd/server/rdpsnd_main.c index fa8b285a8..7997f227d 100644 --- a/channels/rdpsnd/server/rdpsnd_main.c +++ b/channels/rdpsnd/server/rdpsnd_main.c @@ -266,7 +266,7 @@ static DWORD WINAPI rdpsnd_server_thread(LPVOID arg) { DWORD nCount = 0; DWORD status = 0; - HANDLE events[2] = { 0 }; + HANDLE events[2] = WINPR_C_ARRAY_INIT; RdpsndServerContext* context = (RdpsndServerContext*)arg; UINT error = CHANNEL_RC_OK; diff --git a/channels/remdesk/client/remdesk_main.c b/channels/remdesk/client/remdesk_main.c index a6559e88a..3cc96ab67 100644 --- a/channels/remdesk/client/remdesk_main.c +++ b/channels/remdesk/client/remdesk_main.c @@ -182,7 +182,7 @@ static UINT remdesk_recv_ctl_version_info_pdu(remdeskPlugin* remdesk, wStream* s */ static UINT remdesk_send_ctl_version_info_pdu(remdeskPlugin* remdesk) { - REMDESK_CTL_VERSION_INFO_PDU pdu = { 0 }; + REMDESK_CTL_VERSION_INFO_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(remdesk); @@ -262,7 +262,7 @@ static UINT remdesk_send_ctl_authenticate_pdu(remdeskPlugin* remdesk) size_t cbExpertBlobW = 0; WCHAR* expertBlobW = NULL; size_t cbRaConnectionStringW = 0; - REMDESK_CTL_HEADER ctlHeader = { 0 }; + REMDESK_CTL_HEADER ctlHeader = WINPR_C_ARRAY_INIT; WINPR_ASSERT(remdesk); @@ -352,7 +352,7 @@ static UINT remdesk_send_ctl_remote_control_desktop_pdu(remdeskPlugin* remdesk) if (!raConnectionStringW) return ERROR_INTERNAL_ERROR; - REMDESK_CTL_HEADER ctlHeader = { 0 }; + REMDESK_CTL_HEADER ctlHeader = WINPR_C_ARRAY_INIT; error = remdesk_prepare_ctl_header(&ctlHeader, REMDESK_CTL_REMOTE_CONTROL_DESKTOP, cbRaConnectionStringW); if (error != CHANNEL_RC_OK) @@ -395,7 +395,7 @@ out: static UINT remdesk_send_ctl_verify_password_pdu(remdeskPlugin* remdesk) { size_t cbExpertBlobW = 0; - REMDESK_CTL_VERIFY_PASSWORD_PDU pdu = { 0 }; + REMDESK_CTL_VERIFY_PASSWORD_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(remdesk); @@ -456,7 +456,7 @@ out: */ static UINT remdesk_send_ctl_expert_on_vista_pdu(remdeskPlugin* remdesk) { - REMDESK_CTL_EXPERT_ON_VISTA_PDU pdu = { 0 }; + REMDESK_CTL_EXPERT_ON_VISTA_PDU pdu = WINPR_C_ARRAY_INIT; WINPR_ASSERT(remdesk); @@ -790,7 +790,7 @@ static VOID VCAPITYPE remdesk_virtual_channel_open_event_ex(LPVOID lpUserParam, static DWORD WINAPI remdesk_virtual_channel_client_thread(LPVOID arg) { wStream* data = NULL; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; remdeskPlugin* remdesk = (remdeskPlugin*)arg; UINT error = CHANNEL_RC_OK; diff --git a/channels/remdesk/common/remdesk_common.c b/channels/remdesk/common/remdesk_common.c index 1907fb03d..1d3eb1863 100644 --- a/channels/remdesk/common/remdesk_common.c +++ b/channels/remdesk/common/remdesk_common.c @@ -25,7 +25,7 @@ UINT remdesk_write_channel_header(wStream* s, const REMDESK_CHANNEL_HEADER* header) { - WCHAR ChannelNameW[32] = { 0 }; + WCHAR ChannelNameW[32] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(s); WINPR_ASSERT(header); diff --git a/channels/remdesk/server/remdesk_main.c b/channels/remdesk/server/remdesk_main.c index 0189c31ec..1f89a4536 100644 --- a/channels/remdesk/server/remdesk_main.c +++ b/channels/remdesk/server/remdesk_main.c @@ -169,7 +169,7 @@ static UINT remdesk_recv_ctl_remote_control_desktop_pdu(RemdeskServerContext* co REMDESK_CHANNEL_HEADER* header) { size_t cchStringW = 0; - REMDESK_CTL_REMOTE_CONTROL_DESKTOP_PDU pdu = { 0 }; + REMDESK_CTL_REMOTE_CONTROL_DESKTOP_PDU pdu = WINPR_C_ARRAY_INIT; UINT error = 0; UINT32 msgLength = header->DataLength - 4; const WCHAR* pStringW = Stream_ConstPointer(s); @@ -210,7 +210,7 @@ static UINT remdesk_recv_ctl_authenticate_pdu(WINPR_ATTR_UNUSED RemdeskServerCon { size_t cchTmpStringW = 0; const WCHAR* expertBlobW = NULL; - REMDESK_CTL_AUTHENTICATE_PDU pdu = { 0 }; + REMDESK_CTL_AUTHENTICATE_PDU pdu = WINPR_C_ARRAY_INIT; UINT32 msgLength = header->DataLength - 4; const WCHAR* pStringW = Stream_ConstPointer(s); const WCHAR* raConnectionStringW = pStringW; @@ -267,7 +267,7 @@ static UINT remdesk_recv_ctl_authenticate_pdu(WINPR_ATTR_UNUSED RemdeskServerCon static UINT remdesk_recv_ctl_verify_password_pdu(RemdeskServerContext* context, wStream* s, REMDESK_CHANNEL_HEADER* header) { - REMDESK_CTL_VERIFY_PASSWORD_PDU pdu = { 0 }; + REMDESK_CTL_VERIFY_PASSWORD_PDU pdu = WINPR_C_ARRAY_INIT; if (!Stream_CheckAndLogRequiredLength(TAG, s, 8)) return ERROR_INVALID_DATA; @@ -427,7 +427,7 @@ static UINT remdesk_server_receive_pdu(RemdeskServerContext* context, wStream* s static DWORD WINAPI remdesk_server_thread(LPVOID arg) { void* buffer = NULL; - HANDLE events[8] = { 0 }; + HANDLE events[8] = WINPR_C_ARRAY_INIT; HANDLE ChannelEvent = NULL; DWORD BytesReturned = 0; UINT error = 0; diff --git a/channels/serial/client/serial_main.c b/channels/serial/client/serial_main.c index 26ef61180..a492cd3b3 100644 --- a/channels/serial/client/serial_main.c +++ b/channels/serial/client/serial_main.c @@ -719,7 +719,7 @@ error_handle: static DWORD WINAPI serial_thread_func(LPVOID arg) { IRP* irp = NULL; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; SERIAL_DEVICE* serial = (SERIAL_DEVICE*)arg; UINT error = CHANNEL_RC_OK; diff --git a/channels/smartcard/client/smartcard_main.c b/channels/smartcard/client/smartcard_main.c index 1e9327e9e..1038f160d 100644 --- a/channels/smartcard/client/smartcard_main.c +++ b/channels/smartcard/client/smartcard_main.c @@ -75,8 +75,8 @@ static DWORD WINAPI smartcard_context_thread(LPVOID arg) SMARTCARD_CONTEXT* pContext = (SMARTCARD_CONTEXT*)arg; DWORD nCount = 0; DWORD waitStatus = 0; - HANDLE hEvents[2] = { 0 }; - wMessage message = { 0 }; + HANDLE hEvents[2] = WINPR_C_ARRAY_INIT; + wMessage message = WINPR_C_ARRAY_INIT; SMARTCARD_DEVICE* smartcard = NULL; UINT error = CHANNEL_RC_OK; smartcard = pContext->smartcard; @@ -520,8 +520,8 @@ static DWORD WINAPI smartcard_thread_func(LPVOID arg) IRP* irp = NULL; DWORD nCount = 0; DWORD status = 0; - HANDLE hEvents[1] = { 0 }; - wMessage message = { 0 }; + HANDLE hEvents[1] = WINPR_C_ARRAY_INIT; + wMessage message = WINPR_C_ARRAY_INIT; UINT error = CHANNEL_RC_OK; SMARTCARD_DEVICE* smartcard = CAST_FROM_DEVICE(arg); diff --git a/channels/sshagent/client/sshagent_main.c b/channels/sshagent/client/sshagent_main.c index 28025c262..3f0880b42 100644 --- a/channels/sshagent/client/sshagent_main.c +++ b/channels/sshagent/client/sshagent_main.c @@ -107,7 +107,7 @@ static int connect_to_sshagent(const char* udspath) return -1; } - struct sockaddr_un addr = { 0 }; + struct sockaddr_un addr = WINPR_C_ARRAY_INIT; addr.sun_family = AF_UNIX; @@ -136,7 +136,7 @@ static DWORD WINAPI sshagent_read_thread(LPVOID data) SSHAGENT_CHANNEL_CALLBACK* callback = (SSHAGENT_CHANNEL_CALLBACK*)data; WINPR_ASSERT(callback); - BYTE buffer[4096] = { 0 }; + BYTE buffer[4096] = WINPR_C_ARRAY_INIT; int going = 1; UINT status = CHANNEL_RC_OK; diff --git a/channels/telemetry/server/telemetry_main.c b/channels/telemetry/server/telemetry_main.c index 9be00f209..387412313 100644 --- a/channels/telemetry/server/telemetry_main.c +++ b/channels/telemetry/server/telemetry_main.c @@ -257,7 +257,7 @@ static HANDLE telemetry_server_get_channel_handle(telemetry_server* telemetry) static DWORD WINAPI telemetry_server_thread_func(LPVOID arg) { DWORD nCount = 0; - HANDLE events[2] = { 0 }; + HANDLE events[2] = WINPR_C_ARRAY_INIT; telemetry_server* telemetry = (telemetry_server*)arg; UINT error = CHANNEL_RC_OK; DWORD status = 0; diff --git a/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c b/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c index 22c55d742..e10bdd1e0 100644 --- a/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c +++ b/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c @@ -389,7 +389,7 @@ static BOOL tsmf_ffmpeg_decode_video(ITSMFDecoder* decoder, const BYTE* data, UI len = avcodec_decode_video(mdecoder->codec_context, mdecoder->frame, &decoded, data, data_size); #else { - AVPacket pkt = { 0 }; + AVPacket pkt = WINPR_C_ARRAY_INIT; #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 133, 100) av_init_packet(&pkt); #endif @@ -448,7 +448,7 @@ static BOOL tsmf_ffmpeg_decode_video(ITSMFDecoder* decoder, const BYTE* data, UI mdecoder->codec_context->pix_fmt, mdecoder->codec_context->width, mdecoder->codec_context->height, 1); - const uint8_t* ptr[AV_NUM_DATA_POINTERS] = { 0 }; + const uint8_t* ptr[AV_NUM_DATA_POINTERS] = WINPR_C_ARRAY_INIT; for (size_t x = 0; x < AV_NUM_DATA_POINTERS; x++) ptr[x] = mdecoder->frame->data[x]; @@ -521,7 +521,7 @@ static BOOL tsmf_ffmpeg_decode_audio(ITSMFDecoder* decoder, const BYTE* data, UI AVFrame* decoded_frame = av_frame_alloc(); #endif int got_frame = 0; - AVPacket pkt = { 0 }; + AVPacket pkt = WINPR_C_ARRAY_INIT; #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 133, 100) av_init_packet(&pkt); #endif diff --git a/channels/tsmf/client/gstreamer/tsmf_X11.c b/channels/tsmf/client/gstreamer/tsmf_X11.c index 987e69b28..f0b7391c1 100644 --- a/channels/tsmf/client/gstreamer/tsmf_X11.c +++ b/channels/tsmf/client/gstreamer/tsmf_X11.c @@ -188,7 +188,7 @@ int tsmf_platform_create(TSMFGstreamerDecoder* decoder) hdl->shmid = shm_open(get_shm_id(), (O_RDWR | O_CREAT), (PROT_READ | PROT_WRITE)); if (hdl->shmid == -1) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "failed to get access to shared memory - shmget(%s): %i - %s", get_shm_id(), errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); return -2; diff --git a/channels/tsmf/client/oss/tsmf_oss.c b/channels/tsmf/client/oss/tsmf_oss.c index 874a02fdf..bf137c5ad 100644 --- a/channels/tsmf/client/oss/tsmf_oss.c +++ b/channels/tsmf/client/oss/tsmf_oss.c @@ -62,7 +62,7 @@ typedef struct { \ if ((_error) != 0) \ { \ - char ebuffer[256] = { 0 }; \ + char ebuffer[256] = WINPR_C_ARRAY_INIT; \ WLog_ERR(TAG, "%s: %i - %s", (_text), (_error), \ winpr_strerror((_error), ebuffer, sizeof(ebuffer))); \ } \ diff --git a/channels/tsmf/client/pulse/tsmf_pulse.c b/channels/tsmf/client/pulse/tsmf_pulse.c index 6858d83ef..bc1943eed 100644 --- a/channels/tsmf/client/pulse/tsmf_pulse.c +++ b/channels/tsmf/client/pulse/tsmf_pulse.c @@ -230,7 +230,7 @@ static BOOL tsmf_pulse_close_stream(TSMFPulseAudioDevice* pulse) static BOOL tsmf_pulse_open_stream(TSMFPulseAudioDevice* pulse) { pa_stream_state_t state = PA_STREAM_FAILED; - pa_buffer_attr buffer_attr = { 0 }; + pa_buffer_attr buffer_attr = WINPR_C_ARRAY_INIT; if (!pulse->context) return FALSE; diff --git a/channels/tsmf/client/tsmf_main.c b/channels/tsmf/client/tsmf_main.c index 033184556..a60940edf 100644 --- a/channels/tsmf/client/tsmf_main.c +++ b/channels/tsmf/client/tsmf_main.c @@ -130,7 +130,7 @@ static UINT tsmf_on_data_received(IWTSVirtualChannelCallback* pChannelCallback, wStream* output = NULL; UINT error = CHANNEL_RC_OK; BOOL processed = FALSE; - TSMF_IFMAN ifman = { 0 }; + TSMF_IFMAN ifman = WINPR_C_ARRAY_INIT; UINT32 MessageId = 0; UINT32 FunctionId = 0; UINT32 InterfaceId = 0; diff --git a/channels/tsmf/client/tsmf_media.c b/channels/tsmf/client/tsmf_media.c index 8cb3ea614..c24b8328b 100644 --- a/channels/tsmf/client/tsmf_media.c +++ b/channels/tsmf/client/tsmf_media.c @@ -387,7 +387,7 @@ static char* guid_to_string(const BYTE* guid, char* str, size_t len) TSMF_PRESENTATION* tsmf_presentation_find_by_id(const BYTE* guid) { BOOL found = FALSE; - char guid_str[GUID_SIZE * 2ull + 1] = { 0 }; + char guid_str[GUID_SIZE * 2ull + 1] = WINPR_C_ARRAY_INIT; TSMF_PRESENTATION* presentation = NULL; ArrayList_Lock(presentation_list); const size_t count = ArrayList_Count(presentation_list); @@ -460,7 +460,7 @@ static BOOL tsmf_sample_playback_video(TSMF_SAMPLE* sample) stream->next_start_time = t + sample->duration - 50000; - TSMF_VIDEO_FRAME_EVENT event = { 0 }; + TSMF_VIDEO_FRAME_EVENT event = WINPR_C_ARRAY_INIT; event.frameData = sample->data; event.frameSize = sample->decoded_size; event.framePixFmt = sample->pixfmt; diff --git a/channels/urbdrc/client/data_transfer.c b/channels/urbdrc/client/data_transfer.c index 748e0e3a1..c9531bcd1 100644 --- a/channels/urbdrc/client/data_transfer.c +++ b/channels/urbdrc/client/data_transfer.c @@ -431,7 +431,7 @@ static UINT urbdrc_process_query_device_text(IUDEVICE* pdev, GENERIC_CHANNEL_CAL UINT32 TextType = 0; UINT32 LocaleId = 0; UINT8 bufferSize = 0xFF; - BYTE DeviceDescription[0x100] = { 0 }; + BYTE DeviceDescription[0x100] = WINPR_C_ARRAY_INIT; if (!pdev || !callback || !s || !udevman) return ERROR_INVALID_PARAMETER; diff --git a/channels/urbdrc/client/libusb/libusb_udevice.c b/channels/urbdrc/client/libusb/libusb_udevice.c index 2491bf7e1..81297de52 100644 --- a/channels/urbdrc/client/libusb/libusb_udevice.c +++ b/channels/urbdrc/client/libusb/libusb_udevice.c @@ -141,8 +141,8 @@ static BOOL log_libusb_result_(wLog* log, DWORD lvl, WINPR_FORMAT_ARG const char if (error < 0) { - char buffer[8192] = { 0 }; - va_list ap = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, error); (void)vsnprintf(buffer, sizeof(buffer), fmt, ap); va_end(ap); @@ -860,7 +860,7 @@ static UINT32 libusb_udev_control_query_device_text(IUDEVICE* idev, UINT32 TextT UDEVICE* pdev = (UDEVICE*)idev; LIBUSB_DEVICE_DESCRIPTOR* devDescriptor = NULL; const char strDesc[] = "Generic Usb String"; - char deviceLocation[25] = { 0 }; + char deviceLocation[25] = WINPR_C_ARRAY_INIT; BYTE bus_number = 0; BYTE device_address = 0; int ret = 0; @@ -882,7 +882,7 @@ static UINT32 libusb_udev_control_query_device_text(IUDEVICE* idev, UINT32 TextT { case DeviceTextDescription: { - BYTE data[0x100] = { 0 }; + BYTE data[0x100] = WINPR_C_ARRAY_INIT; ret = libusb_get_string_descriptor(pdev->libusb_handle, devDescriptor->iProduct, LocaleId, data, 0xFF); /* The returned data in the buffer is: @@ -963,7 +963,7 @@ static int libusb_udev_os_feature_descriptor_request(IUDEVICE* idev, BYTE* Buffer, UINT32 Timeout) { UDEVICE* pdev = (UDEVICE*)idev; - BYTE ms_string_desc[0x13] = { 0 }; + BYTE ms_string_desc[0x13] = WINPR_C_ARRAY_INIT; int error = 0; WINPR_ASSERT(idev); @@ -1632,7 +1632,7 @@ static int udev_get_device_handle(URBDRC_PLUGIN* urbdrc, libusb_context* ctx, UD UINT16 bus_number, UINT16 dev_number) { int error = -1; - uint8_t port_numbers[16] = { 0 }; + uint8_t port_numbers[16] = WINPR_C_ARRAY_INIT; LIBUSB_DEVICE** libusb_list = NULL; const ssize_t total_device = libusb_get_device_list(ctx, &libusb_list); diff --git a/channels/urbdrc/client/libusb/libusb_udevman.c b/channels/urbdrc/client/libusb/libusb_udevman.c index 8873c9979..8fc4af608 100644 --- a/channels/urbdrc/client/libusb/libusb_udevman.c +++ b/channels/urbdrc/client/libusb/libusb_udevman.c @@ -516,7 +516,7 @@ static BOOL device_is_filtered(struct libusb_device* dev, const struct libusb_device_descriptor* desc, libusb_hotplug_event event) { - char buffer[8192] = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; char* what = NULL; BOOL filtered = FALSE; append(buffer, sizeof(buffer), usb_interface_class_to_string(desc->bDeviceClass)); diff --git a/channels/urbdrc/client/urbdrc_main.c b/channels/urbdrc/client/urbdrc_main.c index 4716fb19e..b4fca250a 100644 --- a/channels/urbdrc/client/urbdrc_main.c +++ b/channels/urbdrc/client/urbdrc_main.c @@ -68,7 +68,7 @@ static int func_container_id_generate(IUDEVICE* pdev, char* strContainerId) { char* p = NULL; char* path = NULL; - UINT8 containerId[17] = { 0 }; + UINT8 containerId[17] = WINPR_C_ARRAY_INIT; UINT16 idVendor = 0; UINT16 idProduct = 0; idVendor = (UINT16)pdev->query_device_descriptor(pdev, ID_VENDOR); @@ -96,7 +96,7 @@ static int func_container_id_generate(IUDEVICE* pdev, char* strContainerId) static int func_instance_id_generate(IUDEVICE* pdev, char* strInstanceId, size_t len) { - char instanceId[17] = { 0 }; + char instanceId[17] = WINPR_C_ARRAY_INIT; (void)sprintf_s(instanceId, sizeof(instanceId), "\\%s", pdev->getPath(pdev)); /* format */ (void)sprintf_s(strInstanceId, len, @@ -342,10 +342,10 @@ static UINT urdbrc_send_usb_device_add(GENERIC_CHANNEL_CALLBACK* callback, IUDEV char CompatibilityIds[4][DEVICE_COMPATIBILITY_ID_SIZE] = { { 0 } }; const char* CCompatibilityIds[4] = { CompatibilityIds[0], CompatibilityIds[1], CompatibilityIds[2], CompatibilityIds[3] }; - char strContainerId[DEVICE_CONTAINER_STR_SIZE] = { 0 }; - char strInstanceId[DEVICE_INSTANCE_STR_SIZE] = { 0 }; - size_t CompatibilityIdLen[4] = { 0 }; - size_t HardwareIdsLen[2] = { 0 }; + char strContainerId[DEVICE_CONTAINER_STR_SIZE] = WINPR_C_ARRAY_INIT; + char strInstanceId[DEVICE_INSTANCE_STR_SIZE] = WINPR_C_ARRAY_INIT; + size_t CompatibilityIdLen[4] = WINPR_C_ARRAY_INIT; + size_t HardwareIdsLen[2] = WINPR_C_ARRAY_INIT; const size_t nrHwIds = ARRAYSIZE(HardwareIds); size_t nrCompatIds = 3; @@ -822,7 +822,7 @@ static BOOL urbdrc_register_udevman_addin(IWTSPlugin* pPlugin, IUDEVMAN* udevman static UINT urbdrc_load_udevman_addin(IWTSPlugin* pPlugin, LPCSTR name, const ADDIN_ARGV* args) { URBDRC_PLUGIN* urbdrc = (URBDRC_PLUGIN*)pPlugin; - FREERDP_URBDRC_SERVICE_ENTRY_POINTS entryPoints = { 0 }; + FREERDP_URBDRC_SERVICE_ENTRY_POINTS entryPoints = WINPR_C_ARRAY_INIT; PVIRTUALCHANNELENTRY pvce = freerdp_load_channel_addin_entry(URBDRC_CHANNEL_NAME, name, NULL, 0); diff --git a/channels/video/client/video_main.c b/channels/video/client/video_main.c index 7811f916d..2584fe5ef 100644 --- a/channels/video/client/video_main.c +++ b/channels/video/client/video_main.c @@ -357,7 +357,7 @@ void VideoClientContextPriv_free(VideoClientContextPriv* priv) static UINT video_control_send_presentation_response(VideoClientContext* context, TSMM_PRESENTATION_RESPONSE* resp) { - BYTE buf[12] = { 0 }; + BYTE buf[12] = WINPR_C_ARRAY_INIT; wStream* s = NULL; VIDEO_PLUGIN* video = NULL; IWTSVirtualChannel* channel = NULL; @@ -526,7 +526,7 @@ static UINT video_PresentationRequest(VideoClientContext* video, static UINT video_read_tsmm_presentation_req(VideoClientContext* context, wStream* s) { - TSMM_PRESENTATION_REQUEST req = { 0 }; + TSMM_PRESENTATION_REQUEST req = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(s); diff --git a/client/Android/Studio/freeRDPCore/src/main/cpp/android_cliprdr.c b/client/Android/Studio/freeRDPCore/src/main/cpp/android_cliprdr.c index 5304135ba..c8950281c 100644 --- a/client/Android/Studio/freeRDPCore/src/main/cpp/android_cliprdr.c +++ b/client/Android/Studio/freeRDPCore/src/main/cpp/android_cliprdr.c @@ -41,7 +41,7 @@ UINT android_cliprdr_send_client_format_list(CliprdrClientContext* cliprdr) UINT32* pFormatIds; const char* formatName; CLIPRDR_FORMAT* formats; - CLIPRDR_FORMAT_LIST formatList = { 0 }; + CLIPRDR_FORMAT_LIST formatList = WINPR_C_ARRAY_INIT; if (!cliprdr) return ERROR_INVALID_PARAMETER; @@ -93,7 +93,7 @@ static UINT android_cliprdr_send_client_format_data_request(CliprdrClientContext UINT32 formatId) { UINT rc = ERROR_INVALID_PARAMETER; - CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = { 0 }; + CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = WINPR_C_ARRAY_INIT; androidContext* afc; if (!cliprdr) @@ -331,7 +331,7 @@ android_cliprdr_server_format_data_request(CliprdrClientContext* cliprdr, BYTE* data; UINT32 size; UINT32 formatId; - CLIPRDR_FORMAT_DATA_RESPONSE response = { 0 }; + CLIPRDR_FORMAT_DATA_RESPONSE response = WINPR_C_ARRAY_INIT; androidContext* afc; if (!cliprdr || !formatDataRequest || !cliprdr->ClientFormatDataResponse) diff --git a/client/Android/Studio/freeRDPCore/src/main/cpp/android_freerdp.c b/client/Android/Studio/freeRDPCore/src/main/cpp/android_freerdp.c index e520c437a..1ef1a5de4 100644 --- a/client/Android/Studio/freeRDPCore/src/main/cpp/android_freerdp.c +++ b/client/Android/Studio/freeRDPCore/src/main/cpp/android_freerdp.c @@ -257,7 +257,7 @@ static BOOL android_Pointer_SetDefault(rdpContext* context) static BOOL android_register_pointer(rdpGraphics* graphics) { - rdpPointer pointer = { 0 }; + rdpPointer pointer = WINPR_C_ARRAY_INIT; if (!graphics) return FALSE; @@ -646,7 +646,7 @@ JNIEXPORT jlong JNICALL Java_com_freerdp_freerdpcore_services_LibFreeRDP_freerdp if (setenv("HOME", _strdup(envStr), 1) != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_FATAL(TAG, "Failed to set environment HOME=%s %s [%d]", envStr, winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); return (jlong)NULL; diff --git a/client/Android/Studio/freeRDPCore/src/main/cpp/android_jni_callback.c b/client/Android/Studio/freeRDPCore/src/main/cpp/android_jni_callback.c index a4e8214bd..31384a515 100644 --- a/client/Android/Studio/freeRDPCore/src/main/cpp/android_jni_callback.c +++ b/client/Android/Studio/freeRDPCore/src/main/cpp/android_jni_callback.c @@ -201,7 +201,7 @@ finish: /* callback to freerdp class */ void freerdp_callback(const char* callback, const char* signature, ...) { - va_list vl = { 0 }; + va_list vl = WINPR_C_ARRAY_INIT; va_start(vl, signature); java_callback_void(jLibFreeRDPObject, callback, signature, vl); va_end(vl); @@ -209,7 +209,7 @@ void freerdp_callback(const char* callback, const char* signature, ...) jboolean freerdp_callback_bool_result(const char* callback, const char* signature, ...) { - va_list vl = { 0 }; + va_list vl = WINPR_C_ARRAY_INIT; va_start(vl, signature); jboolean res = java_callback_bool(jLibFreeRDPObject, callback, signature, vl); va_end(vl); @@ -218,7 +218,7 @@ jboolean freerdp_callback_bool_result(const char* callback, const char* signatur jint freerdp_callback_int_result(const char* callback, const char* signature, ...) { - va_list vl = { 0 }; + va_list vl = WINPR_C_ARRAY_INIT; va_start(vl, signature); jint res = java_callback_int(jLibFreeRDPObject, callback, signature, vl); va_end(vl); diff --git a/client/Mac/Clipboard.m b/client/Mac/Clipboard.m index 0fe701999..11f336593 100644 --- a/client/Mac/Clipboard.m +++ b/client/Mac/Clipboard.m @@ -28,7 +28,7 @@ int mac_cliprdr_send_client_format_list(CliprdrClientContext *cliprdr) UINT32 *pFormatIds; const char *formatName; CLIPRDR_FORMAT *formats; - CLIPRDR_FORMAT_LIST formatList = { 0 }; + CLIPRDR_FORMAT_LIST formatList = WINPR_C_ARRAY_INIT; WINPR_ASSERT(cliprdr); mfContext *mfc = (mfContext *)cliprdr->custom; @@ -88,7 +88,7 @@ static int mac_cliprdr_send_client_format_list_response(CliprdrClientContext *cl static UINT mac_cliprdr_send_client_format_data_request(CliprdrClientContext *cliprdr, UINT32 formatId) { - CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = { 0 }; + CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = WINPR_C_ARRAY_INIT; WINPR_ASSERT(cliprdr); if (formatId == 0) @@ -287,7 +287,7 @@ mac_cliprdr_server_format_data_request(CliprdrClientContext *cliprdr, BYTE *data; UINT32 size; UINT32 formatId; - CLIPRDR_FORMAT_DATA_RESPONSE response = { 0 }; + CLIPRDR_FORMAT_DATA_RESPONSE response = WINPR_C_ARRAY_INIT; WINPR_ASSERT(cliprdr); diff --git a/client/Mac/MRDPView.m b/client/Mac/MRDPView.m index f51ccab3c..de2905fad 100644 --- a/client/Mac/MRDPView.m +++ b/client/Mac/MRDPView.m @@ -127,7 +127,7 @@ DWORD WINAPI mac_client_thread(void *param) { int status; DWORD rc; - HANDLE events[16] = { 0 }; + HANDLE events[16] = WINPR_C_ARRAY_INIT; HANDLE inputEvent; DWORD nCount; DWORD nCountTmp; @@ -906,7 +906,7 @@ BOOL mac_pre_connect(freerdp *instance) BOOL mac_post_connect(freerdp *instance) { rdpGdi *gdi; - rdpPointer rdp_pointer = { 0 }; + rdpPointer rdp_pointer = WINPR_C_ARRAY_INIT; mfContext *mfc; MRDPView *view; @@ -1151,7 +1151,7 @@ DWORD mac_verify_certificate_ex(freerdp *instance, const char *host, UINT16 port MRDPView *view = (MRDPView *)mfc->view; CertificateDialog *dialog = [CertificateDialog new]; const char *type = "RDP-Server"; - char hostname[8192] = { 0 }; + char hostname[8192] = WINPR_C_ARRAY_INIT; if (flags & VERIFY_CERT_FLAG_GATEWAY) type = "RDP-Gateway"; diff --git a/client/Mac/cli/AppDelegate.m b/client/Mac/cli/AppDelegate.m index 18ef147f6..59b84eb52 100644 --- a/client/Mac/cli/AppDelegate.m +++ b/client/Mac/cli/AppDelegate.m @@ -158,7 +158,7 @@ void mac_set_view_size(rdpContext *context, MRDPView *view); - (void)CreateContext { - RDP_CLIENT_ENTRY_POINTS clientEntryPoints = { 0 }; + RDP_CLIENT_ENTRY_POINTS clientEntryPoints = WINPR_C_ARRAY_INIT; clientEntryPoints.Size = sizeof(RDP_CLIENT_ENTRY_POINTS); clientEntryPoints.Version = RDP_CLIENT_INTERFACE_VERSION; diff --git a/client/Sample/tf_freerdp.c b/client/Sample/tf_freerdp.c index 2beb103b5..1268e82e3 100644 --- a/client/Sample/tf_freerdp.c +++ b/client/Sample/tf_freerdp.c @@ -242,7 +242,7 @@ static DWORD WINAPI tf_client_thread_proc(LPVOID arg) DWORD nCount = 0; DWORD status = 0; DWORD result = 0; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; BOOL rc = freerdp_connect(instance); WINPR_ASSERT(instance->context); @@ -387,7 +387,7 @@ static int RdpClientEntry(RDP_CLIENT_ENTRY_POINTS* pEntryPoints) int main(int argc, char* argv[]) { int rc = -1; - RDP_CLIENT_ENTRY_POINTS clientEntryPoints = { 0 }; + RDP_CLIENT_ENTRY_POINTS clientEntryPoints = WINPR_C_ARRAY_INIT; RdpClientEntry(&clientEntryPoints); rdpContext* context = freerdp_client_context_new(&clientEntryPoints); diff --git a/client/Wayland/wlf_cliprdr.c b/client/Wayland/wlf_cliprdr.c index b92402680..5f4a77370 100644 --- a/client/Wayland/wlf_cliprdr.c +++ b/client/Wayland/wlf_cliprdr.c @@ -341,7 +341,7 @@ static UINT wlf_cliprdr_send_data_request(wfClipboard* clipboard, const wlf_cons */ static UINT wlf_cliprdr_send_data_response(wfClipboard* clipboard, const BYTE* data, size_t size) { - CLIPRDR_FORMAT_DATA_RESPONSE response = { 0 }; + CLIPRDR_FORMAT_DATA_RESPONSE response = WINPR_C_ARRAY_INIT; if (size > UINT32_MAX) return ERROR_INVALID_PARAMETER; @@ -530,7 +530,7 @@ static void wlf_cliprdr_transfer_data(UwacSeat* seat, void* context, const char* EnterCriticalSection(&clipboard->lock); - wlf_const_request request = { 0 }; + wlf_const_request request = WINPR_C_ARRAY_INIT; if (wlf_mime_is_html(mime)) { request.responseMime = mime_html; diff --git a/client/Wayland/wlf_pointer.c b/client/Wayland/wlf_pointer.c index 714ff9e79..5bef4d854 100644 --- a/client/Wayland/wlf_pointer.c +++ b/client/Wayland/wlf_pointer.c @@ -150,7 +150,7 @@ static BOOL wlf_Pointer_SetPosition(WINPR_ATTR_UNUSED rdpContext* context, BOOL wlf_register_pointer(rdpGraphics* graphics) { - rdpPointer pointer = { 0 }; + rdpPointer pointer = WINPR_C_ARRAY_INIT; pointer.size = sizeof(wlfPointer); pointer.New = wlf_Pointer_New; diff --git a/client/Wayland/wlfreerdp.c b/client/Wayland/wlfreerdp.c index fec56faf4..6090bc2ee 100644 --- a/client/Wayland/wlfreerdp.c +++ b/client/Wayland/wlfreerdp.c @@ -53,10 +53,10 @@ static BOOL wl_update_buffer(wlfContext* context_w, INT32 ix, INT32 iy, INT32 iw BOOL res = FALSE; rdpGdi* gdi = NULL; char* data = NULL; - UwacSize geometry = { 0 }; + UwacSize geometry = WINPR_C_ARRAY_INIT; size_t stride = 0; UwacReturnCode rc = UWAC_ERROR_INTERNAL; - RECTANGLE_16 area = { 0 }; + RECTANGLE_16 area = WINPR_C_ARRAY_INIT; if (!context_w) return FALSE; @@ -474,7 +474,7 @@ static BOOL handle_window_events(freerdp* instance) static int wlfreerdp_run(freerdp* instance) { wlfContext* context = NULL; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD status = WAIT_ABANDONED; if (!instance) @@ -754,7 +754,7 @@ BOOL wlf_copy_image(const void* src, size_t srcStride, size_t srcWidth, size_t s BOOL wlf_scale_coordinates(rdpContext* context, UINT32* px, UINT32* py, BOOL fromLocalToRDP) { wlfContext* wlf = (wlfContext*)context; - UwacSize geometry = { 0 }; + UwacSize geometry = WINPR_C_ARRAY_INIT; if (!context || !px || !py || !context->gdi) return FALSE; diff --git a/client/Windows/cli/wfreerdp.c b/client/Windows/cli/wfreerdp.c index fbb710145..02d95b4b9 100644 --- a/client/Windows/cli/wfreerdp.c +++ b/client/Windows/cli/wfreerdp.c @@ -50,7 +50,7 @@ INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine rdpSettings* settings; LPWSTR cmd; char** argv = NULL; - RDP_CLIENT_ENTRY_POINTS clientEntryPoints = { 0 }; + RDP_CLIENT_ENTRY_POINTS clientEntryPoints = WINPR_C_ARRAY_INIT; int ret = 1; int argc = 0; LPWSTR* args = NULL; diff --git a/client/Windows/wf_client.c b/client/Windows/wf_client.c index 44ae0ae16..241143ba8 100644 --- a/client/Windows/wf_client.c +++ b/client/Windows/wf_client.c @@ -84,9 +84,9 @@ static BOOL wf_has_console(void) static BOOL wf_end_paint(rdpContext* context) { - RECT updateRect = { 0 }; - REGION16 invalidRegion = { 0 }; - RECTANGLE_16 invalidRect = { 0 }; + RECT updateRect = WINPR_C_ARRAY_INIT; + REGION16 invalidRegion = WINPR_C_ARRAY_INIT; + RECTANGLE_16 invalidRect = WINPR_C_ARRAY_INIT; const RECTANGLE_16* extents = NULL; WINPR_ASSERT(context); @@ -285,7 +285,7 @@ static BOOL wf_pre_connect(freerdp* instance) DWORD keyboardLayoutId = freerdp_settings_get_uint32(settings, FreeRDP_KeyboardLayout); { - CHAR name[KL_NAMELENGTH + 1] = { 0 }; + CHAR name[KL_NAMELENGTH + 1] = WINPR_C_ARRAY_INIT; if (GetKeyboardLayoutNameA(name)) { ULONG rc = 0; @@ -319,7 +319,7 @@ static BOOL wf_pre_connect(freerdp* instance) static void wf_append_item_to_system_menu(HMENU hMenu, UINT fMask, UINT wID, const wchar_t* text, wfContext* wfc) { - MENUITEMINFO item_info = { 0 }; + MENUITEMINFO item_info = WINPR_C_ARRAY_INIT; item_info.fMask = fMask; item_info.cbSize = sizeof(MENUITEMINFO); item_info.wID = wID; @@ -521,10 +521,10 @@ static BOOL wf_authenticate_ex(freerdp* instance, char** username, char** passwo BOOL fSave; DWORD status; DWORD dwFlags; - WCHAR UserNameW[CREDUI_MAX_USERNAME_LENGTH + 1] = { 0 }; - WCHAR UserW[CREDUI_MAX_USERNAME_LENGTH + 1] = { 0 }; - WCHAR DomainW[CREDUI_MAX_DOMAIN_TARGET_LENGTH + 1] = { 0 }; - WCHAR PasswordW[CREDUI_MAX_PASSWORD_LENGTH + 1] = { 0 }; + WCHAR UserNameW[CREDUI_MAX_USERNAME_LENGTH + 1] = WINPR_C_ARRAY_INIT; + WCHAR UserW[CREDUI_MAX_USERNAME_LENGTH + 1] = WINPR_C_ARRAY_INIT; + WCHAR DomainW[CREDUI_MAX_DOMAIN_TARGET_LENGTH + 1] = WINPR_C_ARRAY_INIT; + WCHAR PasswordW[CREDUI_MAX_PASSWORD_LENGTH + 1] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(instance); WINPR_ASSERT(instance->context); @@ -610,9 +610,9 @@ static BOOL wf_authenticate_ex(freerdp* instance, char** username, char** passwo ARRAYSIZE(DomainW)); if (status != NO_ERROR) { - CHAR User[CREDUI_MAX_USERNAME_LENGTH + 1] = { 0 }; - CHAR UserName[CREDUI_MAX_USERNAME_LENGTH + 1] = { 0 }; - CHAR Domain[CREDUI_MAX_DOMAIN_TARGET_LENGTH + 1] = { 0 }; + CHAR User[CREDUI_MAX_USERNAME_LENGTH + 1] = WINPR_C_ARRAY_INIT; + CHAR UserName[CREDUI_MAX_USERNAME_LENGTH + 1] = WINPR_C_ARRAY_INIT; + CHAR Domain[CREDUI_MAX_DOMAIN_TARGET_LENGTH + 1] = WINPR_C_ARRAY_INIT; (void)ConvertWCharNToUtf8(UserNameW, ARRAYSIZE(UserNameW), UserName, ARRAYSIZE(UserName)); @@ -664,7 +664,7 @@ static WCHAR* wf_format_text(const WCHAR* fmt, ...) do { WCHAR* tmp = NULL; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); rc = _vsnwprintf(buffer, size, fmt, ap); va_end(ap); @@ -740,12 +740,12 @@ static DWORD wf_is_x509_certificate_trusted(const char* common_name, const char* HCERTCHAINENGINE hChainEngine = NULL; PCCERT_CHAIN_CONTEXT pChainContext = NULL; - CERT_ENHKEY_USAGE EnhkeyUsage = { 0 }; - CERT_USAGE_MATCH CertUsage = { 0 }; - CERT_CHAIN_PARA ChainPara = { 0 }; - CERT_CHAIN_POLICY_PARA ChainPolicy = { 0 }; - CERT_CHAIN_POLICY_STATUS PolicyStatus = { 0 }; - CERT_CHAIN_ENGINE_CONFIG EngineConfig = { 0 }; + CERT_ENHKEY_USAGE EnhkeyUsage = WINPR_C_ARRAY_INIT; + CERT_USAGE_MATCH CertUsage = WINPR_C_ARRAY_INIT; + CERT_CHAIN_PARA ChainPara = WINPR_C_ARRAY_INIT; + CERT_CHAIN_POLICY_PARA ChainPolicy = WINPR_C_ARRAY_INIT; + CERT_CHAIN_POLICY_STATUS PolicyStatus = WINPR_C_ARRAY_INIT; + CERT_CHAIN_ENGINE_CONFIG EngineConfig = WINPR_C_ARRAY_INIT; DWORD derPubKeyLen = WINPR_ASSERTING_INT_CAST(uint32_t, strlen(fingerprint)); char* derPubKey = calloc(derPubKeyLen, sizeof(char)); @@ -1050,7 +1050,7 @@ static BOOL wf_present_gateway_message(freerdp* instance, UINT32 type, BOOL isDi static DWORD WINAPI wf_client_thread(LPVOID lpParam) { - MSG msg = { 0 }; + MSG msg = WINPR_C_ARRAY_INIT; int width = 0; int height = 0; BOOL msg_ret = FALSE; @@ -1077,7 +1077,7 @@ static DWORD WINAPI wf_client_thread(LPVOID lpParam) while (!freerdp_shall_disconnect_context(instance->context)) { - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD nCount = 0; if (freerdp_focus_required(instance)) diff --git a/client/Windows/wf_cliprdr.c b/client/Windows/wf_cliprdr.c index e77b56bf8..b549747ca 100644 --- a/client/Windows/wf_cliprdr.c +++ b/client/Windows/wf_cliprdr.c @@ -821,8 +821,8 @@ void CliprdrDataObject_Delete(CliprdrDataObject* instance) static BOOL wf_create_file_obj(wfClipboard* clipboard, IDataObject** ppDataObject) { - FORMATETC fmtetc[2] = { 0 }; - STGMEDIUM stgmeds[2] = { 0 }; + FORMATETC fmtetc[2] = WINPR_C_ARRAY_INIT; + STGMEDIUM stgmeds[2] = WINPR_C_ARRAY_INIT; if (!ppDataObject) return FALSE; @@ -1218,7 +1218,7 @@ static UINT cliprdr_send_format_list(wfClipboard* clipboard) UINT32 formatId = 0; char formatName[1024]; CLIPRDR_FORMAT* formats = NULL; - CLIPRDR_FORMAT_LIST formatList = { 0 }; + CLIPRDR_FORMAT_LIST formatList = WINPR_C_ARRAY_INIT; if (!clipboard) return ERROR_INTERNAL_ERROR; @@ -1503,7 +1503,7 @@ static LRESULT CALLBACK cliprdr_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM static int create_cliprdr_window(wfClipboard* clipboard) { - WNDCLASSEX wnd_cls = { 0 }; + WNDCLASSEX wnd_cls = WINPR_C_ARRAY_INIT; wnd_cls.cbSize = sizeof(WNDCLASSEX); wnd_cls.style = CS_OWNDC; @@ -2049,8 +2049,8 @@ static SSIZE_T wf_cliprdr_get_filedescriptor(wfClipboard* clipboard, BYTE** pDat SSIZE_T rc = -1; LPDATAOBJECT dataObj = NULL; - FORMATETC format_etc = { 0 }; - STGMEDIUM stg_medium = { 0 }; + FORMATETC format_etc = WINPR_C_ARRAY_INIT; + STGMEDIUM stg_medium = WINPR_C_ARRAY_INIT; *pData = NULL; @@ -2262,9 +2262,9 @@ wf_cliprdr_server_file_contents_request(CliprdrClientContext* context, DWORD uSize = 0; BYTE* pData = NULL; HRESULT hRet = S_OK; - FORMATETC vFormatEtc = { 0 }; + FORMATETC vFormatEtc = WINPR_C_ARRAY_INIT; LPDATAOBJECT pDataObj = NULL; - STGMEDIUM vStgMedium = { 0 }; + STGMEDIUM vStgMedium = WINPR_C_ARRAY_INIT; BOOL bIsStreamFile = TRUE; static LPSTREAM pStreamStc = NULL; static UINT32 uStreamIdStc = 0; @@ -2349,7 +2349,7 @@ wf_cliprdr_server_file_contents_request(CliprdrClientContext* context, { if (fileContentsRequest->dwFlags == FILECONTENTS_SIZE) { - STATSTG vStatStg = { 0 }; + STATSTG vStatStg = WINPR_C_ARRAY_INIT; hRet = IStream_Stat(pStreamStc, &vStatStg, STATFLAG_NONAME); if (hRet == S_OK) diff --git a/client/Windows/wf_defaults.c b/client/Windows/wf_defaults.c index 81f6e0d60..6b3e3b66b 100644 --- a/client/Windows/wf_defaults.c +++ b/client/Windows/wf_defaults.c @@ -47,7 +47,7 @@ static void AddDefaultSettings_I(rdpSettings* settings, size_t idHostname, size_ PWSTR ParsedUserNameW = NULL; PWSTR ParsedDomainW = NULL; PWSTR PasswordNullTerminatedW = NULL; - PCREDENTIALW Credential = { 0 }; + PCREDENTIALW Credential = WINPR_C_ARRAY_INIT; PCSTR ServerHostname = freerdp_settings_get_string(settings, idHostname); diff --git a/client/Windows/wf_event.c b/client/Windows/wf_event.c index d62deb0ad..7f9d09f44 100644 --- a/client/Windows/wf_event.c +++ b/client/Windows/wf_event.c @@ -53,7 +53,7 @@ static BOOL wf_scale_mouse_event_ex(wfContext* wfc, UINT16 flags, UINT16 buttonM static BOOL g_flipping_in = FALSE; static BOOL g_flipping_out = FALSE; -static BOOL g_keystates[256] = { 0 }; +static BOOL g_keystates[256] = WINPR_C_ARRAY_INIT; static BOOL ctrl_down(void) { @@ -340,7 +340,7 @@ static void wf_send_resize(wfContext* wfc) if (freerdp_settings_get_uint32(settings, FreeRDP_SmartSizingWidth) != targetWidth || freerdp_settings_get_uint32(settings, FreeRDP_SmartSizingHeight) != targetHeight) { - DISPLAY_CONTROL_MONITOR_LAYOUT layout = { 0 }; + DISPLAY_CONTROL_MONITOR_LAYOUT layout = WINPR_C_ARRAY_INIT; layout.Flags = DISPLAY_CONTROL_MONITOR_PRIMARY; layout.Top = layout.Left = 0; @@ -371,12 +371,12 @@ static void wf_send_resize(wfContext* wfc) LRESULT CALLBACK wf_event_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { - HDC hdc = { 0 }; - PAINTSTRUCT ps = { 0 }; + HDC hdc = WINPR_C_ARRAY_INIT; + PAINTSTRUCT ps = WINPR_C_ARRAY_INIT; BOOL processed = FALSE; - RECT windowRect = { 0 }; + RECT windowRect = WINPR_C_ARRAY_INIT; MINMAXINFO* minmax = NULL; - SCROLLINFO si = { 0 }; + SCROLLINFO si = WINPR_C_ARRAY_INIT; processed = TRUE; LONG_PTR ptr = GetWindowLongPtr(hWnd, GWLP_USERDATA); wfContext* wfc = (wfContext*)ptr; @@ -919,7 +919,7 @@ static BOOL wf_scale_mouse_pos(wfContext* wfc, INT32 x, INT32 y, UINT16* px, UIN static BOOL wf_pub_mouse_event(wfContext* wfc, UINT16 flags, UINT16 x, UINT16 y) { - MouseEventEventArgs eventArgs = { 0 }; + MouseEventEventArgs eventArgs = WINPR_C_ARRAY_INIT; eventArgs.flags = flags; eventArgs.x = x; @@ -972,7 +972,7 @@ static BOOL wf_scale_mouse_event_ex(wfContext* wfc, UINT16 flags, UINT16 buttonM BOOL wf_keyboard_set_indicators(rdpContext* context, UINT16 led_flags) { wfContext* wfc = (wfContext*)context; - BYTE keyState[256] = { 0 }; + BYTE keyState[256] = WINPR_C_ARRAY_INIT; if (!wfc || !GetKeyboardState(keyState)) return FALSE; diff --git a/client/Windows/wf_graphics.c b/client/Windows/wf_graphics.c index 00fac3035..a4d8230e1 100644 --- a/client/Windows/wf_graphics.c +++ b/client/Windows/wf_graphics.c @@ -337,7 +337,7 @@ static BOOL wf_Pointer_SetPosition(rdpContext* context, UINT32 x, UINT32 y) BOOL wf_register_pointer(rdpGraphics* graphics) { wfContext* wfc; - rdpPointer pointer = { 0 }; + rdpPointer pointer = WINPR_C_ARRAY_INIT; if (!graphics) return FALSE; diff --git a/client/Windows/wf_rail.c b/client/Windows/wf_rail.c index 6d185e3fc..415538abe 100644 --- a/client/Windows/wf_rail.c +++ b/client/Windows/wf_rail.c @@ -430,7 +430,7 @@ static BOOL wf_rail_window_common(rdpContext* context, const WINDOW_ORDER_INFO* BOOL rc; HANDLE hInstance; WCHAR* titleW = NULL; - WNDCLASSEX wndClassEx = { 0 }; + WNDCLASSEX wndClassEx = WINPR_C_ARRAY_INIT; railWindow = (wfRailWindow*)calloc(1, sizeof(wfRailWindow)); if (!railWindow) @@ -680,8 +680,8 @@ static BOOL wf_rail_window_icon(rdpContext* context, const WINDOW_ORDER_INFO* or int height; HICON hIcon; BOOL bigIcon; - ICONINFO iconInfo = { 0 }; - BITMAPINFO bitmapInfo = { 0 }; + ICONINFO iconInfo = WINPR_C_ARRAY_INIT; + BITMAPINFO bitmapInfo = WINPR_C_ARRAY_INIT; wfRailWindow* railWindow; BITMAPINFOHEADER* bitmapInfoHeader; wfContext* wfc = (wfContext*)context; diff --git a/client/X11/cli/xfreerdp.c b/client/X11/cli/xfreerdp.c index 9a0ef647b..4926cae2a 100644 --- a/client/X11/cli/xfreerdp.c +++ b/client/X11/cli/xfreerdp.c @@ -61,7 +61,7 @@ int main(int argc, char* argv[]) DWORD dwExitCode = 0; rdpContext* context = NULL; rdpSettings* settings = NULL; - RDP_CLIENT_ENTRY_POINTS clientEntryPoints = { 0 }; + RDP_CLIENT_ENTRY_POINTS clientEntryPoints = WINPR_C_ARRAY_INIT; clientEntryPoints.Size = sizeof(RDP_CLIENT_ENTRY_POINTS); clientEntryPoints.Version = RDP_CLIENT_INTERFACE_VERSION; diff --git a/client/X11/xf_client.c b/client/X11/xf_client.c index 802d9273a..fc6329c58 100644 --- a/client/X11/xf_client.c +++ b/client/X11/xf_client.c @@ -172,7 +172,7 @@ static BOOL xf_get_pixmap_info(xfContext* xfc); #ifdef WITH_XRENDER static void xf_draw_screen_scaled(xfContext* xfc, int x, int y, int w, int h) { - XTransform transform = { 0 }; + XTransform transform = WINPR_C_ARRAY_INIT; Picture windowPicture = 0; Picture primaryPicture = 0; XRenderPictureAttributes pa; @@ -548,7 +548,7 @@ static BOOL xf_process_x_events(freerdp* instance) if (pending_status) { - XEvent xevent = { 0 }; + XEvent xevent = WINPR_C_ARRAY_INIT; XNextEvent(xfc->display, &xevent); status = xf_event_process(instance, &xevent); @@ -596,8 +596,8 @@ static char* xf_window_get_title(rdpSettings* settings) BOOL xf_create_window(xfContext* xfc) { - XGCValues gcv = { 0 }; - XEvent xevent = { 0 }; + XGCValues gcv = WINPR_C_ARRAY_INIT; + XEvent xevent = WINPR_C_ARRAY_INIT; char* windowTitle = NULL; WINPR_ASSERT(xfc); @@ -609,7 +609,7 @@ BOOL xf_create_window(xfContext* xfc) int height = WINPR_ASSERTING_INT_CAST(int, freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight)); - const XSetWindowAttributes empty = { 0 }; + const XSetWindowAttributes empty = WINPR_C_ARRAY_INIT; xfc->attribs = empty; if (xfc->remote_app) @@ -617,7 +617,7 @@ BOOL xf_create_window(xfContext* xfc) else xfc->depth = DefaultDepthOfScreen(xfc->screen); - XVisualInfo vinfo = { 0 }; + XVisualInfo vinfo = WINPR_C_ARRAY_INIT; if (XMatchVisualInfo(xfc->display, xfc->screen_number, xfc->depth, TrueColor, &vinfo)) { Window root = XDefaultRootWindow(xfc->display); @@ -813,7 +813,7 @@ void xf_destroy_window(xfContext* xfc) void xf_toggle_fullscreen(xfContext* xfc) { - WindowStateChangeEventArgs e = { 0 }; + WindowStateChangeEventArgs e = WINPR_C_ARRAY_INIT; rdpContext* context = (rdpContext*)xfc; rdpSettings* settings = context->settings; @@ -835,7 +835,7 @@ void xf_toggle_fullscreen(xfContext* xfc) void xf_minimize(xfContext* xfc) { - WindowStateChangeEventArgs e = { 0 }; + WindowStateChangeEventArgs e = WINPR_C_ARRAY_INIT; rdpContext* context = (rdpContext*)xfc; WINPR_ASSERT(context); @@ -910,7 +910,7 @@ static BOOL xf_get_pixmap_info(xfContext* xfc) static int xf_error_handler(Display* d, XErrorEvent* ev) { - char buf[256] = { 0 }; + char buf[256] = WINPR_C_ARRAY_INIT; XGetErrorText(d, ev->error_code, buf, sizeof(buf)); const char* what = request_code_2_str(ev->request_code); WLog_ERR(TAG, "%s: %s", what, buf); @@ -1100,7 +1100,7 @@ void xf_button_map_init(xfContext* xfc) /* logical mouse button which is used for each physical mouse */ /* button (indexed from zero). This is the default map. */ - unsigned char x11_map[112] = { 0 }; + unsigned char x11_map[112] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(xfc); WINPR_ASSERT(xfc->common.context.settings); @@ -1192,7 +1192,7 @@ static BOOL xf_pre_connect(freerdp* instance) !freerdp_settings_get_bool(settings, FreeRDP_CredentialsFromStdin) && !freerdp_settings_get_bool(settings, FreeRDP_SmartcardLogon)) { - char login_name[MAX_PATH] = { 0 }; + char login_name[MAX_PATH] = WINPR_C_ARRAY_INIT; ULONG size = sizeof(login_name) - 1; if (GetUserNameExA(NameSamCompatible, login_name, &size)) @@ -1274,7 +1274,7 @@ static BOOL xf_pre_connect(freerdp* instance) static BOOL xf_inject_keypress(rdpContext* context, const char* buffer, size_t size) { - WCHAR wbuffer[64] = { 0 }; + WCHAR wbuffer[64] = WINPR_C_ARRAY_INIT; const SSIZE_T len = ConvertUtf8NToWChar(buffer, size, wbuffer, ARRAYSIZE(wbuffer)); if (len < 0) return FALSE; @@ -1298,18 +1298,18 @@ static BOOL xf_process_pipe(rdpContext* context, const char* pipe) int fd = open(pipe, O_NONBLOCK | O_RDONLY); if (fd < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "pipe '%s' open returned %s [%d]", pipe, winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); return FALSE; } while (!freerdp_shall_disconnect_context(context)) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; ssize_t rd = read(fd, buffer, sizeof(buffer) - 1); if (rd == 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; if ((errno == EAGAIN) || (errno == 0)) { Sleep(100); @@ -1323,7 +1323,7 @@ static BOOL xf_process_pipe(rdpContext* context, const char* pipe) } else if (rd < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "pipe '%s' read returned %s [%d]", pipe, winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); break; @@ -1364,7 +1364,7 @@ static DWORD WINAPI xf_handle_pipe(void* arg) const int rc = mkfifo(pipe, S_IWUSR | S_IRUSR); if (rc != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Failed to create named pipe '%s': %s [%d]", pipe, winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); return 0; @@ -1390,7 +1390,7 @@ static DWORD WINAPI xf_handle_pipe(void* arg) */ static BOOL xf_post_connect(freerdp* instance) { - ResizeWindowEventArgs e = { 0 }; + ResizeWindowEventArgs e = WINPR_C_ARRAY_INIT; WINPR_ASSERT(instance); xfContext* xfc = (xfContext*)instance->context; @@ -1625,7 +1625,7 @@ static DWORD WINAPI xf_client_thread(LPVOID param) while (!freerdp_shall_disconnect_context(instance->context)) { - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD nCount = 0; handles[nCount++] = inputEvent; diff --git a/client/X11/xf_cliprdr.c b/client/X11/xf_cliprdr.c index 3980d88cc..dffeed5a8 100644 --- a/client/X11/xf_cliprdr.c +++ b/client/X11/xf_cliprdr.c @@ -432,7 +432,7 @@ static const CLIPRDR_FORMAT* xf_cliprdr_get_server_format_by_atom(xfClipboard* c static UINT xf_cliprdr_send_data_request(xfClipboard* clipboard, UINT32 formatId, WINPR_ATTR_UNUSED const xfCliprdrFormat* cformat) { - CLIPRDR_FORMAT_DATA_REQUEST request = { 0 }; + CLIPRDR_FORMAT_DATA_REQUEST request = WINPR_C_ARRAY_INIT; request.requestedFormatId = formatId; DEBUG_CLIPRDR("requesting format 0x%08" PRIx32 " [%s] {local 0x%08" PRIx32 "} [%s]", formatId, @@ -452,7 +452,7 @@ static UINT xf_cliprdr_send_data_request(xfClipboard* clipboard, UINT32 formatId static UINT xf_cliprdr_send_data_response(xfClipboard* clipboard, const xfCliprdrFormat* format, const BYTE* data, size_t size) { - CLIPRDR_FORMAT_DATA_RESPONSE response = { 0 }; + CLIPRDR_FORMAT_DATA_RESPONSE response = WINPR_C_ARRAY_INIT; WINPR_ASSERT(clipboard); @@ -1801,8 +1801,8 @@ void xf_cliprdr_handle_xevent(xfContext* xfc, const XEvent* event) */ static UINT xf_cliprdr_send_client_capabilities(xfClipboard* clipboard) { - CLIPRDR_CAPABILITIES capabilities = { 0 }; - CLIPRDR_GENERAL_CAPABILITY_SET generalCapabilitySet = { 0 }; + CLIPRDR_CAPABILITIES capabilities = WINPR_C_ARRAY_INIT; + CLIPRDR_GENERAL_CAPABILITY_SET generalCapabilitySet = WINPR_C_ARRAY_INIT; WINPR_ASSERT(clipboard); @@ -1858,7 +1858,7 @@ static UINT xf_cliprdr_send_client_format_list(xfClipboard* clipboard, BOOL forc */ static UINT xf_cliprdr_send_client_format_list_response(xfClipboard* clipboard, BOOL status) { - CLIPRDR_FORMAT_LIST_RESPONSE formatListResponse = { 0 }; + CLIPRDR_FORMAT_LIST_RESPONSE formatListResponse = WINPR_C_ARRAY_INIT; formatListResponse.common.msgType = CB_FORMAT_LIST_RESPONSE; formatListResponse.common.msgFlags = status ? CB_RESPONSE_OK : CB_RESPONSE_FAIL; diff --git a/client/X11/xf_disp.c b/client/X11/xf_disp.c index 2de050d43..4b0070b6a 100644 --- a/client/X11/xf_disp.c +++ b/client/X11/xf_disp.c @@ -164,7 +164,7 @@ static BOOL update_timer(xfDispContext* xfDisp, uint64_t intervalNS) BOOL xf_disp_sendResize(xfDispContext* xfDisp, BOOL fromTimer) { - DISPLAY_CONTROL_MONITOR_LAYOUT layout = { 0 }; + DISPLAY_CONTROL_MONITOR_LAYOUT layout = WINPR_C_ARRAY_INIT; if (!xfDisp || !xfDisp->xfc) return FALSE; diff --git a/client/X11/xf_event.c b/client/X11/xf_event.c index 7ab5b370f..29dea4c85 100644 --- a/client/X11/xf_event.c +++ b/client/X11/xf_event.c @@ -301,8 +301,8 @@ static BOOL xf_event_execute_action_script(xfContext* xfc, const XEvent* event) if (!match) return FALSE; - char command[2048] = { 0 }; - char arg[2048] = { 0 }; + char command[2048] = WINPR_C_ARRAY_INIT; + char arg[2048] = WINPR_C_ARRAY_INIT; (void)_snprintf(command, sizeof(command), "xevent %s", xeventName); (void)_snprintf(arg, sizeof(arg), "%lu", (unsigned long)xfc->window->handle); return run_action_script(xfc, command, arg, action_script_run, NULL); @@ -628,7 +628,7 @@ static BOOL xf_event_ButtonRelease(xfContext* xfc, const XButtonEvent* event, BO static BOOL xf_event_KeyPress(xfContext* xfc, const XKeyEvent* event, BOOL app) { KeySym keysym = 0; - char str[256] = { 0 }; + char str[256] = WINPR_C_ARRAY_INIT; union { const XKeyEvent* cev; @@ -644,7 +644,7 @@ static BOOL xf_event_KeyPress(xfContext* xfc, const XKeyEvent* event, BOOL app) static BOOL xf_event_KeyRelease(xfContext* xfc, const XKeyEvent* event, BOOL app) { KeySym keysym = 0; - char str[256] = { 0 }; + char str[256] = WINPR_C_ARRAY_INIT; union { const XKeyEvent* cev; @@ -667,7 +667,7 @@ static BOOL xf_event_KeyReleaseOrIgnore(xfContext* xfc, const XKeyEvent* event, if ((event->type == KeyRelease) && XEventsQueued(xfc->display, QueuedAfterReading)) { - XEvent nev = { 0 }; + XEvent nev = WINPR_C_ARRAY_INIT; XPeekEvent(xfc->display, &nev); if ((nev.type == KeyPress) && (nev.xkey.time == event->time) && diff --git a/client/X11/xf_floatbar.c b/client/X11/xf_floatbar.c index 9fcdc5087..571d26d57 100644 --- a/client/X11/xf_floatbar.c +++ b/client/X11/xf_floatbar.c @@ -175,7 +175,7 @@ static BOOL create_floatbar(xfFloatbar* floatbar) { xfContext* xfc = NULL; Status status = 0; - XWindowAttributes attr = { 0 }; + XWindowAttributes attr = WINPR_C_ARRAY_INIT; WINPR_ASSERT(floatbar); if (floatbar->created) @@ -391,8 +391,8 @@ static void xf_floatbar_event_expose(xfFloatbar* floatbar) GC gc = NULL; GC shape_gc = NULL; Pixmap pmap = 0; - XPoint shape[5] = { 0 }; - XPoint border[5] = { 0 }; + XPoint shape[5] = WINPR_C_ARRAY_INIT; + XPoint border[5] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(floatbar); WINPR_ASSERT(floatbar->xfc); diff --git a/client/X11/xf_gfx.c b/client/X11/xf_gfx.c index 033f0e1f0..e9da53085 100644 --- a/client/X11/xf_gfx.c +++ b/client/X11/xf_gfx.c @@ -41,7 +41,7 @@ static UINT xf_OutputUpdate(xfContext* xfc, xfGfxSurface* surface) UINT rc = ERROR_INTERNAL_ERROR; UINT32 surfaceX = 0; UINT32 surfaceY = 0; - RECTANGLE_16 surfaceRect = { 0 }; + RECTANGLE_16 surfaceRect = WINPR_C_ARRAY_INIT; UINT32 nbRects = 0; const RECTANGLE_16* rects = NULL; @@ -200,8 +200,8 @@ UINT xf_OutputExpose(xfContext* xfc, UINT32 x, UINT32 y, UINT32 width, UINT32 he { UINT16 count = 0; UINT status = ERROR_INTERNAL_ERROR; - RECTANGLE_16 invalidRect = { 0 }; - RECTANGLE_16 intersection = { 0 }; + RECTANGLE_16 invalidRect = WINPR_C_ARRAY_INIT; + RECTANGLE_16 intersection = WINPR_C_ARRAY_INIT; UINT16* pSurfaceIds = NULL; RdpgfxClientContext* context = NULL; @@ -227,7 +227,7 @@ UINT xf_OutputExpose(xfContext* xfc, UINT32 x, UINT32 y, UINT32 width, UINT32 he } for (UINT32 index = 0; index < count; index++) { - RECTANGLE_16 surfaceRect = { 0 }; + RECTANGLE_16 surfaceRect = WINPR_C_ARRAY_INIT; xfGfxSurface* surface = (xfGfxSurface*)context->GetSurfaceData(context, pSurfaceIds[index]); if (!surface || (!surface->gdi.outputMapped && !surface->gdi.windowMapped)) diff --git a/client/X11/xf_graphics.c b/client/X11/xf_graphics.c index 51cbd0e40..4e341f297 100644 --- a/client/X11/xf_graphics.c +++ b/client/X11/xf_graphics.c @@ -108,7 +108,7 @@ static BOOL xf_Pointer_GetCursorForCurrentScale(rdpContext* context, rdpPointer* #if defined(WITH_XCURSOR) && defined(WITH_XRENDER) xfContext* xfc = (xfContext*)context; xfPointer* xpointer = (xfPointer*)pointer; - XcursorImage ci = { 0 }; + XcursorImage ci = WINPR_C_ARRAY_INIT; int cursorIndex = -1; if (!context || !pointer || !context->gdi) @@ -398,7 +398,7 @@ static BOOL xf_Pointer_SetNull(rdpContext* context) if (nullcursor == None) { - XcursorImage ci = { 0 }; + XcursorImage ci = WINPR_C_ARRAY_INIT; XcursorPixel xp = 0; ci.version = XCURSOR_IMAGE_VERSION; @@ -441,8 +441,8 @@ static BOOL xf_Pointer_SetDefault(rdpContext* context) static BOOL xf_Pointer_SetPosition(rdpContext* context, UINT32 x, UINT32 y) { xfContext* xfc = (xfContext*)context; - XWindowAttributes current = { 0 }; - XSetWindowAttributes tmp = { 0 }; + XWindowAttributes current = WINPR_C_ARRAY_INIT; + XSetWindowAttributes tmp = WINPR_C_ARRAY_INIT; BOOL ret = FALSE; Status rc = 0; Window handle = xf_Pointer_get_window(xfc); @@ -489,7 +489,7 @@ out: /* Graphics Module */ BOOL xf_register_pointer(rdpGraphics* graphics) { - rdpPointer pointer = { 0 }; + rdpPointer pointer = WINPR_C_ARRAY_INIT; pointer.size = sizeof(xfPointer); pointer.New = xf_Pointer_New; diff --git a/client/X11/xf_input.c b/client/X11/xf_input.c index 27245c660..1b41259c0 100644 --- a/client/X11/xf_input.c +++ b/client/X11/xf_input.c @@ -76,8 +76,8 @@ static BOOL register_input_events(xfContext* xfc, Window window) #define MAX_NR_MASKS 64 int ndevices = 0; int nmasks = 0; - XIEventMask evmasks[MAX_NR_MASKS] = { 0 }; - BYTE masks[MAX_NR_MASKS][XIMaskLen(XI_LASTEVENT)] = { 0 }; + XIEventMask evmasks[MAX_NR_MASKS] = WINPR_C_ARRAY_INIT; + BYTE masks[MAX_NR_MASKS][XIMaskLen(XI_LASTEVENT)] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(xfc); @@ -151,7 +151,7 @@ static BOOL register_input_events(xfContext* xfc, Window window) { double max_pressure = t->max; - char devName[200] = { 0 }; + char devName[200] = WINPR_C_ARRAY_INIT; strncpy(devName, dev->name, ARRAYSIZE(devName) - 1); CharLowerBuffA(devName, ARRAYSIZE(devName)); @@ -198,7 +198,7 @@ static BOOL register_input_events(xfContext* xfc, Window window) static BOOL register_raw_events(xfContext* xfc, Window window) { XIEventMask mask; - unsigned char mask_bytes[XIMaskLen(XI_LASTEVENT)] = { 0 }; + unsigned char mask_bytes[XIMaskLen(XI_LASTEVENT)] = WINPR_C_ARRAY_INIT; rdpSettings* settings = NULL; WINPR_ASSERT(xfc); @@ -224,8 +224,8 @@ static BOOL register_raw_events(xfContext* xfc, Window window) static BOOL register_device_events(xfContext* xfc, Window window) { - XIEventMask mask = { 0 }; - unsigned char mask_bytes[XIMaskLen(XI_LASTEVENT)] = { 0 }; + XIEventMask mask = WINPR_C_ARRAY_INIT; + unsigned char mask_bytes[XIMaskLen(XI_LASTEVENT)] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(xfc); @@ -410,7 +410,7 @@ static void xf_input_detect_pan(xfContext* xfc) static void xf_input_detect_pinch(xfContext* xfc) { - ZoomingChangeEventArgs e = { 0 }; + ZoomingChangeEventArgs e = WINPR_C_ARRAY_INIT; WINPR_ASSERT(xfc); rdpContext* ctx = &xfc->common.context; @@ -575,7 +575,7 @@ static void xf_input_hide_cursor(xfContext* xfc) if (!xfc->cursorHidden) { - XcursorImage ci = { 0 }; + XcursorImage ci = WINPR_C_ARRAY_INIT; XcursorPixel xp = 0; static Cursor nullcursor = None; xf_lock_x11(xfc); diff --git a/client/X11/xf_keyboard.c b/client/X11/xf_keyboard.c index 7866e6c66..681878528 100644 --- a/client/X11/xf_keyboard.c +++ b/client/X11/xf_keyboard.c @@ -662,7 +662,7 @@ static int load_map_from_xkbfile(xfContext* xfc) const int rc = XkbGetNames(xfc->display, XkbKeyNamesMask, xkb); if (rc != Success) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(xfc->log, WLOG_WARN, "XkbGetNames() != Success: [%s]", x11_error_to_string(xfc, rc, buffer, sizeof(buffer))); } @@ -806,7 +806,7 @@ BOOL xf_keyboard_init(xfContext* xfc) /* When assertions are enabled assert the lists are sorted. */ #if defined(WITH_VERBOSE_WINPR_ASSERT) { - x11_keysym_scancode_t copy[ARRAYSIZE(KEYSYM_SCANCODE_TABLE)] = { 0 }; + x11_keysym_scancode_t copy[ARRAYSIZE(KEYSYM_SCANCODE_TABLE)] = WINPR_C_ARRAY_INIT; memcpy(copy, KEYSYM_SCANCODE_TABLE, sizeof(copy)); qsort(copy, ARRAYSIZE(copy), sizeof(x11_keysym_scancode_t), keysym_cmp); @@ -815,7 +815,7 @@ BOOL xf_keyboard_init(xfContext* xfc) return FALSE; } { - struct x11_key_scancode_t copy[ARRAYSIZE(XKB_KEY_NAME_SCANCODE_TABLE)] = { 0 }; + struct x11_key_scancode_t copy[ARRAYSIZE(XKB_KEY_NAME_SCANCODE_TABLE)] = WINPR_C_ARRAY_INIT; memcpy(copy, XKB_KEY_NAME_SCANCODE_TABLE, sizeof(copy)); qsort(copy, ARRAYSIZE(copy), sizeof(struct x11_key_scancode_t), xkb_cmp); @@ -992,7 +992,7 @@ void xf_keyboard_send_key(xfContext* xfc, BOOL down, BOOL repeat, const XKeyEven { if (freerdp_settings_get_bool(xfc->common.context.settings, FreeRDP_UnicodeInput)) { - wchar_t buffer[32] = { 0 }; + wchar_t buffer[32] = WINPR_C_ARRAY_INIT; int xwc = -1; switch (rdp_scancode) @@ -1016,7 +1016,7 @@ void xf_keyboard_send_key(xfContext* xfc, BOOL down, BOOL repeat, const XKeyEven } else { - KeySym ignore = { 0 }; + KeySym ignore = WINPR_C_ARRAY_INIT; Status return_status = 0; XKeyEvent ev = *event; ev.type = KeyPress; @@ -1039,11 +1039,11 @@ void xf_keyboard_send_key(xfContext* xfc, BOOL down, BOOL repeat, const XKeyEven } else { - char str[3 * ARRAYSIZE(buffer)] = { 0 }; + char str[3 * ARRAYSIZE(buffer)] = WINPR_C_ARRAY_INIT; // NOLINTNEXTLINE(concurrency-mt-unsafe) const size_t rc = wcstombs(str, buffer, ARRAYSIZE(buffer)); - WCHAR wbuffer[ARRAYSIZE(buffer)] = { 0 }; + WCHAR wbuffer[ARRAYSIZE(buffer)] = WINPR_C_ARRAY_INIT; (void)ConvertUtf8ToWChar(str, wbuffer, rc); freerdp_input_send_unicode_keyboard_event(input, down ? 0 : KBD_FLAGS_RELEASE, wbuffer[0]); @@ -1247,8 +1247,8 @@ static int xf_keyboard_execute_action_script(xfContext* xfc, XF_MODIFIER_KEYS* m { int status = 1; BOOL match = FALSE; - char command[2048] = { 0 }; - char combination[1024] = { 0 }; + char command[2048] = WINPR_C_ARRAY_INIT; + char combination[1024] = WINPR_C_ARRAY_INIT; if (!xfc->actionScriptExists) return 1; @@ -1325,7 +1325,7 @@ static int xk_keyboard_get_modifier_keys(xfContext* xfc, XF_MODIFIER_KEYS* mod) BOOL xf_keyboard_handle_special_keys(xfContext* xfc, KeySym keysym) { - XF_MODIFIER_KEYS mod = { 0 }; + XF_MODIFIER_KEYS mod = WINPR_C_ARRAY_INIT; xk_keyboard_get_modifier_keys(xfc, &mod); // remember state of RightCtrl to ungrab keyboard if next action is release of RightCtrl @@ -1498,7 +1498,7 @@ void xf_keyboard_handle_special_keys_release(xfContext* xfc, KeySym keysym) return; // all requirements for ungrab are fulfilled, ungrabbing now - XF_MODIFIER_KEYS mod = { 0 }; + XF_MODIFIER_KEYS mod = WINPR_C_ARRAY_INIT; xk_keyboard_get_modifier_keys(xfc, &mod); if (!mod.RightCtrl) diff --git a/client/X11/xf_rail.c b/client/X11/xf_rail.c index 462b13fbb..89ab79643 100644 --- a/client/X11/xf_rail.c +++ b/client/X11/xf_rail.c @@ -148,7 +148,7 @@ BOOL xf_rail_disable_remoteapp_mode(xfContext* xfc) BOOL xf_rail_send_activate(xfContext* xfc, Window xwindow, BOOL enabled) { - RAIL_ACTIVATE_ORDER activate = { 0 }; + RAIL_ACTIVATE_ORDER activate = WINPR_C_ARRAY_INIT; xfAppWindow* appWindow = xf_AppWindowFromX11Window(xfc, xwindow); if (!appWindow) @@ -186,7 +186,7 @@ BOOL xf_rail_send_client_system_command(xfContext* xfc, UINT64 windowId, UINT16 */ BOOL xf_rail_adjust_position(xfContext* xfc, xfAppWindow* appWindow) { - RAIL_WINDOW_MOVE_ORDER windowMove = { 0 }; + RAIL_WINDOW_MOVE_ORDER windowMove = WINPR_C_ARRAY_INIT; WINPR_ASSERT(xfc); WINPR_ASSERT(appWindow); @@ -235,7 +235,7 @@ BOOL xf_rail_end_local_move(xfContext* xfc, xfAppWindow* appWindow) if ((appWindow->local_move.direction == NET_WM_MOVERESIZE_MOVE_KEYBOARD) || (appWindow->local_move.direction == NET_WM_MOVERESIZE_SIZE_KEYBOARD)) { - RAIL_WINDOW_MOVE_ORDER windowMove = { 0 }; + RAIL_WINDOW_MOVE_ORDER windowMove = WINPR_C_ARRAY_INIT; /* * For keyboard moves send and explicit update to RDP server @@ -306,7 +306,7 @@ BOOL xf_rail_paint_surface(xfContext* xfc, UINT64 windowId, const RECTANGLE_16* .bottom = WINPR_ASSERTING_INT_CAST(UINT16, MAX(appWindow->y + appWindow->height, 0)) }; - REGION16 windowInvalidRegion = { 0 }; + REGION16 windowInvalidRegion = WINPR_C_ARRAY_INIT; region16_init(&windowInvalidRegion); if (!region16_union_rect(&windowInvalidRegion, &windowInvalidRegion, &windowRect)) return FALSE; @@ -366,8 +366,8 @@ static void window_state_log_style_int(wLog* log, const WINDOW_STATE_ORDER* wind WINPR_ASSERT(windowState); if (WLog_IsLevelActive(log, log_level)) { - char buffer1[128] = { 0 }; - char buffer2[128] = { 0 }; + char buffer1[128] = WINPR_C_ARRAY_INIT; + char buffer2[128] = WINPR_C_ARRAY_INIT; window_styles_to_string(windowState->style, buffer1, sizeof(buffer1)); window_styles_ex_to_string(windowState->extendedStyle, buffer2, sizeof(buffer2)); diff --git a/client/X11/xf_utils.c b/client/X11/xf_utils.c index f47e5bb32..a9afac770 100644 --- a/client/X11/xf_utils.c +++ b/client/X11/xf_utils.c @@ -47,7 +47,7 @@ WINPR_ATTR_FORMAT_ARG(6, 7) static void write_log(wLog* log, DWORD level, const char* fname, const char* fkt, size_t line, WINPR_FORMAT_ARG const char* fmt, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); WLog_PrintTextMessageVA(log, level, line, fname, fkt, fmt, ap); va_end(ap); @@ -73,7 +73,7 @@ static int write_result_log_va(wLog* log, DWORD level, const char* fname, const const BOOL ignore = ignore_code(rc, count, ap); if (!ignore) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; if (WLog_IsLevelActive(log, level)) { @@ -90,7 +90,7 @@ static int write_result_log_expect_success(wLog* log, DWORD level, const char* f { if (rc != Success) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; (void)write_result_log_va(log, level, fname, fkt, line, display, name, rc, 0, ap); } return rc; @@ -101,7 +101,7 @@ static int write_result_log_expect_one(wLog* log, DWORD level, const char* fname { if (rc != 1) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; (void)write_result_log_va(log, level, fname, fkt, line, display, name, rc, 0, ap); } return rc; @@ -243,7 +243,7 @@ BOOL run_action_script(xfContext* xfc, const char* what, const char* arg, fn_act } { - char command[2048] = { 0 }; + char command[2048] = WINPR_C_ARRAY_INIT; (void)sprintf_s(command, sizeof(command), "%s %s", ActionScript, what); keyScript = popen(command, "r"); @@ -255,7 +255,7 @@ BOOL run_action_script(xfContext* xfc, const char* what, const char* arg, fn_act { BOOL read_data = FALSE; - char buffer[2048] = { 0 }; + char buffer[2048] = WINPR_C_ARRAY_INIT; while (fgets(buffer, sizeof(buffer), keyScript) != NULL) { char* context = NULL; @@ -289,7 +289,7 @@ int LogDynAndXCopyArea_ex(wLog* log, const char* file, const char* fkt, size_t l { if (WLog_IsLevelActive(log, log_level)) { - XWindowAttributes attr = { 0 }; + XWindowAttributes attr = WINPR_C_ARRAY_INIT; const Status rc = XGetWindowAttributes(display, dest, &attr); write_log(log, log_level, file, fkt, line, diff --git a/client/X11/xf_window.c b/client/X11/xf_window.c index d67e7d574..90e87eb42 100644 --- a/client/X11/xf_window.c +++ b/client/X11/xf_window.c @@ -231,8 +231,8 @@ static void xf_SetWindowTitleText(xfContext* xfc, Window window, const char* nam */ void xf_SendClientEvent(xfContext* xfc, Window window, Atom atom, unsigned int numArgs, ...) { - XEvent xevent = { 0 }; - va_list argp = { 0 }; + XEvent xevent = WINPR_C_ARRAY_INIT; + va_list argp = WINPR_C_ARRAY_INIT; va_start(argp, numArgs); xevent.xclient.type = ClientMessage; @@ -385,7 +385,7 @@ void xf_SetWindowFullscreen(xfContext* xfc, xfWindow* window, BOOL fullscreen) } else { - XSetWindowAttributes xswa = { 0 }; + XSetWindowAttributes xswa = WINPR_C_ARRAY_INIT; xswa.override_redirect = True; LogDynAndXChangeWindowAttributes(xfc->log, xfc->display, window->handle, CWOverrideRedirect, &xswa); @@ -654,7 +654,7 @@ void xf_DestroyDummyWindow(xfContext* xfc, Window window) xfWindow* xf_CreateDesktopWindow(xfContext* xfc, char* name, int width, int height) { - XEvent xevent = { 0 }; + XEvent xevent = WINPR_C_ARRAY_INIT; int input_mask = 0; XClassHint* classHints = NULL; xfWindow* window = (xfWindow*)calloc(1, sizeof(xfWindow)); @@ -691,7 +691,7 @@ xfWindow* xf_CreateDesktopWindow(xfContext* xfc, char* name, int width, int heig if (rc != 0) { #ifdef WITH_DEBUG_X11 - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; DEBUG_X11("ftruncate failed with %s [%d]", winpr_strerror(rc, ebuffer, sizeof(ebuffer)), rc); #endif @@ -917,7 +917,7 @@ void xf_SetWindowStyle(xfContext* xfc, xfAppWindow* appWindow, UINT32 style, UIN * sees that as a focus out event from the window owning the * dropdown. */ - XSetWindowAttributes attrs = { 0 }; + XSetWindowAttributes attrs = WINPR_C_ARRAY_INIT; attrs.override_redirect = redirect ? True : False; LogDynAndXChangeWindowAttributes(xfc->log, xfc->display, appWindow->handle, CWOverrideRedirect, &attrs); @@ -1031,7 +1031,7 @@ int xf_AppWindowInit(xfContext* xfc, xfAppWindow* appWindow) BOOL xf_AppWindowCreate(xfContext* xfc, xfAppWindow* appWindow) { - XGCValues gcv = { 0 }; + XGCValues gcv = WINPR_C_ARRAY_INIT; int input_mask = 0; XWMHints* InputModeHint = NULL; XClassHint* class_hints = NULL; diff --git a/client/common/client.c b/client/common/client.c index 93dedc543..851d1e628 100644 --- a/client/common/client.c +++ b/client/common/client.c @@ -467,7 +467,7 @@ static int client_cli_read_string(freerdp* instance, const char* what, const cha const SSIZE_T rc = freerdp_interruptible_get_line(instance->context, &line, &size, stdin); if (rc < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "freerdp_interruptible_get_line returned %s [%d]", winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); free(line); @@ -650,7 +650,7 @@ BOOL client_cli_choose_smartcard(WINPR_ATTR_UNUSED freerdp* instance, SmartcardC while (1) { - char input[10] = { 0 }; + char input[10] = WINPR_C_ARRAY_INIT; printf("\nChoose a smartcard to use for %s (0 - %" PRIu32 "): ", gateway ? "gateway authentication" : "logon", count - 1); @@ -1198,7 +1198,7 @@ BOOL client_cli_get_access_token(freerdp* instance, AccessTokenType tokenType, c "ACCESS_TOKEN_TYPE_AAD expected 2 additional arguments, but got %" PRIuz ", ignoring", count); - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, count); const char* scope = va_arg(ap, const char*); const char* req_cnf = va_arg(ap, const char*); @@ -1249,7 +1249,7 @@ BOOL client_common_get_access_token(freerdp* instance, const char* request, char if (resp_code != HTTP_STATUS_OK) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_ERROR, "Server unwilling to provide access token; returned status code %s", @@ -1466,7 +1466,7 @@ BOOL freerdp_client_encomsp_toggle_control(EncomspClientContext* encomsp) BOOL freerdp_client_encomsp_set_control(EncomspClientContext* encomsp, BOOL control) { - ENCOMSP_CHANGE_PARTICIPANT_CONTROL_LEVEL_PDU pdu = { 0 }; + ENCOMSP_CHANGE_PARTICIPANT_CONTROL_LEVEL_PDU pdu = WINPR_C_ARRAY_INIT; if (!encomsp) return FALSE; @@ -2085,7 +2085,7 @@ static BOOL freerdp_client_touch_update(rdpClientContext* cctx, UINT32 flags, IN const BOOL resetcontact = (flags & FREERDP_TOUCH_UP) != 0; if (resetcontact) { - FreeRDP_TouchContact empty = { 0 }; + FreeRDP_TouchContact empty = WINPR_C_ARRAY_INIT; *contact = empty; } return TRUE; @@ -2102,7 +2102,7 @@ BOOL freerdp_client_handle_touch(rdpClientContext* cctx, UINT32 flags, INT32 fin FREERDP_TOUCH_DOWN | FREERDP_TOUCH_UP | FREERDP_TOUCH_MOTION | FREERDP_TOUCH_CANCEL; WINPR_ASSERT(cctx); - FreeRDP_TouchContact contact = { 0 }; + FreeRDP_TouchContact contact = WINPR_C_ARRAY_INIT; if (!freerdp_client_touch_update(cctx, flags, finger, pressure, x, y, &contact)) return FALSE; @@ -2183,7 +2183,7 @@ static BOOL freerdp_client_register_pen(rdpClientContext* cctx, UINT32 flags, IN FreeRDP_PenDevice* pen = freerdp_client_get_pen(cctx, null_deviceid, &pos); if (pen) { - const FreeRDP_PenDevice empty = { 0 }; + const FreeRDP_PenDevice empty = WINPR_C_ARRAY_INIT; *pen = empty; pen->deviceid = deviceid; @@ -2203,7 +2203,7 @@ BOOL freerdp_client_handle_pen(rdpClientContext* cctx, UINT32 flags, INT32 devic #if defined(CHANNEL_RDPEI_CLIENT) if ((flags & FREERDP_PEN_REGISTER) != 0) { - va_list args = { 0 }; + va_list args = WINPR_C_ARRAY_INIT; va_start(args, deviceid); double pressure = va_arg(args, double); @@ -2231,7 +2231,7 @@ BOOL freerdp_client_handle_pen(rdpClientContext* cctx, UINT32 flags, INT32 devic UINT16 rotation = 0; INT16 tiltX = 0; INT16 tiltY = 0; - va_list args = { 0 }; + va_list args = WINPR_C_ARRAY_INIT; va_start(args, deviceid); x = va_arg(args, INT32); @@ -2572,7 +2572,7 @@ char* freerdp_client_get_aad_url(rdpClientContext* cctx, freerdp_client_aad_type WINPR_ASSERT(cctx); char* str = NULL; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, type); switch (type) { diff --git a/client/common/client_cliprdr_file.c b/client/common/client_cliprdr_file.c index 3b87490cf..66ba764eb 100644 --- a/client/common/client_cliprdr_file.c +++ b/client/common/client_cliprdr_file.c @@ -228,7 +228,7 @@ static CliprdrFuseFile* fuse_file_new(WINPR_FORMAT_ARG const char* fmt, ...) WINPR_ASSERT(fmt); { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); const int rc = winpr_vasprintf(&file->filename_with_root, &file->filename_with_root_len, fmt, ap); @@ -261,7 +261,7 @@ static void clip_data_entry_free(void* data) if (clip_data_entry->has_clip_data_id) { CliprdrFileContext* file_context = clip_data_entry->file_context; - CLIPRDR_UNLOCK_CLIPBOARD_DATA unlock_clipboard_data = { 0 }; + CLIPRDR_UNLOCK_CLIPBOARD_DATA unlock_clipboard_data = WINPR_C_ARRAY_INIT; WINPR_ASSERT(file_context); @@ -315,7 +315,7 @@ static CliprdrFuseClipDataEntry* clip_data_entry_new(CliprdrFileContext* file_co BOOL needs_clip_data_id) { CliprdrFuseClipDataEntry* clip_data_entry = NULL; - CLIPRDR_LOCK_CLIPBOARD_DATA lock_clipboard_data = { 0 }; + CLIPRDR_LOCK_CLIPBOARD_DATA lock_clipboard_data = WINPR_C_ARRAY_INIT; WINPR_ASSERT(file_context); @@ -449,7 +449,7 @@ static BOOL invalidate_inode(void* data, WINPR_ATTR_UNUSED size_t index, va_list static void clear_selection(CliprdrFileContext* file_context, BOOL all_selections, CliprdrFuseClipDataEntry* clip_data_entry) { - FuseFileClearContext clear_context = { 0 }; + FuseFileClearContext clear_context = WINPR_C_ARRAY_INIT; CliprdrFuseFile* clip_data_dir = NULL; WINPR_ASSERT(file_context); @@ -654,7 +654,7 @@ static void writelog(wLog* log, DWORD level, const char* fname, const char* fkt, if (!WLog_IsLevelActive(log, level)) return; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); WLog_PrintTextMessageVA(log, level, line, fname, fkt, fmt, ap); va_end(ap); @@ -755,7 +755,7 @@ static BOOL request_file_size_async(CliprdrFileContext* file_context, CliprdrFus fuse_req_t fuse_req, FuseLowlevelOperationType operation_type) { CliprdrFuseRequest* fuse_request = NULL; - CLIPRDR_FILE_CONTENTS_REQUEST file_contents_request = { 0 }; + CLIPRDR_FILE_CONTENTS_REQUEST file_contents_request = WINPR_C_ARRAY_INIT; WINPR_ASSERT(file_context); WINPR_ASSERT(fuse_file); @@ -819,7 +819,7 @@ static void cliprdr_file_fuse_lookup(fuse_req_t fuse_req, fuse_ino_t parent_ino, CliprdrFileContext* file_context = fuse_req_userdata(fuse_req); CliprdrFuseFile* parent = NULL; CliprdrFuseFile* fuse_file = NULL; - struct fuse_entry_param entry = { 0 }; + struct fuse_entry_param entry = WINPR_C_ARRAY_INIT; WINPR_ASSERT(file_context); @@ -869,7 +869,7 @@ static void cliprdr_file_fuse_getattr(fuse_req_t fuse_req, fuse_ino_t fuse_ino, { CliprdrFileContext* file_context = fuse_req_userdata(fuse_req); CliprdrFuseFile* fuse_file = NULL; - struct stat attr = { 0 }; + struct stat attr = WINPR_C_ARRAY_INIT; WINPR_ASSERT(file_context); @@ -942,7 +942,7 @@ static void cliprdr_file_fuse_open(fuse_req_t fuse_req, fuse_ino_t fuse_ino, static BOOL request_file_range_async(CliprdrFileContext* file_context, CliprdrFuseFile* fuse_file, fuse_req_t fuse_req, off_t offset, size_t requested_size) { - CLIPRDR_FILE_CONTENTS_REQUEST file_contents_request = { 0 }; + CLIPRDR_FILE_CONTENTS_REQUEST file_contents_request = WINPR_C_ARRAY_INIT; WINPR_ASSERT(file_context); WINPR_ASSERT(fuse_file); @@ -1063,7 +1063,7 @@ static void cliprdr_file_fuse_readdir(fuse_req_t fuse_req, fuse_ino_t fuse_ino, CliprdrFileContext* file_context = fuse_req_userdata(fuse_req); CliprdrFuseFile* fuse_file = NULL; CliprdrFuseFile* child = NULL; - struct stat attr = { 0 }; + struct stat attr = WINPR_C_ARRAY_INIT; size_t written_size = 0; size_t entry_size = 0; char* filename = NULL; @@ -1213,7 +1213,7 @@ static UINT cliprdr_file_context_server_file_contents_response( { CliprdrFileContext* file_context = NULL; CliprdrFuseRequest* fuse_request = NULL; - struct fuse_entry_param entry = { 0 }; + struct fuse_entry_param entry = WINPR_C_ARRAY_INIT; WINPR_ASSERT(cliprdr_context); WINPR_ASSERT(file_contents_response); @@ -1307,7 +1307,7 @@ static UINT cliprdr_file_context_server_file_contents_response( static UINT cliprdr_file_context_send_file_contents_failure( CliprdrFileContext* file, const CLIPRDR_FILE_CONTENTS_REQUEST* fileContentsRequest) { - CLIPRDR_FILE_CONTENTS_RESPONSE response = { 0 }; + CLIPRDR_FILE_CONTENTS_RESPONSE response = WINPR_C_ARRAY_INIT; WINPR_ASSERT(file); WINPR_ASSERT(fileContentsRequest); @@ -1411,7 +1411,7 @@ static CliprdrLocalFile* file_for_request(CliprdrFileContext* file, UINT32 lockI } if (!f->fp) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; writelog(file->log, WLOG_WARN, __FILE__, __func__, __LINE__, "[lockID %" PRIu32 ", index %" PRIu32 "] failed to open file '%s' [size %" PRId64 "] %s [%d]", @@ -1692,7 +1692,7 @@ static BOOL cliprdr_file_content_changed_and_update(void* ihash, size_t hsize, c size_t size) { - BYTE hash[WINPR_SHA256_DIGEST_LENGTH] = { 0 }; + BYTE hash[WINPR_SHA256_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; if (hsize < sizeof(hash)) return FALSE; @@ -1816,7 +1816,7 @@ static BOOL is_fuse_file_not_parent(WINPR_ATTR_UNUSED const void* key, void* val static CliprdrFuseFile* get_parent_directory(CliprdrFileContext* file_context, const char* path) { - CliprdrFuseFindParentContext find_context = { 0 }; + CliprdrFuseFindParentContext find_context = WINPR_C_ARRAY_INIT; WINPR_ASSERT(file_context); WINPR_ASSERT(path); @@ -1852,7 +1852,7 @@ static BOOL selection_handle_file(CliprdrFileContext* file_context, CliprdrFuseFile* clip_data_dir = clip_data_entry->clip_data_dir; WINPR_ASSERT(clip_data_dir); - char filename[ARRAYSIZE(file->cFileName) * 8] = { 0 }; + char filename[ARRAYSIZE(file->cFileName) * 8] = WINPR_C_ARRAY_INIT; const SSIZE_T filenamelen = ConvertWCharNToUtf8(file->cFileName, ARRAYSIZE(file->cFileName), filename, ARRAYSIZE(filename) - 1); if (filenamelen < 0) @@ -2119,7 +2119,7 @@ static BOOL create_base_path(CliprdrFileContext* file) { WINPR_ASSERT(file); - char base[64] = { 0 }; + char base[64] = WINPR_C_ARRAY_INIT; (void)_snprintf(base, sizeof(base), "com.freerdp.client.cliprdr.%" PRIu32, GetCurrentProcessId()); @@ -2137,7 +2137,7 @@ static BOOL create_base_path(CliprdrFileContext* file) static void cliprdr_local_file_free(CliprdrLocalFile* file) { - const CliprdrLocalFile empty = { 0 }; + const CliprdrLocalFile empty = WINPR_C_ARRAY_INIT; if (!file) return; if (file->fp) @@ -2152,7 +2152,7 @@ static void cliprdr_local_file_free(CliprdrLocalFile* file) static BOOL cliprdr_local_file_new(CliprdrFileContext* context, CliprdrLocalFile* f, const char* path) { - const CliprdrLocalFile empty = { 0 }; + const CliprdrLocalFile empty = WINPR_C_ARRAY_INIT; WINPR_ASSERT(f); WINPR_ASSERT(context); WINPR_ASSERT(path); @@ -2214,7 +2214,7 @@ static BOOL is_directory(const char* path) if (hFile == INVALID_HANDLE_VALUE) return FALSE; - BY_HANDLE_FILE_INFORMATION fileInformation = { 0 }; + BY_HANDLE_FILE_INFORMATION fileInformation = WINPR_C_ARRAY_INIT; const BOOL status = GetFileInformationByHandle(hFile, &fileInformation); (void)CloseHandle(hFile); if (!status) @@ -2233,7 +2233,7 @@ static BOOL add_directory(CliprdrLocalStream* stream, const char* path) if (!wpath) return FALSE; - WIN32_FIND_DATAW FindFileData = { 0 }; + WIN32_FIND_DATAW FindFileData = WINPR_C_ARRAY_INIT; HANDLE hFind = FindFirstFileW(wpath, &FindFileData); free(wpath); @@ -2243,8 +2243,8 @@ static BOOL add_directory(CliprdrLocalStream* stream, const char* path) BOOL rc = FALSE; char* next = NULL; - WCHAR dotbuffer[6] = { 0 }; - WCHAR dotdotbuffer[6] = { 0 }; + WCHAR dotbuffer[6] = WINPR_C_ARRAY_INIT; + WCHAR dotdotbuffer[6] = WINPR_C_ARRAY_INIT; const WCHAR* dot = InitializeConstWCharFromUtf8(".", dotbuffer, ARRAYSIZE(dotbuffer)); const WCHAR* dotdot = InitializeConstWCharFromUtf8("..", dotdotbuffer, ARRAYSIZE(dotdotbuffer)); do @@ -2254,7 +2254,7 @@ static BOOL add_directory(CliprdrLocalStream* stream, const char* path) if (_wcscmp(FindFileData.cFileName, dotdot) == 0) continue; - char cFileName[MAX_PATH] = { 0 }; + char cFileName[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)ConvertWCharNToUtf8(FindFileData.cFileName, ARRAYSIZE(FindFileData.cFileName), cFileName, ARRAYSIZE(cFileName)); diff --git a/client/common/cmdline.c b/client/common/cmdline.c index 81acc27ae..88bd87b59 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -110,7 +110,7 @@ static BOOL freerdp_client_print_codepages(const char* arg) for (size_t x = 0; x < count; x++) { const RDP_CODEPAGE* page = &pages[x]; - char buffer[2048] = { 0 }; + char buffer[2048] = WINPR_C_ARRAY_INIT; if (strnlen(page->subLanguageSymbol, ARRAYSIZE(page->subLanguageSymbol)) > 0) (void)_snprintf(buffer, sizeof(buffer), "[%s|%s]", page->primaryLanguageSymbol, @@ -1715,10 +1715,10 @@ static void freerdp_client_print_keyboard_list(void) static void freerdp_client_print_timezone_list(void) { DWORD index = 0; - DYNAMIC_TIME_ZONE_INFORMATION info = { 0 }; + DYNAMIC_TIME_ZONE_INFORMATION info = WINPR_C_ARRAY_INIT; while (EnumDynamicTimeZoneInformation(index++, &info) != ERROR_NO_MORE_ITEMS) { - char TimeZoneKeyName[ARRAYSIZE(info.TimeZoneKeyName) + 1] = { 0 }; + char TimeZoneKeyName[ARRAYSIZE(info.TimeZoneKeyName) + 1] = WINPR_C_ARRAY_INIT; (void)ConvertWCharNToUtf8(info.TimeZoneKeyName, ARRAYSIZE(info.TimeZoneKeyName), TimeZoneKeyName, ARRAYSIZE(TimeZoneKeyName)); @@ -4638,8 +4638,8 @@ static int parse_command_line_option_timezone(rdpSettings* settings, { BOOL found = FALSE; DWORD index = 0; - DYNAMIC_TIME_ZONE_INFORMATION info = { 0 }; - char TimeZoneKeyName[ARRAYSIZE(info.TimeZoneKeyName) + 1] = { 0 }; + DYNAMIC_TIME_ZONE_INFORMATION info = WINPR_C_ARRAY_INIT; + char TimeZoneKeyName[ARRAYSIZE(info.TimeZoneKeyName) + 1] = WINPR_C_ARRAY_INIT; while (EnumDynamicTimeZoneInformation(index++, &info) != ERROR_NO_MORE_ITEMS) { (void)ConvertWCharNToUtf8(info.TimeZoneKeyName, ARRAYSIZE(info.TimeZoneKeyName), @@ -5643,7 +5643,7 @@ static int freerdp_client_settings_parse_command_line_arguments_int( freerdp* instance = freerdp_settings_get_pointer_writable(settings, FreeRDP_instance); if (!freerdp_settings_get_string(settings, FreeRDP_Password)) { - char buffer[512 + 1] = { 0 }; + char buffer[512 + 1] = WINPR_C_ARRAY_INIT; if (!freerdp_passphrase_read(instance->context, "Password: ", buffer, ARRAYSIZE(buffer) - 1, 1)) @@ -5657,7 +5657,7 @@ static int freerdp_client_settings_parse_command_line_arguments_int( { if (!freerdp_settings_get_string(settings, FreeRDP_GatewayPassword)) { - char buffer[512 + 1] = { 0 }; + char buffer[512 + 1] = WINPR_C_ARRAY_INIT; if (!freerdp_passphrase_read(instance->context, "Gateway Password: ", buffer, ARRAYSIZE(buffer) - 1, 1)) diff --git a/client/common/file.c b/client/common/file.c index e74a9255a..3810e57f1 100644 --- a/client/common/file.c +++ b/client/common/file.c @@ -1455,7 +1455,7 @@ WINPR_ATTR_FORMAT_ARG(3, 4) static SSIZE_T freerdp_client_write_setting_to_buffer(char** buffer, size_t* bufferSize, WINPR_FORMAT_ARG const char* fmt, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; SSIZE_T len = 0; char* buf = NULL; size_t bufSize = 0; @@ -2456,7 +2456,7 @@ BOOL freerdp_client_populate_settings_from_rdp_file_unchecked(const rdpFile* fil BOOL status = TRUE; if (~file->EncodeRedirectedVideoCapture) { - char encode[64] = { 0 }; + char encode[64] = WINPR_C_ARRAY_INIT; (void)_snprintf(encode, sizeof(encode), "encode:%" PRIu32, file->EncodeRedirectedVideoCapture); if (!freerdp_addin_argv_add_argument(args, encode)) @@ -2464,7 +2464,7 @@ BOOL freerdp_client_populate_settings_from_rdp_file_unchecked(const rdpFile* fil } if (~file->RedirectedVideoCaptureEncodingQuality) { - char quality[64] = { 0 }; + char quality[64] = WINPR_C_ARRAY_INIT; (void)_snprintf(quality, sizeof(quality), "quality:%" PRIu32, file->RedirectedVideoCaptureEncodingQuality); if (!freerdp_addin_argv_add_argument(args, quality)) diff --git a/client/common/man/generate_argument_manpage.c b/client/common/man/generate_argument_manpage.c index c3b4982b6..11296b9ed 100644 --- a/client/common/man/generate_argument_manpage.c +++ b/client/common/man/generate_argument_manpage.c @@ -59,7 +59,7 @@ static LPSTR tr_esc_str(LPCSTR arg, bool format, int* failed) for (size_t x = 0; x < s; x++) { - char data[2] = { 0 }; + char data[2] = WINPR_C_ARRAY_INIT; switch (arg[x]) { case '-': diff --git a/client/common/smartcard_cli.c b/client/common/smartcard_cli.c index 2832e9285..aac0473f2 100644 --- a/client/common/smartcard_cli.c +++ b/client/common/smartcard_cli.c @@ -34,7 +34,7 @@ BOOL freerdp_smartcard_list(const rdpSettings* settings) for (size_t i = 0; i < count; i++) { const SmartcardCertInfo* info = certs[i]; - char asciiStr[256] = { 0 }; + char asciiStr[256] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(info); diff --git a/client/common/sso_mib_tokens.c b/client/common/sso_mib_tokens.c index 16ed39e0e..41c94bc5a 100644 --- a/client/common/sso_mib_tokens.c +++ b/client/common/sso_mib_tokens.c @@ -153,7 +153,7 @@ static BOOL sso_mib_get_access_token(rdpContext* context, AccessTokenType tokenT const char* scope = NULL; const char* req_cnf = NULL; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, count); if (tokenType == ACCESS_TOKEN_TYPE_AAD) diff --git a/client/common/test/TestClientRdpFile.c b/client/common/test/TestClientRdpFile.c index a2d956df7..5042a0579 100644 --- a/client/common/test/TestClientRdpFile.c +++ b/client/common/test/TestClientRdpFile.c @@ -241,7 +241,7 @@ static char* append(const char* fmt, ...) { int rc = 0; char* dst = NULL; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); rc = vsnprintf(NULL, 0, fmt, ap); @@ -305,7 +305,7 @@ static void* read_rdp_data(const char* name, size_t* plen) fail: if (!success) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_ERR(__func__, "failed to read data from '%s': %s", name, winpr_strerror(errno, buffer, sizeof(buffer))); free(json); @@ -500,7 +500,7 @@ static bool test_rdp_files(bool allowCreate) if (!path) goto fail; - WIN32_FIND_DATAW FindData = { 0 }; + WIN32_FIND_DATAW FindData = WINPR_C_ARRAY_INIT; hdl = FindFirstFileUTF8(path, &FindData); if (hdl == INVALID_HANDLE_VALUE) @@ -517,8 +517,8 @@ static bool test_rdp_files(bool allowCreate) { if ((FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0) { - char cFileName[6 * MAX_PATH] = { 0 }; - char rdp[6 * MAX_PATH] = { 0 }; + char cFileName[6 * MAX_PATH] = WINPR_C_ARRAY_INIT; + char rdp[6 * MAX_PATH] = WINPR_C_ARRAY_INIT; ConvertWCharToUtf8(FindData.cFileName, cFileName, sizeof(cFileName)); const size_t len = strnlen(cFileName, sizeof(cFileName)); if (len < 4) diff --git a/client/iOS/FreeRDP/ios_cliprdr.m b/client/iOS/FreeRDP/ios_cliprdr.m index e71a1ec7e..4f4d3eee1 100644 --- a/client/iOS/FreeRDP/ios_cliprdr.m +++ b/client/iOS/FreeRDP/ios_cliprdr.m @@ -39,7 +39,7 @@ UINT ios_cliprdr_send_client_format_list(CliprdrClientContext *cliprdr) UINT32 *pFormatIds; const char *formatName; CLIPRDR_FORMAT *formats; - CLIPRDR_FORMAT_LIST formatList = { 0 }; + CLIPRDR_FORMAT_LIST formatList = WINPR_C_ARRAY_INIT; if (!cliprdr) return ERROR_INVALID_PARAMETER; @@ -91,7 +91,7 @@ static UINT ios_cliprdr_send_client_format_data_request(CliprdrClientContext *cl UINT32 formatId) { UINT rc = ERROR_INVALID_PARAMETER; - CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = { 0 }; + CLIPRDR_FORMAT_DATA_REQUEST formatDataRequest = WINPR_C_ARRAY_INIT; mfContext *afc; if (!cliprdr) @@ -325,7 +325,7 @@ ios_cliprdr_server_format_data_request(CliprdrClientContext *cliprdr, BYTE *data; UINT32 size; UINT32 formatId; - CLIPRDR_FORMAT_DATA_RESPONSE response = { 0 }; + CLIPRDR_FORMAT_DATA_RESPONSE response = WINPR_C_ARRAY_INIT; mfContext *afc; if (!cliprdr || !formatDataRequest || !cliprdr->ClientFormatDataResponse) diff --git a/client/iOS/FreeRDP/ios_freerdp.m b/client/iOS/FreeRDP/ios_freerdp.m index 1db23e32a..4a1a25402 100644 --- a/client/iOS/FreeRDP/ios_freerdp.m +++ b/client/iOS/FreeRDP/ios_freerdp.m @@ -203,7 +203,7 @@ static BOOL ios_Pointer_SetDefault(rdpContext *context) static BOOL ios_register_pointer(rdpGraphics *graphics) { - rdpPointer pointer = { 0 }; + rdpPointer pointer = WINPR_C_ARRAY_INIT; if (!graphics) return FALSE; @@ -279,7 +279,7 @@ int ios_run_freerdp(freerdp *instance) { DWORD status; DWORD nCount = 0; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; pool = [[NSAutoreleasePool alloc] init]; nCount = freerdp_get_event_handles(instance->context, handles, ARRAYSIZE(handles)); diff --git a/client/iOS/Models/RDPSession.m b/client/iOS/Models/RDPSession.m index d6b6535ae..e53e5f5ce 100644 --- a/client/iOS/Models/RDPSession.m +++ b/client/iOS/Models/RDPSession.m @@ -46,7 +46,7 @@ NSString *TSXSessionDidFailToConnectNotification = @"TSXSessionDidFailToConnect" static BOOL addArgument(int *argc, char ***argv, const char *fmt, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; char *arg = NULL; char **tmp = realloc(*argv, (*argc + 1) * sizeof(char *)); diff --git a/libfreerdp/cache/bitmap.c b/libfreerdp/cache/bitmap.c index 96607444e..d38fa4c60 100644 --- a/libfreerdp/cache/bitmap.c +++ b/libfreerdp/cache/bitmap.c @@ -322,7 +322,7 @@ static int bitmap_cache_save_persistent(rdpBitmapCache* bitmapCache) BITMAP_V2_CELL* cell = &bitmapCache->cells[i]; for (UINT32 j = 0; j < cell->number + 1 && cell->entries; j++) { - PERSISTENT_CACHE_ENTRY cacheEntry = { 0 }; + PERSISTENT_CACHE_ENTRY cacheEntry = WINPR_C_ARRAY_INIT; rdpBitmap* bitmap = cell->entries[j]; if (!bitmap || !bitmap->key64) diff --git a/libfreerdp/cache/glyph.c b/libfreerdp/cache/glyph.c index 34c46e0f6..b4f87f36d 100644 --- a/libfreerdp/cache/glyph.c +++ b/libfreerdp/cache/glyph.c @@ -139,7 +139,7 @@ static BOOL update_process_glyph_fragments(rdpContext* context, const BYTE* data UINT32 size = 0; UINT32 index = 0; const BYTE* fragments = NULL; - RDP_RECT bound = { 0 }; + RDP_RECT bound = WINPR_C_ARRAY_INIT; BOOL rc = FALSE; if (!context || !data || !context->graphics || !context->cache || !context->cache->glyph) @@ -405,7 +405,7 @@ static BOOL update_gdi_fast_glyph(rdpContext* context, const FAST_GLYPH_ORDER* f { INT32 x = 0; INT32 y = 0; - BYTE text_data[4] = { 0 }; + BYTE text_data[4] = WINPR_C_ARRAY_INIT; INT32 opLeft = 0; INT32 opTop = 0; INT32 opRight = 0; diff --git a/libfreerdp/cache/persistent.c b/libfreerdp/cache/persistent.c index 16025b8da..c2ab50072 100644 --- a/libfreerdp/cache/persistent.c +++ b/libfreerdp/cache/persistent.c @@ -56,7 +56,7 @@ int persistent_cache_get_count(rdpPersistentCache* persistent) static int persistent_cache_read_entry_v2(rdpPersistentCache* persistent, PERSISTENT_CACHE_ENTRY* entry) { - PERSISTENT_CACHE_ENTRY_V2 entry2 = { 0 }; + PERSISTENT_CACHE_ENTRY_V2 entry2 = WINPR_C_ARRAY_INIT; WINPR_ASSERT(persistent); WINPR_ASSERT(entry); @@ -81,7 +81,7 @@ static int persistent_cache_read_entry_v2(rdpPersistentCache* persistent, static int persistent_cache_write_entry_v2(rdpPersistentCache* persistent, const PERSISTENT_CACHE_ENTRY* entry) { - PERSISTENT_CACHE_ENTRY_V2 entry2 = { 0 }; + PERSISTENT_CACHE_ENTRY_V2 entry2 = WINPR_C_ARRAY_INIT; WINPR_ASSERT(persistent); WINPR_ASSERT(entry); @@ -118,7 +118,7 @@ static int persistent_cache_read_v2(rdpPersistentCache* persistent) WINPR_ASSERT(persistent); while (1) { - PERSISTENT_CACHE_ENTRY_V2 entry = { 0 }; + PERSISTENT_CACHE_ENTRY_V2 entry = WINPR_C_ARRAY_INIT; if (fread((void*)&entry, sizeof(entry), 1, persistent->fp) != 1) break; @@ -135,7 +135,7 @@ static int persistent_cache_read_v2(rdpPersistentCache* persistent) static int persistent_cache_read_entry_v3(rdpPersistentCache* persistent, PERSISTENT_CACHE_ENTRY* entry) { - PERSISTENT_CACHE_ENTRY_V3 entry3 = { 0 }; + PERSISTENT_CACHE_ENTRY_V3 entry3 = WINPR_C_ARRAY_INIT; WINPR_ASSERT(persistent); WINPR_ASSERT(entry); @@ -175,7 +175,7 @@ static int persistent_cache_read_entry_v3(rdpPersistentCache* persistent, static int persistent_cache_write_entry_v3(rdpPersistentCache* persistent, const PERSISTENT_CACHE_ENTRY* entry) { - PERSISTENT_CACHE_ENTRY_V3 entry3 = { 0 }; + PERSISTENT_CACHE_ENTRY_V3 entry3 = WINPR_C_ARRAY_INIT; WINPR_ASSERT(persistent); WINPR_ASSERT(entry); @@ -200,7 +200,7 @@ static int persistent_cache_read_v3(rdpPersistentCache* persistent) WINPR_ASSERT(persistent); while (1) { - PERSISTENT_CACHE_ENTRY_V3 entry = { 0 }; + PERSISTENT_CACHE_ENTRY_V3 entry = WINPR_C_ARRAY_INIT; if (fread((void*)&entry, sizeof(entry), 1, persistent->fp) != 1) break; @@ -243,7 +243,7 @@ int persistent_cache_write_entry(rdpPersistentCache* persistent, static int persistent_cache_open_read(rdpPersistentCache* persistent) { - BYTE sig[8] = { 0 }; + BYTE sig[8] = WINPR_C_ARRAY_INIT; int status = 1; long offset = 0; @@ -295,7 +295,7 @@ static int persistent_cache_open_write(rdpPersistentCache* persistent) if (persistent->version == 3) { - PERSISTENT_CACHE_HEADER_V3 header = { 0 }; + PERSISTENT_CACHE_HEADER_V3 header = WINPR_C_ARRAY_INIT; memcpy(header.sig, sig_str, MIN(sizeof(header.sig), sizeof(sig_str))); header.flags = 0x00000006; diff --git a/libfreerdp/codec/bitmap.c b/libfreerdp/codec/bitmap.c index c0d25653b..34d1ea8d5 100644 --- a/libfreerdp/codec/bitmap.c +++ b/libfreerdp/codec/bitmap.c @@ -38,7 +38,7 @@ struct count static inline void reset_counts(struct count* counts) { - const struct count empty = { 0 }; + const struct count empty = WINPR_C_ARRAY_INIT; WINPR_ASSERT(counts); *counts = empty; } @@ -454,12 +454,12 @@ static inline SSIZE_T freerdp_bitmap_compress_24(const void* WINPR_RESTRICT srcD UINT32 start_line, wStream* WINPR_RESTRICT temp_s, UINT32 e) { - uint8_t fom_mask[8192] = { 0 }; /* good for up to 64K bitmap */ + uint8_t fom_mask[8192] = WINPR_C_ARRAY_INIT; /* good for up to 64K bitmap */ SSIZE_T lines_sent = 0; UINT16 count = 0; UINT32 last_pixel = 0; UINT32 last_ypixel = 0; - struct count counts = { 0 }; + struct count counts = WINPR_C_ARRAY_INIT; UINT32 bicolor1 = 0; UINT32 bicolor2 = 0; UINT32 end = width + e; @@ -777,12 +777,12 @@ static inline SSIZE_T freerdp_bitmap_compress_16(const void* WINPR_RESTRICT srcD UINT32 byte_limit, UINT32 start_line, wStream* WINPR_RESTRICT temp_s, UINT32 e) { - uint8_t fom_mask[8192] = { 0 }; /* good for up to 64K bitmap */ + uint8_t fom_mask[8192] = WINPR_C_ARRAY_INIT; /* good for up to 64K bitmap */ SSIZE_T lines_sent = 0; UINT16 count = 0; UINT16 last_pixel = 0; UINT16 last_ypixel = 0; - struct count counts = { 0 }; + struct count counts = WINPR_C_ARRAY_INIT; UINT16 bicolor1 = 0; UINT16 bicolor2 = 0; UINT32 end = width + e; diff --git a/libfreerdp/codec/clear.c b/libfreerdp/codec/clear.c index 65b0dfb1c..c33b5e415 100644 --- a/libfreerdp/codec/clear.c +++ b/libfreerdp/codec/clear.c @@ -165,7 +165,7 @@ static BOOL clear_decompress_subcode_rlex(wStream* WINPR_RESTRICT s, UINT32 bitm BYTE suiteIndex = 0; BYTE suiteDepth = 0; BYTE paletteCount = 0; - UINT32 palette[128] = { 0 }; + UINT32 palette[128] = WINPR_C_ARRAY_INIT; if (!Stream_CheckAndLogRequiredLength(TAG, s, bitmapDataByteCount)) return FALSE; @@ -1035,7 +1035,7 @@ INT32 clear_decompress(CLEAR_CONTEXT* WINPR_RESTRICT clear, const BYTE* WINPR_RE UINT32 residualByteCount = 0; UINT32 bandsByteCount = 0; UINT32 subcodecByteCount = 0; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = NULL; BYTE* glyphData = NULL; diff --git a/libfreerdp/codec/color.c b/libfreerdp/codec/color.c index c011e4295..ad2a8cee1 100644 --- a/libfreerdp/codec/color.c +++ b/libfreerdp/codec/color.c @@ -221,7 +221,7 @@ static void dump_pointer_data(UINT32 nXDst, UINT32 nYDst, UINT32 nWidth, UINT32 const uint32_t bpp = FreeRDPGetBytesPerPixel(format); const uint32_t step = nWidth * bpp; BYTE* bmp = calloc(step * 2, nHeight); - char prefix[64] = { 0 }; + char prefix[64] = WINPR_C_ARRAY_INIT; char* path = get_dump_name(prefix, sizeof(prefix)); if (!bmp || !path) diff --git a/libfreerdp/codec/dsp.c b/libfreerdp/codec/dsp.c index 0bb153b13..5f5ae8f05 100644 --- a/libfreerdp/codec/dsp.c +++ b/libfreerdp/codec/dsp.c @@ -451,7 +451,7 @@ static BOOL freerdp_dsp_decode_gsm610(FREERDP_DSP_CONTEXT* WINPR_RESTRICT contex while (offset < size) { int rc; - gsm_signal gsmBlockBuffer[160] = { 0 }; + gsm_signal gsmBlockBuffer[160] = WINPR_C_ARRAY_INIT; rc = gsm_decode(context->gsm, (gsm_byte*)/* API does not modify */ &src[offset], gsmBlockBuffer); diff --git a/libfreerdp/codec/dsp_fdk_aac.c b/libfreerdp/codec/dsp_fdk_aac.c index 3b0737c95..d7cd60fec 100644 --- a/libfreerdp/codec/dsp_fdk_aac.c +++ b/libfreerdp/codec/dsp_fdk_aac.c @@ -31,9 +31,9 @@ static void write_log(unsigned log_level, WINPR_FORMAT_ARG const char* fmt, ...) if (WLog_IsLevelActive(log, log_level)) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); (void)vsnprintf(buffer, sizeof(buffer), fmt, ap); va_end(ap); diff --git a/libfreerdp/codec/dsp_fdk_impl.c b/libfreerdp/codec/dsp_fdk_impl.c index d2f3442f7..a9a9bd3df 100644 --- a/libfreerdp/codec/dsp_fdk_impl.c +++ b/libfreerdp/codec/dsp_fdk_impl.c @@ -205,7 +205,7 @@ static void log_dec_info(const CStreamInfo* info, void (*log)(const char* fmt, . static void log_enc_info(const AACENC_InfoStruct* info, fdk_log_fkt_t log) { - char confBuf[1024] = { 0 }; + char confBuf[1024] = WINPR_C_ARRAY_INIT; assert(info); assert(log); @@ -460,7 +460,7 @@ int fdk_aac_dsp_impl_config(void* handle, size_t* pbuffersize, int encoder, unsi return -1; } - AACENC_InfoStruct info = { 0 }; + AACENC_InfoStruct info = WINPR_C_ARRAY_INIT; err = aacEncInfo(self, &info); if (err != AACENC_OK) { @@ -535,7 +535,7 @@ ssize_t fdk_aac_dsp_impl_stream_info(void* handle, int encoder, fdk_log_fkt_t lo if (encoder) { - AACENC_InfoStruct info = { 0 }; + AACENC_InfoStruct info = WINPR_C_ARRAY_INIT; HANDLE_AACENCODER self = (HANDLE_AACENCODER)handle; AACENC_ERROR err = aacEncInfo(self, &info); if (err != AACENC_OK) @@ -595,7 +595,7 @@ ssize_t fdk_aac_dsp_impl_encode(void* handle, const void* data, size_t size, voi const AACENC_InArgs inArgs = { .numInSamples = (INT)(size / sizeof(INT_PCM)), /* TODO: 8/16 bit input? */ .numAncBytes = 0 }; - AACENC_OutArgs outArgs = { 0 }; + AACENC_OutArgs outArgs = WINPR_C_ARRAY_INIT; HANDLE_AACENCODER self = (HANDLE_AACENCODER)handle; diff --git a/libfreerdp/codec/dsp_ffmpeg.c b/libfreerdp/codec/dsp_ffmpeg.c index 94245847e..dd15c48e7 100644 --- a/libfreerdp/codec/dsp_ffmpeg.c +++ b/libfreerdp/codec/dsp_ffmpeg.c @@ -808,7 +808,7 @@ BOOL freerdp_dsp_ffmpeg_encode(FREERDP_DSP_CONTEXT* WINPR_RESTRICT context, const BYTE* WINPR_RESTRICT sdata, size_t length, wStream* WINPR_RESTRICT out) { - AUDIO_FORMAT fmt = { 0 }; + AUDIO_FORMAT fmt = WINPR_C_ARRAY_INIT; if (!context || !format || !sdata || !out || !context->common.encoder) return FALSE; diff --git a/libfreerdp/codec/h264.c b/libfreerdp/codec/h264.c index 5765758fe..c07bde3dc 100644 --- a/libfreerdp/codec/h264.c +++ b/libfreerdp/codec/h264.c @@ -283,9 +283,9 @@ INT32 avc420_compress(H264_CONTEXT* h264, const BYTE* pSrcData, DWORD SrcFormat, BYTE** ppDstData, UINT32* pDstSize, RDPGFX_H264_METABLOCK* meta) { INT32 rc = -1; - BYTE* pYUVData[3] = { 0 }; - const BYTE* pcYUVData[3] = { 0 }; - BYTE* pOldYUVData[3] = { 0 }; + BYTE* pYUVData[3] = WINPR_C_ARRAY_INIT; + const BYTE* pcYUVData[3] = WINPR_C_ARRAY_INIT; + BYTE* pOldYUVData[3] = WINPR_C_ARRAY_INIT; if (!h264 || !regionRect || !meta || !h264->Compressor) return -1; @@ -639,7 +639,7 @@ INT32 avc444_decompress(H264_CONTEXT* h264, BYTE op, const RECTANGLE_16* regionR #define MAX_SUBSYSTEMS 10 static INIT_ONCE subsystems_once = INIT_ONCE_STATIC_INIT; -static const H264_CONTEXT_SUBSYSTEM* subSystems[MAX_SUBSYSTEMS] = { 0 }; +static const H264_CONTEXT_SUBSYSTEM* subSystems[MAX_SUBSYSTEMS] = WINPR_C_ARRAY_INIT; static BOOL CALLBACK h264_register_subsystems(WINPR_ATTR_UNUSED PINIT_ONCE once, WINPR_ATTR_UNUSED PVOID param, @@ -780,7 +780,7 @@ void h264_context_free(H264_CONTEXT* h264) void free_h264_metablock(RDPGFX_H264_METABLOCK* meta) { - RDPGFX_H264_METABLOCK m = { 0 }; + RDPGFX_H264_METABLOCK m = WINPR_C_ARRAY_INIT; if (!meta) return; free(meta->quantQualityVals); diff --git a/libfreerdp/codec/h264_mf.c b/libfreerdp/codec/h264_mf.c index 4bdc3882f..61b900d08 100644 --- a/libfreerdp/codec/h264_mf.c +++ b/libfreerdp/codec/h264_mf.c @@ -485,7 +485,7 @@ static BOOL mf_init(H264_CONTEXT* h264) } else { - VARIANT var = { 0 }; + VARIANT var = WINPR_C_ARRAY_INIT; hr = sys->MFStartup(MF_VERSION, 0); if (FAILED(hr)) diff --git a/libfreerdp/codec/h264_openh264.c b/libfreerdp/codec/h264_openh264.c index fd314a24d..dc32e6c4d 100644 --- a/libfreerdp/codec/h264_openh264.c +++ b/libfreerdp/codec/h264_openh264.c @@ -83,7 +83,7 @@ static int openh264_decompress(H264_CONTEXT* WINPR_RESTRICT h264, const BYTE* WINPR_RESTRICT pSrcData, UINT32 SrcSize) { DECODING_STATE state = dsInvalidArgument; - SBufferInfo sBufferInfo = { 0 }; + SBufferInfo sBufferInfo = WINPR_C_ARRAY_INIT; SSysMEMBuffer* pSystemBuffer = NULL; H264_CONTEXT_OPENH264* sys = NULL; UINT32* iStride = NULL; @@ -184,8 +184,8 @@ static int openh264_compress(H264_CONTEXT* WINPR_RESTRICT h264, UINT32* WINPR_RESTRICT pDstSize) { int status = 0; - SFrameBSInfo info = { 0 }; - SSourcePicture pic = { 0 }; + SFrameBSInfo info = WINPR_C_ARRAY_INIT; + SSourcePicture pic = WINPR_C_ARRAY_INIT; H264_CONTEXT_OPENH264* sys = NULL; @@ -316,7 +316,7 @@ static int openh264_compress(H264_CONTEXT* WINPR_RESTRICT h264, case H264_RATECONTROL_VBR: if (sys->EncParamExt.iTargetBitrate != (int)h264->BitRate) { - SBitrateInfo bitrate = { 0 }; + SBitrateInfo bitrate = WINPR_C_ARRAY_INIT; sys->EncParamExt.iTargetBitrate = (int)h264->BitRate; bitrate.iLayer = SPATIAL_LAYER_ALL; @@ -557,7 +557,7 @@ static BOOL openh264_init(H264_CONTEXT* h264) for (UINT32 x = 0; x < h264->numSystemData; x++) { - SDecodingParam sDecParam = { 0 }; + SDecodingParam sDecParam = WINPR_C_ARRAY_INIT; H264_CONTEXT_OPENH264* sys = &sysContexts[x]; if (h264->Compressor) diff --git a/libfreerdp/codec/nsc.c b/libfreerdp/codec/nsc.c index 3bcd0a480..d46490f3c 100644 --- a/libfreerdp/codec/nsc.c +++ b/libfreerdp/codec/nsc.c @@ -438,7 +438,7 @@ BOOL nsc_process_message(NSC_CONTEXT* WINPR_RESTRICT context, UINT16 bpp, UINT32 WINPR_ASSERT(context); WINPR_ASSERT(context->priv); - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; BOOL ret = 0; if (!data || !pDstData) { diff --git a/libfreerdp/codec/nsc_encode.c b/libfreerdp/codec/nsc_encode.c index a0a82139a..087383927 100644 --- a/libfreerdp/codec/nsc_encode.c +++ b/libfreerdp/codec/nsc_encode.c @@ -458,7 +458,7 @@ BOOL nsc_compose_message(NSC_CONTEXT* WINPR_RESTRICT context, wStream* WINPR_RES UINT32 scanline) { BOOL rc = 0; - NSC_MESSAGE message = { 0 }; + NSC_MESSAGE message = WINPR_C_ARRAY_INIT; if (!context || !s || !data) return FALSE; diff --git a/libfreerdp/codec/planar.c b/libfreerdp/codec/planar.c index 5b8518505..825771fcc 100644 --- a/libfreerdp/codec/planar.c +++ b/libfreerdp/codec/planar.c @@ -716,10 +716,10 @@ BOOL freerdp_bitmap_decompress_planar(BITMAP_PLANAR_CONTEXT* WINPR_RESTRICT plan BOOL useAlpha = FALSE; INT32 status = 0; INT32 rleSizes[4] = { 0, 0, 0, 0 }; - UINT32 rawSizes[4] = { 0 }; - UINT32 rawWidths[4] = { 0 }; - UINT32 rawHeights[4] = { 0 }; - const BYTE* planes[4] = { 0 }; + UINT32 rawSizes[4] = WINPR_C_ARRAY_INIT; + UINT32 rawWidths[4] = WINPR_C_ARRAY_INIT; + UINT32 rawHeights[4] = WINPR_C_ARRAY_INIT; + const BYTE* planes[4] = WINPR_C_ARRAY_INIT; const UINT32 w = MIN(nSrcWidth, nDstWidth); const UINT32 h = MIN(nSrcHeight, nDstHeight); const primitives_t* prims = primitives_get(); @@ -1043,7 +1043,7 @@ BOOL freerdp_bitmap_decompress_planar(BITMAP_PLANAR_CONTEXT* WINPR_RESTRICT plan if (rle) /* RLE encoded data. Decode and handle it like raw data. */ { - BYTE* rleBuffer[4] = { 0 }; + BYTE* rleBuffer[4] = WINPR_C_ARRAY_INIT; if (!planar->rlePlanesBuffer) return FALSE; @@ -1532,7 +1532,7 @@ BYTE* freerdp_bitmap_compress_planar(BITMAP_PLANAR_CONTEXT* WINPR_RESTRICT conte { UINT32 size = 0; BYTE* dstp = NULL; - UINT32 dstSizes[4] = { 0 }; + UINT32 dstSizes[4] = WINPR_C_ARRAY_INIT; BYTE FormatHeader = 0; if (!context || !context->rlePlanesBuffer) diff --git a/libfreerdp/codec/progressive.c b/libfreerdp/codec/progressive.c index 07fdec22f..43737932b 100644 --- a/libfreerdp/codec/progressive.c +++ b/libfreerdp/codec/progressive.c @@ -877,9 +877,9 @@ progressive_decompress_tile_first(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressiv INT16* pSign[3]; INT16* pSrcDst[3]; INT16* pCurrent[3]; - RFX_COMPONENT_CODEC_QUANT shiftY = { 0 }; - RFX_COMPONENT_CODEC_QUANT shiftCb = { 0 }; - RFX_COMPONENT_CODEC_QUANT shiftCr = { 0 }; + RFX_COMPONENT_CODEC_QUANT shiftY = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT shiftCb = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT shiftCr = WINPR_C_ARRAY_INIT; RFX_COMPONENT_CODEC_QUANT* quantY = NULL; RFX_COMPONENT_CODEC_QUANT* quantCb = NULL; RFX_COMPONENT_CODEC_QUANT* quantCr = NULL; @@ -1201,9 +1201,9 @@ static inline int progressive_rfx_upgrade_component( int rc = 0; UINT32 aRawLen = 0; UINT32 aSrlLen = 0; - wBitStream s_srl = { 0 }; - wBitStream s_raw = { 0 }; - RFX_PROGRESSIVE_UPGRADE_STATE state = { 0 }; + wBitStream s_srl = WINPR_C_ARRAY_INIT; + wBitStream s_raw = WINPR_C_ARRAY_INIT; + RFX_PROGRESSIVE_UPGRADE_STATE state = WINPR_C_ARRAY_INIT; state.kp = 8; state.mode = 0; @@ -1298,18 +1298,18 @@ progressive_decompress_tile_upgrade(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progress BOOL sub = 0; BOOL extrapolate = 0; BYTE* pBuffer = NULL; - INT16* pSign[3] = { 0 }; - INT16* pSrcDst[3] = { 0 }; - INT16* pCurrent[3] = { 0 }; - RFX_COMPONENT_CODEC_QUANT shiftY = { 0 }; - RFX_COMPONENT_CODEC_QUANT shiftCb = { 0 }; - RFX_COMPONENT_CODEC_QUANT shiftCr = { 0 }; - RFX_COMPONENT_CODEC_QUANT yBitPos = { 0 }; - RFX_COMPONENT_CODEC_QUANT cbBitPos = { 0 }; - RFX_COMPONENT_CODEC_QUANT crBitPos = { 0 }; - RFX_COMPONENT_CODEC_QUANT yNumBits = { 0 }; - RFX_COMPONENT_CODEC_QUANT cbNumBits = { 0 }; - RFX_COMPONENT_CODEC_QUANT crNumBits = { 0 }; + INT16* pSign[3] = WINPR_C_ARRAY_INIT; + INT16* pSrcDst[3] = WINPR_C_ARRAY_INIT; + INT16* pCurrent[3] = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT shiftY = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT shiftCb = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT shiftCr = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT yBitPos = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT cbBitPos = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT crBitPos = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT yNumBits = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT cbNumBits = WINPR_C_ARRAY_INIT; + RFX_COMPONENT_CODEC_QUANT crNumBits = WINPR_C_ARRAY_INIT; RFX_COMPONENT_CODEC_QUANT* quantY = NULL; RFX_COMPONENT_CODEC_QUANT* quantCb = NULL; RFX_COMPONENT_CODEC_QUANT* quantCr = NULL; @@ -1471,7 +1471,7 @@ static inline BOOL progressive_tile_read_upgrade( PROGRESSIVE_BLOCK_REGION* WINPR_RESTRICT region, WINPR_ATTR_UNUSED const PROGRESSIVE_BLOCK_CONTEXT* WINPR_RESTRICT context) { - RFX_PROGRESSIVE_TILE tile = { 0 }; + RFX_PROGRESSIVE_TILE tile = WINPR_C_ARRAY_INIT; const size_t expect = 20; if (!Stream_CheckAndLogRequiredLength(TAG, s, expect)) @@ -1550,7 +1550,7 @@ progressive_tile_read(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive, BOOL simp PROGRESSIVE_BLOCK_REGION* WINPR_RESTRICT region, WINPR_ATTR_UNUSED const PROGRESSIVE_BLOCK_CONTEXT* WINPR_RESTRICT context) { - RFX_PROGRESSIVE_TILE tile = { 0 }; + RFX_PROGRESSIVE_TILE tile = WINPR_C_ARRAY_INIT; size_t expect = simple ? 16 : 17; if (!Stream_CheckAndLogRequiredLength(TAG, s, expect)) @@ -1790,7 +1790,7 @@ static inline SSIZE_T progressive_wb_sync(PROGRESSIVE_CONTEXT* WINPR_RESTRICT pr { const UINT32 magic = 0xCACCACCA; const UINT16 version = 0x0100; - PROGRESSIVE_BLOCK_SYNC sync = { 0 }; + PROGRESSIVE_BLOCK_SYNC sync = WINPR_C_ARRAY_INIT; sync.blockType = blockType; sync.blockLen = blockLen; @@ -1840,7 +1840,7 @@ static inline SSIZE_T progressive_wb_frame_begin(PROGRESSIVE_CONTEXT* WINPR_REST wStream* WINPR_RESTRICT s, UINT16 blockType, UINT32 blockLen) { - PROGRESSIVE_BLOCK_FRAME_BEGIN frameBegin = { 0 }; + PROGRESSIVE_BLOCK_FRAME_BEGIN frameBegin = WINPR_C_ARRAY_INIT; frameBegin.blockType = blockType; frameBegin.blockLen = blockLen; @@ -1892,7 +1892,7 @@ static inline SSIZE_T progressive_wb_frame_end(PROGRESSIVE_CONTEXT* WINPR_RESTRI wStream* WINPR_RESTRICT s, UINT16 blockType, UINT32 blockLen) { - PROGRESSIVE_BLOCK_FRAME_END frameEnd = { 0 }; + PROGRESSIVE_BLOCK_FRAME_END frameEnd = WINPR_C_ARRAY_INIT; frameEnd.blockType = blockType; frameEnd.blockLen = blockLen; @@ -2208,7 +2208,7 @@ static inline SSIZE_T progressive_parse_block(PROGRESSIVE_CONTEXT* WINPR_RESTRIC UINT16 blockType = 0; UINT32 blockLen = 0; SSIZE_T rc = -1; - wStream sub = { 0 }; + wStream sub = WINPR_C_ARRAY_INIT; WINPR_ASSERT(progressive); @@ -2277,12 +2277,12 @@ static inline BOOL update_tiles(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive, REGION16* WINPR_RESTRICT invalidRegion) { BOOL rc = TRUE; - REGION16 clippingRects = { 0 }; + REGION16 clippingRects = WINPR_C_ARRAY_INIT; region16_init(&clippingRects); for (UINT32 i = 0; i < region->numRects; i++) { - RECTANGLE_16 clippingRect = { 0 }; + RECTANGLE_16 clippingRect = WINPR_C_ARRAY_INIT; const RFX_RECT* rect = &(region->rects[i]); clippingRect.left = (UINT16)nXDst + rect->x; @@ -2300,7 +2300,7 @@ static inline BOOL update_tiles(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive, { UINT32 nbUpdateRects = 0; const RECTANGLE_16* updateRects = NULL; - RECTANGLE_16 updateRect = { 0 }; + RECTANGLE_16 updateRect = WINPR_C_ARRAY_INIT; WINPR_ASSERT(surface->updatedTileIndices); const UINT32 index = surface->updatedTileIndices[i]; @@ -2317,7 +2317,7 @@ static inline BOOL update_tiles(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive, updateRect.right = updateRect.left + 64; updateRect.bottom = updateRect.top + 64; - REGION16 updateRegion = { 0 }; + REGION16 updateRegion = WINPR_C_ARRAY_INIT; region16_init(&updateRegion); if (!region16_intersect_rect(&updateRegion, &clippingRects, &updateRect)) { @@ -2395,7 +2395,7 @@ INT32 progressive_decompress(PROGRESSIVE_CONTEXT* WINPR_RESTRICT progressive, surface->numUpdatedTiles = 0; } - wStream ss = { 0 }; + wStream ss = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&ss, pSrcData, SrcSize); WINPR_ASSERT(s); diff --git a/libfreerdp/codec/region.c b/libfreerdp/codec/region.c index 69a9f94a6..01772bec0 100644 --- a/libfreerdp/codec/region.c +++ b/libfreerdp/codec/region.c @@ -78,7 +78,7 @@ void region16_init(REGION16* region) { WINPR_ASSERT(region); - const REGION16 empty = { 0 }; + const REGION16 empty = WINPR_C_ARRAY_INIT; *region = empty; } @@ -168,7 +168,7 @@ BOOL rectangles_equal(const RECTANGLE_16* r1, const RECTANGLE_16* r2) BOOL rectangles_intersects(const RECTANGLE_16* r1, const RECTANGLE_16* r2) { - RECTANGLE_16 tmp = { 0 }; + RECTANGLE_16 tmp = WINPR_C_ARRAY_INIT; return rectangles_intersection(r1, r2, &tmp); } @@ -199,7 +199,7 @@ void region16_clear(REGION16* region) freeRegion(region->data); region->data = NULL; - const RECTANGLE_16 empty = { 0 }; + const RECTANGLE_16 empty = WINPR_C_ARRAY_INIT; region->extents = empty; } @@ -237,7 +237,7 @@ static inline RECTANGLE_16* nextRect(REGION16_DATA* data, size_t index) return NULL; } - const RECTANGLE_16 empty = { 0 }; + const RECTANGLE_16 empty = WINPR_C_ARRAY_INIT; rects[index] = empty; data->nbRects = index + 1; data->rects = rects; @@ -272,7 +272,7 @@ static BOOL resizeRegion(REGION16* region, size_t nbItems) for (size_t x = region->data->nbRects; x < nbItems; x++) { - const RECTANGLE_16 empty = { 0 }; + const RECTANGLE_16 empty = WINPR_C_ARRAY_INIT; rects[x] = empty; } region->data->rects = rects; @@ -800,7 +800,7 @@ BOOL region16_intersect_rect(REGION16* dst, const REGION16* src, const RECTANGLE { const RECTANGLE_16* endPtr = NULL; UINT32 nbRects = 0; - RECTANGLE_16 common = { 0 }; + RECTANGLE_16 common = WINPR_C_ARRAY_INIT; WINPR_ASSERT(dst); WINPR_ASSERT(src); @@ -833,7 +833,7 @@ BOOL region16_intersect_rect(REGION16* dst, const REGION16* src, const RECTANGLE RECTANGLE_16* dstPtr = newItems->rects; UINT32 usedRects = 0; - RECTANGLE_16 newExtents = { 0 }; + RECTANGLE_16 newExtents = WINPR_C_ARRAY_INIT; /* accumulate intersecting rectangles, the final region16_simplify_bands() will * do all the bad job to recreate correct rectangles diff --git a/libfreerdp/codec/rfx.c b/libfreerdp/codec/rfx.c index 54fe93c60..a48f2cdd1 100644 --- a/libfreerdp/codec/rfx.c +++ b/libfreerdp/codec/rfx.c @@ -1115,8 +1115,8 @@ BOOL rfx_process_message(RFX_CONTEXT* WINPR_RESTRICT context, const BYTE* WINPR_ UINT32 dstFormat, UINT32 dstStride, UINT32 dstHeight, REGION16* WINPR_RESTRICT invalidRegion) { - REGION16 updateRegion = { 0 }; - wStream inStream = { 0 }; + REGION16 updateRegion = WINPR_C_ARRAY_INIT; + wStream inStream = WINPR_C_ARRAY_INIT; BOOL ok = TRUE; if (!context || !data || !length) @@ -1129,7 +1129,7 @@ BOOL rfx_process_message(RFX_CONTEXT* WINPR_RESTRICT context, const BYTE* WINPR_ while (ok && Stream_GetRemainingLength(s) > 6) { - wStream subStreamBuffer = { 0 }; + wStream subStreamBuffer = WINPR_C_ARRAY_INIT; size_t extraBlockLen = 0; UINT32 blockLen = 0; UINT32 blockType = 0; @@ -1271,7 +1271,7 @@ BOOL rfx_process_message(RFX_CONTEXT* WINPR_RESTRICT context, const BYTE* WINPR_ if (ok) { UINT32 nbUpdateRects = 0; - REGION16 clippingRects = { 0 }; + REGION16 clippingRects = WINPR_C_ARRAY_INIT; const RECTANGLE_16* updateRects = NULL; const DWORD formatSize = FreeRDPGetBytesPerPixel(context->pixel_format); const UINT32 dstWidth = dstStride / FreeRDPGetBytesPerPixel(dstFormat); @@ -1281,7 +1281,7 @@ BOOL rfx_process_message(RFX_CONTEXT* WINPR_RESTRICT context, const BYTE* WINPR_ WINPR_ASSERT(dstHeight <= UINT16_MAX); for (UINT32 i = 0; i < message->numRects; i++) { - RECTANGLE_16 clippingRect = { 0 }; + RECTANGLE_16 clippingRect = WINPR_C_ARRAY_INIT; const RFX_RECT* rect = &(message->rects[i]); WINPR_ASSERT(left + rect->x <= UINT16_MAX); @@ -1308,7 +1308,7 @@ BOOL rfx_process_message(RFX_CONTEXT* WINPR_RESTRICT context, const BYTE* WINPR_ for (UINT32 i = 0; i < message->numTiles; i++) { - RECTANGLE_16 updateRect = { 0 }; + RECTANGLE_16 updateRect = WINPR_C_ARRAY_INIT; const RFX_TILE* tile = rfx_message_get_tile(message, i); WINPR_ASSERT(left + tile->x <= UINT16_MAX); @@ -1451,7 +1451,7 @@ void rfx_message_free(RFX_CONTEXT* WINPR_RESTRICT context, RFX_MESSAGE* WINPR_RE } const BOOL freeArray = message->freeArray; - const RFX_MESSAGE empty = { 0 }; + const RFX_MESSAGE empty = WINPR_C_ARRAY_INIT; *message = empty; if (!freeArray) @@ -1606,7 +1606,7 @@ static inline BOOL computeRegion(const RFX_RECT* WINPR_RESTRICT rects, size_t nu for (size_t i = 0; i < numRects; i++) { const RFX_RECT* rect = &rects[i]; - RECTANGLE_16 rect16 = { 0 }; + RECTANGLE_16 rect16 = WINPR_C_ARRAY_INIT; rect16.left = rect->x; rect16.top = rect->y; rect16.right = rect->x + rect->width; @@ -1668,9 +1668,9 @@ RFX_MESSAGE* rfx_encode_message(RFX_CONTEXT* WINPR_RESTRICT context, PTP_WORK* workObject = NULL; RFX_TILE_COMPOSE_WORK_PARAM* workParam = NULL; BOOL success = FALSE; - REGION16 rectsRegion = { 0 }; - REGION16 tilesRegion = { 0 }; - RECTANGLE_16 currentTileRect = { 0 }; + REGION16 rectsRegion = WINPR_C_ARRAY_INIT; + REGION16 tilesRegion = WINPR_C_ARRAY_INIT; + RECTANGLE_16 currentTileRect = WINPR_C_ARRAY_INIT; const RECTANGLE_16* regionRect = NULL; WINPR_ASSERT(data); diff --git a/libfreerdp/codec/rfx_encode.c b/libfreerdp/codec/rfx_encode.c index 8a95a4ecc..745488625 100644 --- a/libfreerdp/codec/rfx_encode.c +++ b/libfreerdp/codec/rfx_encode.c @@ -262,7 +262,7 @@ BOOL rfx_encode_rgb(RFX_CONTEXT* WINPR_RESTRICT context, RFX_TILE* WINPR_RESTRIC const INT16** cpv; INT16** pv; } cnv; - INT16* pSrcDst[3] = { 0 }; + INT16* pSrcDst[3] = WINPR_C_ARRAY_INIT; uint32_t CbLen = 0; uint32_t CrLen = 0; primitives_t* prims = primitives_get(); diff --git a/libfreerdp/codec/rfx_rlgr.c b/libfreerdp/codec/rfx_rlgr.c index c7ab6a950..447c2e3f9 100644 --- a/libfreerdp/codec/rfx_rlgr.c +++ b/libfreerdp/codec/rfx_rlgr.c @@ -169,7 +169,7 @@ int rfx_rlgr_decode(RLGR_MODE mode, const BYTE* WINPR_RESTRICT pSrcData, UINT32 UINT32 val2 = 0; INT16* pOutput = NULL; wBitStream* bs = NULL; - wBitStream s_bs = { 0 }; + wBitStream s_bs = WINPR_C_ARRAY_INIT; const SSIZE_T DstSize = rDstSize; InitOnceExecuteOnce(&rfx_rlgr_init_once, rfx_rlgr_init, NULL, NULL); diff --git a/libfreerdp/codec/sse/nsc_sse2.c b/libfreerdp/codec/sse/nsc_sse2.c index a81e3c711..4305e1a51 100644 --- a/libfreerdp/codec/sse/nsc_sse2.c +++ b/libfreerdp/codec/sse/nsc_sse2.c @@ -218,7 +218,7 @@ static inline size_t nsc_encode_next_rgb16(const BYTE* src, __m128i* r_val, __m1 static inline size_t nsc_encode_next_a4(const BYTE* src, const BYTE* palette, __m128i* r_val, __m128i* g_val, __m128i* b_val, __m128i* a_val) { - BYTE idx[8] = { 0 }; + BYTE idx[8] = WINPR_C_ARRAY_INIT; for (int shift = 7; shift >= 0; shift--) { @@ -325,10 +325,10 @@ static BOOL nsc_encode_argb_to_aycocg_sse2(NSC_CONTEXT* context, const BYTE* dat for (UINT16 x = 0; x < context->width; x += 8) { - __m128i r_val = { 0 }; - __m128i g_val = { 0 }; - __m128i b_val = { 0 }; - __m128i a_val = { 0 }; + __m128i r_val = WINPR_C_ARRAY_INIT; + __m128i g_val = WINPR_C_ARRAY_INIT; + __m128i b_val = WINPR_C_ARRAY_INIT; + __m128i a_val = WINPR_C_ARRAY_INIT; const size_t rc = nsc_encode_next_rgba(context->format, src, context->palette, &r_val, &g_val, &b_val, &a_val); diff --git a/libfreerdp/codec/test/TestFreeRDPCodecCopy.c b/libfreerdp/codec/test/TestFreeRDPCodecCopy.c index bd990ac07..e8891b1e3 100644 --- a/libfreerdp/codec/test/TestFreeRDPCodecCopy.c +++ b/libfreerdp/codec/test/TestFreeRDPCodecCopy.c @@ -107,7 +107,7 @@ int TestFreeRDPCodecCopy(int argc, char* argv[]) height = strtoul(argv[2], NULL, 0); if ((errno != 0) || (width == 0) || (height == 0)) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; (void)fprintf(stderr, "%s failed: width=%" PRIu32 ", height=%" PRIu32 ", errno=%s\n", __func__, width, height, winpr_strerror(errno, buffer, sizeof(buffer))); return -1; diff --git a/libfreerdp/codec/test/TestFreeRDPCodecH264.c b/libfreerdp/codec/test/TestFreeRDPCodecH264.c index 2433263b2..fca845e95 100644 --- a/libfreerdp/codec/test/TestFreeRDPCodecH264.c +++ b/libfreerdp/codec/test/TestFreeRDPCodecH264.c @@ -52,7 +52,7 @@ fail: h264_context_free(h264); const UINT64 end = winpr_GetUnixTimeNS(); - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; printf("[%s] %" PRIu32 "x%" PRIu32 " took %s\n", __func__, width, height, print_ns(start, end, buffer, sizeof(buffer))); return rc; @@ -100,7 +100,7 @@ static BOOL testEncode(uint32_t format, uint32_t width, uint32_t height) BOOL rc = FALSE; void* src = NULL; void* out = NULL; - RDPGFX_H264_METABLOCK meta = { 0 }; + RDPGFX_H264_METABLOCK meta = WINPR_C_ARRAY_INIT; H264_CONTEXT* h264 = h264_context_new(TRUE); H264_CONTEXT* h264dec = h264_context_new(FALSE); if (!h264 || !h264dec) @@ -160,7 +160,7 @@ int TestFreeRDPCodecH264(int argc, char* argv[]) height = strtoul(argv[2], NULL, 0); if ((errno != 0) || (width == 0) || (height == 0)) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; (void)fprintf(stderr, "%s failed: width=%" PRIu32 ", height=%" PRIu32 ", errno=%s\n", __func__, width, height, winpr_strerror(errno, buffer, sizeof(buffer))); return -1; diff --git a/libfreerdp/codec/test/TestFreeRDPCodecInterleaved.c b/libfreerdp/codec/test/TestFreeRDPCodecInterleaved.c index ad37f5ca2..18abc5f2c 100644 --- a/libfreerdp/codec/test/TestFreeRDPCodecInterleaved.c +++ b/libfreerdp/codec/test/TestFreeRDPCodecInterleaved.c @@ -218,7 +218,7 @@ static bool RunEncoderTest(const char* name, uint32_t format, uint32_t width, ui 0, NULL, bpp)) goto fail; - char encname[128] = { 0 }; + char encname[128] = WINPR_C_ARRAY_INIT; (void)_snprintf(encname, sizeof(encname), "enc-%" PRIu32, bpp); #if defined(CREATE_TEST_OUTPUT) test_codec_helper_write_data("interleaved", encname, name, encdata, enclen); @@ -247,7 +247,7 @@ static bool RunDecoderTest(const char* name, uint32_t format, uint32_t width, ui if (!decoder) goto fail; - char encname[128] = { 0 }; + char encname[128] = WINPR_C_ARRAY_INIT; (void)_snprintf(encname, sizeof(encname), "enc-%" PRIu32, bpp); size_t srclen = 0; @@ -267,7 +267,7 @@ static bool RunDecoderTest(const char* name, uint32_t format, uint32_t width, ui NULL)) goto fail; - char decname[128] = { 0 }; + char decname[128] = WINPR_C_ARRAY_INIT; (void)_snprintf(decname, sizeof(decname), "dec-%s", encname); #if defined(CREATE_TEST_OUTPUT) test_codec_helper_write_data("interleaved", decname, name, decdata, declen); diff --git a/libfreerdp/codec/test/TestFreeRDPCodecMppc.c b/libfreerdp/codec/test/TestFreeRDPCodecMppc.c index b0d70d7a6..f168647e5 100644 --- a/libfreerdp/codec/test/TestFreeRDPCodecMppc.c +++ b/libfreerdp/codec/test/TestFreeRDPCodecMppc.c @@ -740,7 +740,7 @@ static int test_MppcCompressBellsRdp5(void) int rc = -1; int status = 0; UINT32 Flags = 0; - BYTE OutputBuffer[65536] = { 0 }; + BYTE OutputBuffer[65536] = WINPR_C_ARRAY_INIT; const UINT32 SrcSize = sizeof(TEST_MPPC_BELLS) - 1; const BYTE* pSrcData = (const BYTE*)TEST_MPPC_BELLS; UINT32 DstSize = sizeof(OutputBuffer); @@ -788,7 +788,7 @@ static int test_MppcCompressBellsRdp4(void) int rc = -1; int status = 0; UINT32 Flags = 0; - BYTE OutputBuffer[65536] = { 0 }; + BYTE OutputBuffer[65536] = WINPR_C_ARRAY_INIT; const BYTE* pSrcData = (const BYTE*)TEST_MPPC_BELLS; const UINT32 SrcSize = sizeof(TEST_MPPC_BELLS) - 1; UINT32 DstSize = sizeof(OutputBuffer); @@ -929,7 +929,7 @@ static int test_MppcCompressIslandRdp5(void) int rc = -1; int status = 0; UINT32 Flags = 0; - BYTE OutputBuffer[65536] = { 0 }; + BYTE OutputBuffer[65536] = WINPR_C_ARRAY_INIT; const UINT32 SrcSize = sizeof(TEST_ISLAND_DATA) - 1; const BYTE* pSrcData = (const BYTE*)TEST_ISLAND_DATA; const UINT32 expectedSize = sizeof(TEST_ISLAND_DATA_RDP5) - 1; @@ -976,7 +976,7 @@ static int test_MppcCompressBufferRdp5(void) int rc = -1; int status = 0; UINT32 Flags = 0; - BYTE OutputBuffer[65536] = { 0 }; + BYTE OutputBuffer[65536] = WINPR_C_ARRAY_INIT; const UINT32 SrcSize = sizeof(TEST_RDP5_UNCOMPRESSED_DATA); const BYTE* pSrcData = (const BYTE*)TEST_RDP5_UNCOMPRESSED_DATA; const UINT32 expectedSize = sizeof(TEST_RDP5_COMPRESSED_DATA); diff --git a/libfreerdp/codec/test/TestFreeRDPCodecNCrush.c b/libfreerdp/codec/test/TestFreeRDPCodecNCrush.c index 689b3787e..72aa09771 100644 --- a/libfreerdp/codec/test/TestFreeRDPCodecNCrush.c +++ b/libfreerdp/codec/test/TestFreeRDPCodecNCrush.c @@ -16,7 +16,7 @@ static BOOL test_NCrushCompressBells(void) int status = 0; UINT32 Flags = 0; const BYTE* pDstData = NULL; - BYTE OutputBuffer[65536] = { 0 }; + BYTE OutputBuffer[65536] = WINPR_C_ARRAY_INIT; const UINT32 SrcSize = sizeof(TEST_BELLS_DATA) - 1; const BYTE* pSrcData = TEST_BELLS_DATA; const UINT32 expectedSize = sizeof(TEST_BELLS_NCRUSH) - 1; diff --git a/libfreerdp/codec/test/TestFreeRDPCodecPlanar.c b/libfreerdp/codec/test/TestFreeRDPCodecPlanar.c index 986ed41a1..616c348bc 100644 --- a/libfreerdp/codec/test/TestFreeRDPCodecPlanar.c +++ b/libfreerdp/codec/test/TestFreeRDPCodecPlanar.c @@ -303,9 +303,9 @@ static BOOL FuzzPlanar(void) for (UINT32 x = 0; x < 100; x++) { - BYTE data[0x10000] = { 0 }; + BYTE data[0x10000] = WINPR_C_ARRAY_INIT; size_t dataSize = 0x10000; - BYTE dstData[0x10000] = { 0 }; + BYTE dstData[0x10000] = WINPR_C_ARRAY_INIT; UINT32 DstFormat = 0; UINT32 nDstStep = 0; diff --git a/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c b/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c index fdf831f36..6e7bcd9c7 100644 --- a/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c +++ b/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c @@ -827,7 +827,7 @@ static int test_progressive_decode(PROGRESSIVE_CONTEXT* progressive, EGFX_SAMPLE int nXSrc = 0; int nYSrc = 0; - RECTANGLE_16 clippingRect = { 0 }; + RECTANGLE_16 clippingRect = WINPR_C_ARRAY_INIT; clippingRect.right = g_Width; clippingRect.bottom = g_Height; @@ -878,7 +878,7 @@ static int test_progressive_decode(PROGRESSIVE_CONTEXT* progressive, EGFX_SAMPLE const RECTANGLE_16 tileRect = { tile->x, tile->y, tile->x + tile->width, tile->y + tile->height }; - RECTANGLE_16 updateRect = { 0 }; + RECTANGLE_16 updateRect = WINPR_C_ARRAY_INIT; rectangles_intersection(&tileRect, &clippingRect, &updateRect); const UINT16 nXDst = updateRect.left; const UINT16 nYDst = updateRect.top; @@ -915,8 +915,8 @@ static int test_progressive_ms_sample(char* ms_sample_path) { int count = 0; int status = 0; - EGFX_SAMPLE_FILE files[3][4][4] = { 0 }; - EGFX_SAMPLE_FILE bitmaps[3][4][4] = { 0 }; + EGFX_SAMPLE_FILE files[3][4][4] = WINPR_C_ARRAY_INIT; + EGFX_SAMPLE_FILE bitmaps[3][4][4] = WINPR_C_ARRAY_INIT; PROGRESSIVE_CONTEXT* progressive = NULL; g_Width = 1920; g_Height = 1080; @@ -1046,7 +1046,7 @@ static BOOL test_encode_decode(const char* path) BYTE* dstData = NULL; UINT32 dstSize = 0; UINT32 ColorFormat = PIXEL_FORMAT_BGRX32; - REGION16 invalidRegion = { 0 }; + REGION16 invalidRegion = WINPR_C_ARRAY_INIT; wImage* image = winpr_image_new(); wImage* dstImage = winpr_image_new(); char* name = GetCombinedPath(path, "progressive.bmp"); @@ -1291,11 +1291,11 @@ static int test_dump(int argc, char* argv[]) break; UINT32 frameId = 0; - RDPGFX_SURFACE_COMMAND cmd = { 0 }; + RDPGFX_SURFACE_COMMAND cmd = WINPR_C_ARRAY_INIT; if (read_cmd(fp, &cmd, &frameId)) { - REGION16 invalid = { 0 }; + REGION16 invalid = WINPR_C_ARRAY_INIT; region16_init(&invalid); const char* cname = rdpgfx_get_codec_id_string(cmd.codecId); diff --git a/libfreerdp/codec/test/TestFreeRDPCodecRemoteFX.c b/libfreerdp/codec/test/TestFreeRDPCodecRemoteFX.c index 3e2aa0a11..b584e9de6 100644 --- a/libfreerdp/codec/test/TestFreeRDPCodecRemoteFX.c +++ b/libfreerdp/codec/test/TestFreeRDPCodecRemoteFX.c @@ -845,7 +845,7 @@ static BOOL fuzzyCompareImage(const UINT32* crefImage, const BYTE* img, size_t n int TestFreeRDPCodecRemoteFX(int argc, char* argv[]) { int rc = -1; - REGION16 region = { 0 }; + REGION16 region = WINPR_C_ARRAY_INIT; RFX_CONTEXT* context = NULL; BYTE* dest = NULL; size_t stride = FORMAT_SIZE * IMG_WIDTH; diff --git a/libfreerdp/codec/test/TestFreeRDPCodecXCrush.c b/libfreerdp/codec/test/TestFreeRDPCodecXCrush.c index d8ca1999b..ff8ab0c60 100644 --- a/libfreerdp/codec/test/TestFreeRDPCodecXCrush.c +++ b/libfreerdp/codec/test/TestFreeRDPCodecXCrush.c @@ -78,7 +78,7 @@ static BOOL test_run(const char* fkt, const void* src, UINT32 src_size, const vo int status = -1; UINT32 Flags = 0; const BYTE* pDstData = NULL; - BYTE OutputBuffer[65536] = { 0 }; + BYTE OutputBuffer[65536] = WINPR_C_ARRAY_INIT; UINT32 DstSize = sizeof(OutputBuffer); XCRUSH_CONTEXT* xcrush = xcrush_context_new(TRUE); if (!xcrush) diff --git a/libfreerdp/codec/test/TestFreeRDPHelpers.c b/libfreerdp/codec/test/TestFreeRDPHelpers.c index e46e3ed67..11e03220b 100644 --- a/libfreerdp/codec/test/TestFreeRDPHelpers.c +++ b/libfreerdp/codec/test/TestFreeRDPHelpers.c @@ -29,7 +29,7 @@ static char* get_path(const char* codec, const char* type, const char* name) { - char path[500] = { 0 }; + char path[500] = WINPR_C_ARRAY_INIT; (void)snprintf(path, sizeof(path), "%s-%s-%s.bin", codec, type, name); char* s1 = GetCombinedPath(CMAKE_CURRENT_SOURCE_DIR, codec); if (!s1) @@ -56,7 +56,7 @@ static FILE* open_path(const char* codec, const char* type, const char* name, co FILE* fp = winpr_fopen(path, mode); if (!fp) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; (void)printf("%s: %s %s: fopen(%s, %s) failed: %s\n", __func__, type, name, path, mode, winpr_strerror(errno, buffer, sizeof(buffer))); } diff --git a/libfreerdp/codec/test/TestFreeRDPRegion.c b/libfreerdp/codec/test/TestFreeRDPRegion.c index 478fd338f..91f0eebb0 100644 --- a/libfreerdp/codec/test/TestFreeRDPRegion.c +++ b/libfreerdp/codec/test/TestFreeRDPRegion.c @@ -42,7 +42,7 @@ static BOOL compareRectangles(const RECTANGLE_16* src1, const RECTANGLE_16* src2 static int test_basic(void) { - REGION16 region = { 0 }; + REGION16 region = WINPR_C_ARRAY_INIT; int retCode = -1; const RECTANGLE_16* rects = NULL; UINT32 nbRects = 0; @@ -230,7 +230,7 @@ out: static int test_r1_r6(void) { - REGION16 region = { 0 }; + REGION16 region = WINPR_C_ARRAY_INIT; int retCode = -1; const RECTANGLE_16* rects = NULL; UINT32 nbRects = 0; diff --git a/libfreerdp/codec/test/TestFuzzCodecs.c b/libfreerdp/codec/test/TestFuzzCodecs.c index f9237659b..5c5ae3e83 100644 --- a/libfreerdp/codec/test/TestFuzzCodecs.c +++ b/libfreerdp/codec/test/TestFuzzCodecs.c @@ -167,7 +167,7 @@ static const UINT32 FORMAT = PIXEL_FORMAT_XRGB32; static int TestFreeRDPCodecRemoteFX(const uint8_t* Data, size_t Size) { int rc = -1; - REGION16 region = { 0 }; + REGION16 region = WINPR_C_ARRAY_INIT; RFX_CONTEXT* context = rfx_context_new(FALSE); BYTE* dest = calloc(IMG_WIDTH * IMG_HEIGHT, FORMAT_SIZE); size_t stride = FORMAT_SIZE * IMG_WIDTH; @@ -293,7 +293,7 @@ static BOOL progressive_decode(const uint8_t* Data, size_t Size) int rc = 0; BYTE* resultData = NULL; UINT32 ColorFormat = PIXEL_FORMAT_BGRX32; - REGION16 invalidRegion = { 0 }; + REGION16 invalidRegion = WINPR_C_ARRAY_INIT; UINT32 scanline = 4240; UINT32 width = 1060; UINT32 height = 827; diff --git a/libfreerdp/codec/xcrush.c b/libfreerdp/codec/xcrush.c index 3518ea881..8ddc6761d 100644 --- a/libfreerdp/codec/xcrush.c +++ b/libfreerdp/codec/xcrush.c @@ -518,7 +518,7 @@ static int xcrush_find_all_matches(XCRUSH_CONTEXT* WINPR_RESTRICT xcrush, UINT32 UINT32 MaxMatchLength = 0; UINT32 PrevMatchEnd = 0; XCRUSH_SIGNATURE* Signatures = NULL; - XCRUSH_MATCH_INFO MaxMatchInfo = { 0 }; + XCRUSH_MATCH_INFO MaxMatchInfo = WINPR_C_ARRAY_INIT; WINPR_ASSERT(xcrush); @@ -526,7 +526,7 @@ static int xcrush_find_all_matches(XCRUSH_CONTEXT* WINPR_RESTRICT xcrush, UINT32 for (UINT32 i = 0; i < SignatureIndex; i++) { - XCRUSH_MATCH_INFO MatchInfo = { 0 }; + XCRUSH_MATCH_INFO MatchInfo = WINPR_C_ARRAY_INIT; UINT32 offset = SrcOffset + HistoryOffset; if (!Signatures[i].size) diff --git a/libfreerdp/codec/yuv.c b/libfreerdp/codec/yuv.c index 6f489d410..be6ecf037 100644 --- a/libfreerdp/codec/yuv.c +++ b/libfreerdp/codec/yuv.c @@ -225,7 +225,7 @@ fail: YUV_CONTEXT* yuv_context_new(BOOL encoder, UINT32 ThreadingFlags) { - SYSTEM_INFO sysInfos = { 0 }; + SYSTEM_INFO sysInfos = WINPR_C_ARRAY_INIT; /** do it here to avoid a race condition between threads */ if (!primitives_get()) return NULL; @@ -264,7 +264,7 @@ static inline YUV_PROCESS_WORK_PARAM pool_decode_param(const RECTANGLE_16* WINPR const UINT32 iStride[3], UINT32 DstFormat, BYTE* WINPR_RESTRICT dest, UINT32 nDstStep) { - YUV_PROCESS_WORK_PARAM current = { 0 }; + YUV_PROCESS_WORK_PARAM current = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rect); WINPR_ASSERT(context); @@ -501,7 +501,7 @@ pool_decode_rect_param(const RECTANGLE_16* WINPR_RESTRICT rect, YUV_CONTEXT* WIN BYTE type, const BYTE* WINPR_RESTRICT pYUVData[3], const UINT32 iStride[3], BYTE* WINPR_RESTRICT pYUVDstData[3], const UINT32 iDstStride[3]) { - YUV_COMBINE_WORK_PARAM current = { 0 }; + YUV_COMBINE_WORK_PARAM current = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rect); WINPR_ASSERT(context); @@ -735,7 +735,7 @@ pool_encode_fill(const RECTANGLE_16* WINPR_RESTRICT rect, YUV_CONTEXT* WINPR_RES const UINT32 iStride[], BYTE* WINPR_RESTRICT pYUVLumaData[], BYTE* WINPR_RESTRICT pYUVChromaData[]) { - YUV_ENCODE_WORK_PARAM current = { 0 }; + YUV_ENCODE_WORK_PARAM current = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rect); WINPR_ASSERT(context); diff --git a/libfreerdp/codec/zgfx.c b/libfreerdp/codec/zgfx.c index d0277cc22..cbfa6ada5 100644 --- a/libfreerdp/codec/zgfx.c +++ b/libfreerdp/codec/zgfx.c @@ -410,7 +410,7 @@ int zgfx_decompress(ZGFX_CONTEXT* WINPR_RESTRICT zgfx, const BYTE* WINPR_RESTRIC { int status = -1; BYTE descriptor = 0; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; size_t used = 0; BYTE* pConcatenated = NULL; wStream* stream = Stream_StaticConstInit(&sbuffer, pSrcData, SrcSize); diff --git a/libfreerdp/common/assistance.c b/libfreerdp/common/assistance.c index 44a3b24dc..db82f6ce2 100644 --- a/libfreerdp/common/assistance.c +++ b/libfreerdp/common/assistance.c @@ -218,8 +218,8 @@ static BOOL freerdp_assistance_crypt_derive_key_sha1(const BYTE* hash, size_t ha size_t keyLength) { BOOL rc = FALSE; - BYTE pad1[64] = { 0 }; - BYTE pad2[64] = { 0 }; + BYTE pad1[64] = WINPR_C_ARRAY_INIT; + BYTE pad2[64] = WINPR_C_ARRAY_INIT; if (hashLength == 0) return FALSE; @@ -324,7 +324,7 @@ out: static BOOL freerdp_assistance_parse_connection_string1(rdpAssistanceFile* file) { - char* tokens[8] = { 0 }; + char* tokens[8] = WINPR_C_ARRAY_INIT; BOOL rc = FALSE; WINPR_ASSERT(file); @@ -430,7 +430,7 @@ static BOOL freerdp_assistance_parse_attr(const char** opt, size_t* plength, con if (!tag) return FALSE; - char bkey[128] = { 0 }; + char bkey[128] = WINPR_C_ARRAY_INIT; const int rc = _snprintf(bkey, sizeof(bkey), "%s=\"", key); WINPR_ASSERT(rc > 0); WINPR_ASSERT((size_t)rc < sizeof(bkey)); @@ -503,7 +503,7 @@ static BOOL freerdp_assistance_parse_attr_uint32(UINT32* opt, const char* key, c if (!freerdp_assistance_parse_attr(&copt, &size, key, tag)) return FALSE; - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; if ((!copt && (size > 0)) || (size >= sizeof(buffer))) { WLog_WARN(TAG, "Invalid UINT32 string '%s' [%" PRIuz "]", copt, size); @@ -534,7 +534,7 @@ static char* freerdp_assistance_contains_element(char* input, size_t ilen, const WINPR_ASSERT(key); WINPR_ASSERT(plen); - char bkey[128] = { 0 }; + char bkey[128] = WINPR_C_ARRAY_INIT; const int rc = _snprintf(bkey, sizeof(bkey), "<%s", key); WINPR_ASSERT(rc > 0); WINPR_ASSERT((size_t)rc < sizeof(bkey)); @@ -575,7 +575,7 @@ static char* freerdp_assistance_contains_element(char* input, size_t ilen, const const char* dend = start - 1; if (*dend != '/') { - char ekey[128] = { 0 }; + char ekey[128] = WINPR_C_ARRAY_INIT; const int erc = _snprintf(ekey, sizeof(ekey), "", key); WINPR_ASSERT(erc > 0); WINPR_ASSERT((size_t)erc < sizeof(ekey)); @@ -814,7 +814,7 @@ char* freerdp_assistance_construct_expert_blob(const char* name, const char* pas char* freerdp_assistance_generate_pass_stub(WINPR_ATTR_UNUSED DWORD flags) { - UINT32 nums[14] = { 0 }; + UINT32 nums[14] = WINPR_C_ARRAY_INIT; const char set1[64] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', @@ -860,7 +860,7 @@ BYTE* freerdp_assistance_encrypt_pass_stub(const char* password, const char* pas BOOL rc = 0; size_t cbPasswordW = 0; size_t cbPassStubW = 0; - BYTE PasswordHash[WINPR_MD5_DIGEST_LENGTH] = { 0 }; + BYTE PasswordHash[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; WINPR_RC4_CTX* rc4Ctx = NULL; BYTE* pbIn = NULL; BYTE* pbOut = NULL; @@ -929,9 +929,9 @@ static BOOL freerdp_assistance_decrypt2(rdpAssistanceFile* file) size_t cbOut = 0; size_t cbIn = 0; size_t cbFinal = 0; - BYTE DerivedKey[WINPR_AES_BLOCK_SIZE] = { 0 }; - BYTE InitializationVector[WINPR_AES_BLOCK_SIZE] = { 0 }; - BYTE PasswordHash[WINPR_SHA1_DIGEST_LENGTH] = { 0 }; + BYTE DerivedKey[WINPR_AES_BLOCK_SIZE] = WINPR_C_ARRAY_INIT; + BYTE InitializationVector[WINPR_AES_BLOCK_SIZE] = WINPR_C_ARRAY_INIT; + BYTE PasswordHash[WINPR_SHA1_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(file); diff --git a/libfreerdp/common/settings.c b/libfreerdp/common/settings.c index 972af94fd..bdd6c3b03 100644 --- a/libfreerdp/common/settings.c +++ b/libfreerdp/common/settings.c @@ -481,7 +481,7 @@ RDPDR_DEVICE* freerdp_device_clone(const RDPDR_DEVICE* device) RDPDR_SMARTCARD* smartcard; } copy; size_t count = 0; - const char* args[4] = { 0 }; + const char* args[4] = WINPR_C_ARRAY_INIT; copy.dev = NULL; src.dev = device; @@ -2177,7 +2177,7 @@ const char* freerdp_rail_support_flags_to_string(UINT32 flags, char* buffer, siz winpr_str_append("RAIL_LEVEL_LANGUAGE_IME_SYNC_SUPPORTED", buffer, length, "|"); if ((flags & ~mask) != 0) { - char tbuffer[64] = { 0 }; + char tbuffer[64] = WINPR_C_ARRAY_INIT; (void)_snprintf(tbuffer, sizeof(tbuffer), "RAIL_FLAG_UNKNOWN 0x%08" PRIx32, flags & mask); winpr_str_append(tbuffer, buffer, length, "|"); } @@ -2200,7 +2200,7 @@ BOOL freerdp_settings_update_from_caps(rdpSettings* settings, const BYTE* capsFl { if (capsFlags[x]) { - wStream buffer = { 0 }; + wStream buffer = WINPR_C_ARRAY_INIT; wStream* sub = Stream_StaticConstInit(&buffer, capsData[x], capsSizes[x]); if (!rdp_read_capability_set(log, sub, (UINT16)x, settings, serverReceivedCaps)) @@ -2383,11 +2383,11 @@ const char* freerdp_supported_color_depths_string(UINT16 mask, char* buffer, siz if (invalid != 0) { - char str[32] = { 0 }; + char str[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(str, sizeof(str), "RNS_UD_INVALID[0x%04" PRIx32 "]", invalid); winpr_str_append(str, buffer, size, "|"); } - char hex[32] = { 0 }; + char hex[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(hex, sizeof(hex), "[0x%04" PRIx16 "]", mask); return buffer; } @@ -2929,7 +2929,7 @@ static BOOL tz_info_to_json(WINPR_JSON* json, const TIME_ZONE_INFORMATION* ptz) if (!WINPR_JSON_AddItemToArray(json, obj)) return FALSE; - TIME_ZONE_INFORMATION tz = { 0 }; + TIME_ZONE_INFORMATION tz = WINPR_C_ARRAY_INIT; if (ptz) tz = *ptz; diff --git a/libfreerdp/core/aad.c b/libfreerdp/core/aad.c index 8ac26874d..3a75c2ad6 100644 --- a/libfreerdp/core/aad.c +++ b/libfreerdp/core/aad.c @@ -58,7 +58,7 @@ static BOOL generate_pop_key(rdpAad* aad); WINPR_ATTR_FORMAT_ARG(2, 3) static SSIZE_T stream_sprintf(wStream* s, WINPR_FORMAT_ARG const char* fmt, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); const int rc = vsnprintf(NULL, 0, fmt, ap); va_end(ap); @@ -645,7 +645,7 @@ static char* generate_rsa_digest_base64_str(rdpAad* aad, const char* input, size } { - BYTE hash[WINPR_SHA256_DIGEST_LENGTH] = { 0 }; + BYTE hash[WINPR_SHA256_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; if (!winpr_Digest_Final(digest, hash, sizeof(hash))) { WLog_Print(aad->log, WLOG_ERROR, "winpr_Digest_Final(%" PRIuz ") failed", sizeof(hash)); diff --git a/libfreerdp/core/activation.c b/libfreerdp/core/activation.c index 97563c492..5d0f209d2 100644 --- a/libfreerdp/core/activation.c +++ b/libfreerdp/core/activation.c @@ -166,7 +166,7 @@ BOOL rdp_recv_server_control_pdu(rdpRdp* rdp, wStream* s) return rdp_finalize_set_flag(rdp, FINALIZE_SC_CONTROL_GRANTED_PDU); default: { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "Unexpected control PDU %s", rdp_ctrlaction_string(action, buffer, sizeof(buffer))); @@ -319,7 +319,7 @@ static UINT16 rdp_load_persistent_key_list(rdpRdp* rdp, UINT64** pKeyList) for (int index = 0; index < count; index++) { - PERSISTENT_CACHE_ENTRY cacheEntry = { 0 }; + PERSISTENT_CACHE_ENTRY cacheEntry = WINPR_C_ARRAY_INIT; if (persistent_cache_read_entry(persistent, &cacheEntry) < 1) continue; @@ -342,7 +342,7 @@ BOOL rdp_send_client_persistent_key_list_pdu(rdpRdp* rdp) { UINT16 keyMaxFrag = 2042; UINT64* keyList = NULL; - RDP_BITMAP_PERSISTENT_INFO info = { 0 }; + RDP_BITMAP_PERSISTENT_INFO info = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rdp); rdpSettings* settings = rdp->settings; UINT16 keyCount = rdp_load_persistent_key_list(rdp, &keyList); @@ -716,8 +716,8 @@ BOOL rdp_server_accept_client_control_pdu(rdpRdp* rdp, wStream* s) case CTRLACTION_REQUEST_CONTROL: if (!rdp_finalize_is_flag_set(rdp, FINALIZE_CS_CONTROL_COOPERATE_PDU)) { - char abuffer[128] = { 0 }; - char buffer[1024] = { 0 }; + char abuffer[128] = WINPR_C_ARRAY_INIT; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "Received action=%s with GrantId=0x%04" PRIx16 ", ControlId=0x%08" PRIx32 " in unexpected state %s [missing %s]", @@ -739,8 +739,8 @@ BOOL rdp_server_accept_client_control_pdu(rdpRdp* rdp, wStream* s) case CTRLACTION_COOPERATE: if (!rdp_finalize_is_flag_set(rdp, FINALIZE_CS_SYNCHRONIZE_PDU)) { - char abuffer[128] = { 0 }; - char buffer[1024] = { 0 }; + char abuffer[128] = WINPR_C_ARRAY_INIT; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_WARN( TAG, "Received action=%s with GrantId=0x%04" PRIx16 ", ControlId=0x%08" PRIx32 @@ -761,7 +761,7 @@ BOOL rdp_server_accept_client_control_pdu(rdpRdp* rdp, wStream* s) return rdp_finalize_set_flag(rdp, FINALIZE_CS_CONTROL_COOPERATE_PDU); default: { - char abuffer[128] = { 0 }; + char abuffer[128] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "Received unexpected action=%s with GrantId=0x%04" PRIx16 ", ControlId=0x%08" PRIx32, diff --git a/libfreerdp/core/autodetect.c b/libfreerdp/core/autodetect.c index dc60c2fda..81eed0418 100644 --- a/libfreerdp/core/autodetect.c +++ b/libfreerdp/core/autodetect.c @@ -796,7 +796,7 @@ static BOOL autodetect_recv_netchar_request(rdpAutoDetect* autodetect, RDP_TRANS state_run_t autodetect_recv_request_packet(rdpAutoDetect* autodetect, RDP_TRANSPORT_TYPE transport, wStream* s) { - AUTODETECT_REQ_PDU autodetectReqPdu = { 0 }; + AUTODETECT_REQ_PDU autodetectReqPdu = WINPR_C_ARRAY_INIT; const rdpSettings* settings = NULL; BOOL success = FALSE; @@ -816,11 +816,11 @@ state_run_t autodetect_recv_request_packet(rdpAutoDetect* autodetect, RDP_TRANSP if (WLog_IsLevelActive(autodetect->log, WLOG_TRACE)) { - char rbuffer[128] = { 0 }; + char rbuffer[128] = WINPR_C_ARRAY_INIT; const char* requestTypeStr = autodetect_request_type_to_string_buffer( autodetectReqPdu.requestType, rbuffer, sizeof(rbuffer)); - char hbuffer[128] = { 0 }; + char hbuffer[128] = WINPR_C_ARRAY_INIT; const char* headerStr = autodetect_header_type_string(autodetectReqPdu.headerTypeId, hbuffer, sizeof(hbuffer)); @@ -833,7 +833,7 @@ state_run_t autodetect_recv_request_packet(rdpAutoDetect* autodetect, RDP_TRANSP if (!freerdp_settings_get_bool(settings, FreeRDP_NetworkAutoDetect)) { - char rbuffer[128] = { 0 }; + char rbuffer[128] = WINPR_C_ARRAY_INIT; const char* requestTypeStr = autodetect_request_type_to_string_buffer( autodetectReqPdu.requestType, rbuffer, sizeof(rbuffer)); @@ -846,10 +846,10 @@ state_run_t autodetect_recv_request_packet(rdpAutoDetect* autodetect, RDP_TRANSP if (autodetectReqPdu.headerTypeId != TYPE_ID_AUTODETECT_REQUEST) { - char rbuffer[128] = { 0 }; + char rbuffer[128] = WINPR_C_ARRAY_INIT; const char* requestTypeStr = autodetect_request_type_to_string_buffer( autodetectReqPdu.requestType, rbuffer, sizeof(rbuffer)); - char hbuffer[128] = { 0 }; + char hbuffer[128] = WINPR_C_ARRAY_INIT; const char* headerStr = autodetect_header_type_string(autodetectReqPdu.headerTypeId, hbuffer, sizeof(hbuffer)); @@ -919,7 +919,7 @@ fail: state_run_t autodetect_recv_response_packet(rdpAutoDetect* autodetect, RDP_TRANSPORT_TYPE transport, wStream* s) { - AUTODETECT_RSP_PDU autodetectRspPdu = { 0 }; + AUTODETECT_RSP_PDU autodetectRspPdu = WINPR_C_ARRAY_INIT; const rdpSettings* settings = NULL; BOOL success = FALSE; @@ -940,10 +940,10 @@ state_run_t autodetect_recv_response_packet(rdpAutoDetect* autodetect, RDP_TRANS if (WLog_IsLevelActive(autodetect->log, WLOG_TRACE)) { - char rbuffer[128] = { 0 }; + char rbuffer[128] = WINPR_C_ARRAY_INIT; const char* requestStr = autodetect_request_type_to_string_buffer( autodetectRspPdu.responseType, rbuffer, sizeof(rbuffer)); - char hbuffer[128] = { 0 }; + char hbuffer[128] = WINPR_C_ARRAY_INIT; const char* headerStr = autodetect_header_type_string(autodetectRspPdu.headerTypeId, hbuffer, sizeof(hbuffer)); @@ -956,7 +956,7 @@ state_run_t autodetect_recv_response_packet(rdpAutoDetect* autodetect, RDP_TRANS if (!freerdp_settings_get_bool(settings, FreeRDP_NetworkAutoDetect)) { - char rbuffer[128] = { 0 }; + char rbuffer[128] = WINPR_C_ARRAY_INIT; const char* requestStr = autodetect_request_type_to_string_buffer( autodetectRspPdu.responseType, rbuffer, sizeof(rbuffer)); @@ -970,10 +970,10 @@ state_run_t autodetect_recv_response_packet(rdpAutoDetect* autodetect, RDP_TRANS if (autodetectRspPdu.headerTypeId != TYPE_ID_AUTODETECT_RESPONSE) { - char rbuffer[128] = { 0 }; + char rbuffer[128] = WINPR_C_ARRAY_INIT; const char* requestStr = autodetect_request_type_to_string_buffer( autodetectRspPdu.responseType, rbuffer, sizeof(rbuffer)); - char hbuffer[128] = { 0 }; + char hbuffer[128] = WINPR_C_ARRAY_INIT; const char* headerStr = autodetect_header_type_string(autodetectRspPdu.headerTypeId, hbuffer, sizeof(hbuffer)); WLog_Print(autodetect->log, WLOG_ERROR, diff --git a/libfreerdp/core/capabilities.c b/libfreerdp/core/capabilities.c index b52f71f33..ea12a02e9 100644 --- a/libfreerdp/core/capabilities.c +++ b/libfreerdp/core/capabilities.c @@ -588,8 +588,8 @@ static BOOL rdp_apply_order_capability_set(rdpSettings* settings, const rdpSetti static BOOL rdp_read_order_capability_set(wLog* log, wStream* s, rdpSettings* settings) { - char terminalDescriptor[17] = { 0 }; - BYTE orderSupport[32] = { 0 }; + char terminalDescriptor[17] = WINPR_C_ARRAY_INIT; + BYTE orderSupport[32] = WINPR_C_ARRAY_INIT; BOOL BitmapCacheV3Enabled = FALSE; BOOL FrameMarkerCommandEnabled = FALSE; @@ -645,7 +645,7 @@ static BOOL rdp_read_order_capability_set(wLog* log, wStream* s, rdpSettings* se static BOOL rdp_write_order_capability_set(wLog* log, wStream* s, const rdpSettings* settings) { - char terminalDescriptor[16] = { 0 }; + char terminalDescriptor[16] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(settings); if (!Stream_EnsureRemainingCapacity(s, 64)) @@ -1456,8 +1456,8 @@ static BOOL rdp_read_input_capability_set(wLog* log, wStream* s, rdpSettings* se Stream_Read_UINT32(s, settings->KeyboardFunctionKey); /* keyboardFunctionKeys (4 bytes) */ { - WCHAR wstr[32] = { 0 }; - char str[65] = { 0 }; + WCHAR wstr[32] = WINPR_C_ARRAY_INIT; + char str[65] = WINPR_C_ARRAY_INIT; /* Older windows versions report invalid UTF16 * [MS-RDPBCGR] <29> Section 2.2.7.1.6: Microsoft RDP 4.0, 5.0, 5.1, and 5.2 servers do not @@ -1782,8 +1782,8 @@ static BOOL rdp_write_glyph_cache_capability_set(wLog* log, wStream* s, const rd #ifdef WITH_DEBUG_CAPABILITIES static BOOL rdp_print_glyph_cache_capability_set(wLog* log, wStream* s) { - GLYPH_CACHE_DEFINITION glyphCache[10] = { 0 }; - GLYPH_CACHE_DEFINITION fragCache = { 0 }; + GLYPH_CACHE_DEFINITION glyphCache[10] = WINPR_C_ARRAY_INIT; + GLYPH_CACHE_DEFINITION fragCache = WINPR_C_ARRAY_INIT; UINT16 glyphSupportLevel = 0; UINT16 pad2Octets = 0; WLog_Print(log, WLOG_TRACE, @@ -2160,7 +2160,7 @@ static BOOL rdp_write_bitmap_cache_v2_capability_set(wLog* log, wStream* s, #ifdef WITH_DEBUG_CAPABILITIES static BOOL rdp_print_bitmap_cache_v2_capability_set(wLog* log, wStream* s) { - BITMAP_CACHE_V2_CELL_INFO bitmapCacheV2CellInfo[5] = { 0 }; + BITMAP_CACHE_V2_CELL_INFO bitmapCacheV2CellInfo[5] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_TRACE, "BitmapCacheV2CapabilitySet (length %" PRIuz "):", Stream_GetRemainingLength(s)); @@ -3074,7 +3074,7 @@ static char* rdp_get_bitmap_codec_guid_name(const GUID* guid) static BOOL rdp_read_bitmap_codec_guid(wLog* log, wStream* s, GUID* guid) { - BYTE g[16] = { 0 }; + BYTE g[16] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(guid); if (!Stream_CheckAndLogRequiredLengthWLog(log, s, 16)) @@ -3096,7 +3096,7 @@ static BOOL rdp_read_bitmap_codec_guid(wLog* log, wStream* s, GUID* guid) static void rdp_write_bitmap_codec_guid(wStream* s, const GUID* guid) { - BYTE g[16] = { 0 }; + BYTE g[16] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(guid); g[0] = guid->Data1 & 0xFF; g[1] = (guid->Data1 >> 8) & 0xFF; @@ -3296,7 +3296,7 @@ static BOOL rdp_read_codec_ts_rfx_capset(wLog* log, wStream* s, rdpSettings* set if (!Stream_CheckAndLogRequiredLengthWLog(log, s, blockLen - 6ull)) return FALSE; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* sub = Stream_StaticConstInit(&sbuffer, Stream_Pointer(s), blockLen - 6ull); WINPR_ASSERT(sub); @@ -3401,7 +3401,7 @@ static BOOL rdp_read_codec_ts_rfx_clnt_caps_container(wLog* log, wStream* s, rdp if (!Stream_CheckAndLogRequiredLengthWLog(log, s, rfxPropsLength - 4ull)) return FALSE; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* sub = Stream_StaticConstInit(&sbuffer, Stream_Pointer(s), rfxPropsLength - 4ull); WINPR_ASSERT(sub); @@ -3419,7 +3419,7 @@ static BOOL rdp_read_codec_ts_rfx_clnt_caps_container(wLog* log, wStream* s, rdp settings->RemoteFxOnly = (captureFlags & CARDP_CAPS_CAPTURE_NON_CAC) ? FALSE : TRUE; /* [MS_RDPRFX] 2.2.1.1.1 TS_RFX_CAPS */ - wStream tsbuffer = { 0 }; + wStream tsbuffer = WINPR_C_ARRAY_INIT; wStream* ts_sub = Stream_StaticConstInit(&tsbuffer, Stream_Pointer(sub), rfxCapsLength); WINPR_ASSERT(ts_sub); return rdp_read_codec_ts_rfx_caps(log, ts_sub, settings); @@ -3434,7 +3434,7 @@ static BOOL rdp_read_bitmap_codecs_capability_set(wLog* log, wStream* s, rdpSett BOOL isServer) { BYTE codecId = 0; - GUID codecGuid = { 0 }; + GUID codecGuid = WINPR_C_ARRAY_INIT; BYTE bitmapCodecCount = 0; UINT16 codecPropertiesLength = 0; @@ -3450,7 +3450,7 @@ static BOOL rdp_read_bitmap_codecs_capability_set(wLog* log, wStream* s, rdpSett while (bitmapCodecCount > 0) { - wStream subbuffer = { 0 }; + wStream subbuffer = WINPR_C_ARRAY_INIT; if (!rdp_read_bitmap_codec_guid(log, s, &codecGuid)) /* codecGuid (16 bytes) */ return FALSE; @@ -3801,7 +3801,7 @@ static BOOL rdp_write_bitmap_codecs_capability_set(wLog* log, wStream* s, #ifdef WITH_DEBUG_CAPABILITIES static BOOL rdp_print_bitmap_codecs_capability_set(wLog* log, wStream* s) { - GUID codecGuid = { 0 }; + GUID codecGuid = WINPR_C_ARRAY_INIT; BYTE bitmapCodecCount = 0; BYTE codecId = 0; UINT16 codecPropertiesLength = 0; @@ -4977,7 +4977,7 @@ BOOL rdp_send_confirm_active(rdpRdp* rdp) const char* rdp_input_flag_string(UINT16 flags, char* buffer, size_t len) { - char prefix[16] = { 0 }; + char prefix[16] = WINPR_C_ARRAY_INIT; (void)_snprintf(prefix, sizeof(prefix), "[0x%04" PRIx16 "][", flags); winpr_str_append(prefix, buffer, len, ""); diff --git a/libfreerdp/core/childsession.c b/libfreerdp/core/childsession.c index 47799228d..d16cdec05 100644 --- a/libfreerdp/core/childsession.c +++ b/libfreerdp/core/childsession.c @@ -222,7 +222,7 @@ static int transport_bio_named_read(BIO* bio, char* buf, int size) } if ((size >= 0) && ret) { - DataChunk chunks[2] = { 0 }; + DataChunk chunks[2] = WINPR_C_ARRAY_INIT; const int nchunks = ringbuffer_peek(&ptr->readBuffer, chunks, WINPR_ASSERTING_INT_CAST(size_t, ret)); for (int i = 0; i < nchunks; i++) @@ -477,8 +477,8 @@ static BOOL createChildSessionTransport(HANDLE* pFile) return FALSE; { - WCHAR pipePath[0x80] = { 0 }; - char pipePathA[0x80] = { 0 }; + WCHAR pipePath[0x80] = WINPR_C_ARRAY_INIT; + char pipePathA[0x80] = WINPR_C_ARRAY_INIT; { WinStationCreateChildSessionTransportFn createChildSessionFn = diff --git a/libfreerdp/core/client.c b/libfreerdp/core/client.c index e27a27431..c2cee78f8 100644 --- a/libfreerdp/core/client.c +++ b/libfreerdp/core/client.c @@ -221,7 +221,7 @@ static UINT freerdp_drdynvc_on_channel_connected(DrdynvcClientContext* context, void* pInterface) { UINT status = CHANNEL_RC_OK; - ChannelConnectedEventArgs e = { 0 }; + ChannelConnectedEventArgs e = WINPR_C_ARRAY_INIT; rdpChannels* channels = (rdpChannels*)context->custom; freerdp* instance = channels->instance; EventArgsInit(&e, "freerdp"); @@ -240,7 +240,7 @@ static UINT freerdp_drdynvc_on_channel_disconnected(DrdynvcClientContext* contex void* pInterface) { UINT status = CHANNEL_RC_OK; - ChannelDisconnectedEventArgs e = { 0 }; + ChannelDisconnectedEventArgs e = WINPR_C_ARRAY_INIT; rdpChannels* channels = (rdpChannels*)context->custom; freerdp* instance = channels->instance; EventArgsInit(&e, "freerdp"); @@ -254,7 +254,7 @@ static UINT freerdp_drdynvc_on_channel_attached(DrdynvcClientContext* context, c void* pInterface) { UINT status = CHANNEL_RC_OK; - ChannelAttachedEventArgs e = { 0 }; + ChannelAttachedEventArgs e = WINPR_C_ARRAY_INIT; rdpChannels* channels = (rdpChannels*)context->custom; freerdp* instance = channels->instance; EventArgsInit(&e, "freerdp"); @@ -268,7 +268,7 @@ static UINT freerdp_drdynvc_on_channel_detached(DrdynvcClientContext* context, c void* pInterface) { UINT status = CHANNEL_RC_OK; - ChannelDetachedEventArgs e = { 0 }; + ChannelDetachedEventArgs e = WINPR_C_ARRAY_INIT; rdpChannels* channels = (rdpChannels*)context->custom; freerdp* instance = channels->instance; EventArgsInit(&e, "freerdp"); @@ -342,7 +342,7 @@ UINT freerdp_channels_attach(freerdp* instance) const void* cpv; void* pv; } cnv; - ChannelAttachedEventArgs e = { 0 }; + ChannelAttachedEventArgs e = WINPR_C_ARRAY_INIT; CHANNEL_OPEN_DATA* pChannelOpenData = NULL; cnv.cpv = hostname; @@ -406,7 +406,7 @@ UINT freerdp_channels_detach(freerdp* instance) void* pv; } cnv; - ChannelDetachedEventArgs e = { 0 }; + ChannelDetachedEventArgs e = WINPR_C_ARRAY_INIT; CHANNEL_OPEN_DATA* pChannelOpenData = NULL; cnv.cpv = hostname; @@ -468,7 +468,7 @@ UINT freerdp_channels_post_connect(rdpChannels* channels, freerdp* instance) const void* pcb; void* pb; } cnv; - ChannelConnectedEventArgs e = { 0 }; + ChannelConnectedEventArgs e = WINPR_C_ARRAY_INIT; CHANNEL_OPEN_DATA* pChannelOpenData = NULL; pChannelClientData = &channels->clientDataList[index]; @@ -691,7 +691,7 @@ fail: static BOOL freerdp_channels_process_sync(rdpChannels* channels, freerdp* instance) { BOOL status = TRUE; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; WINPR_ASSERT(channels); @@ -869,7 +869,7 @@ UINT freerdp_channels_disconnect(rdpChannels* channels, freerdp* instance) /* tell all libraries we are shutting down */ for (int index = 0; index < channels->clientDataCount; index++) { - ChannelDisconnectedEventArgs e = { 0 }; + ChannelDisconnectedEventArgs e = WINPR_C_ARRAY_INIT; pChannelClientData = &channels->clientDataList[index]; if (pChannelClientData->pChannelInitEventProc) @@ -1254,7 +1254,7 @@ static UINT VCAPITYPE FreeRDP_VirtualChannelWriteEx(LPVOID pInitHandle, DWORD op CHANNEL_INIT_DATA* pChannelInitData = NULL; CHANNEL_OPEN_DATA* pChannelOpenData = NULL; CHANNEL_OPEN_EVENT* pChannelOpenEvent = NULL; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; if (!pInitHandle) return CHANNEL_RC_BAD_INIT_HANDLE; @@ -1309,7 +1309,7 @@ static UINT VCAPITYPE FreeRDP_VirtualChannelWriteEx(LPVOID pInitHandle, DWORD op static UINT VCAPITYPE FreeRDP_VirtualChannelWrite(DWORD openHandle, LPVOID pData, ULONG dataLength, LPVOID pUserData) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; CHANNEL_OPEN_DATA* pChannelOpenData = NULL; CHANNEL_OPEN_EVENT* pChannelOpenEvent = NULL; rdpChannels* channels = NULL; diff --git a/libfreerdp/core/connection.c b/libfreerdp/core/connection.c index 5151534a8..5c851b27a 100644 --- a/libfreerdp/core/connection.c +++ b/libfreerdp/core/connection.c @@ -248,7 +248,7 @@ static BOOL rdp_client_wait_for_activation(rdpRdp* rdp) for (; (now < dueDate) && !timedout; now = GetTickCount64()) { - HANDLE events[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE events[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD wstatus = 0; DWORD nevents = freerdp_get_event_handles(rdp->context, events, ARRAYSIZE(events)); if (!nevents) @@ -450,7 +450,7 @@ BOOL rdp_client_connect(rdpRdp* rdp) if ((SelectedProtocol & PROTOCOL_SSL) || (SelectedProtocol == PROTOCOL_RDP) || (SelectedProtocol == PROTOCOL_RDSTLS)) { - wStream s = { 0 }; + wStream s = WINPR_C_ARRAY_INIT; if ((settings->Username != NULL) && ((freerdp_settings_get_string(settings, FreeRDP_Password) != NULL) || @@ -1259,8 +1259,8 @@ state_run_t rdp_client_connect_license(rdpRdp* rdp, wStream* s) if ((securityFlags & SEC_LICENSE_PKT) == 0) { - char buffer[512] = { 0 }; - char lbuffer[32] = { 0 }; + char buffer[512] = WINPR_C_ARRAY_INIT; + char lbuffer[32] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "securityFlags=%s, missing required flag %s", rdp_security_flag_string(securityFlags, buffer, sizeof(buffer)), rdp_security_flag_string(SEC_LICENSE_PKT, lbuffer, sizeof(lbuffer))); @@ -1410,7 +1410,7 @@ BOOL rdp_client_transition_to_state(rdpRdp* rdp, CONNECTION_STATE state) case CONNECTION_STATE_CAPABILITIES_EXCHANGE_CONFIRM_ACTIVE: { - ActivatedEventArgs activatedEvent = { 0 }; + ActivatedEventArgs activatedEvent = WINPR_C_ARRAY_INIT; rdpContext* context = rdp->context; EventArgsInit(&activatedEvent, "libfreerdp"); activatedEvent.firstActivation = @@ -1425,7 +1425,7 @@ BOOL rdp_client_transition_to_state(rdpRdp* rdp, CONNECTION_STATE state) } { - ConnectionStateChangeEventArgs stateEvent = { 0 }; + ConnectionStateChangeEventArgs stateEvent = WINPR_C_ARRAY_INIT; rdpContext* context = rdp->context; EventArgsInit(&stateEvent, "libfreerdp"); stateEvent.state = WINPR_ASSERTING_INT_CAST(int32_t, rdp_get_state(rdp)); @@ -2128,7 +2128,7 @@ BOOL rdp_channels_from_mcs(rdpSettings* settings, const rdpRdp* rdp) for (UINT32 x = 0; x < mcs->channelCount; x++) { const rdpMcsChannel* mchannel = &mcs->channels[x]; - CHANNEL_DEF cur = { 0 }; + CHANNEL_DEF cur = WINPR_C_ARRAY_INIT; memcpy(cur.name, mchannel->Name, sizeof(cur.name)); cur.options = mchannel->options; diff --git a/libfreerdp/core/credssp_auth.c b/libfreerdp/core/credssp_auth.c index 18bd5c8e0..a5e84221a 100644 --- a/libfreerdp/core/credssp_auth.c +++ b/libfreerdp/core/credssp_auth.c @@ -107,8 +107,8 @@ static BOOL log_status_(SECURITY_STATUS status, DWORD level, const char* file, c if (WLog_IsLevelActive(log, level)) { - char fwhat[128] = { 0 }; - va_list ap = { 0 }; + char fwhat[128] = WINPR_C_ARRAY_INIT; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, what); (void)vsnprintf(fwhat, sizeof(fwhat) - 1, what, ap); va_end(ap); @@ -287,7 +287,7 @@ BOOL credssp_auth_setup_client(rdpCredsspAuth* auth, const char* target_service, const char* pkinit) { void* pAuthData = NULL; - SEC_WINNT_AUTH_IDENTITY_WINPR winprAuthData = { 0 }; + SEC_WINNT_AUTH_IDENTITY_WINPR winprAuthData = WINPR_C_ARRAY_INIT; WINPR_ASSERT(auth); WINPR_ASSERT(auth->table); @@ -339,7 +339,7 @@ BOOL credssp_auth_setup_client(rdpCredsspAuth* auth, const char* target_service, BOOL credssp_auth_setup_server(rdpCredsspAuth* auth) { void* pAuthData = NULL; - SEC_WINNT_AUTH_IDENTITY_WINPR winprAuthData = { 0 }; + SEC_WINNT_AUTH_IDENTITY_WINPR winprAuthData = WINPR_C_ARRAY_INIT; WINPR_ASSERT(auth); WINPR_ASSERT(auth->table); @@ -415,7 +415,7 @@ void credssp_auth_set_flags(rdpCredsspAuth* auth, ULONG flags) int credssp_auth_authenticate(rdpCredsspAuth* auth) { SECURITY_STATUS status = ERROR_INTERNAL_ERROR; - SecBuffer input_buffers[2] = { 0 }; + SecBuffer input_buffers[2] = WINPR_C_ARRAY_INIT; SecBufferDesc input_buffer_desc = { SECBUFFER_VERSION, 1, input_buffers }; CtxtHandle* context = NULL; @@ -513,7 +513,7 @@ BOOL credssp_auth_encrypt(rdpCredsspAuth* auth, const SecBuffer* plaintext, SecB size_t* signature_length, ULONG sequence) { SECURITY_STATUS status = ERROR_INTERNAL_ERROR; - SecBuffer buffers[2] = { 0 }; + SecBuffer buffers[2] = WINPR_C_ARRAY_INIT; SecBufferDesc buffer_desc = { SECBUFFER_VERSION, 2, buffers }; BYTE* buf = NULL; @@ -673,7 +673,7 @@ void credssp_auth_take_input_buffer(rdpCredsspAuth* auth, SecBuffer* buffer) auth->input_buffer.BufferType = SECBUFFER_TOKEN; /* Invalidate original, rdpCredsspAuth now has ownership of the buffer */ - SecBuffer empty = { 0 }; + SecBuffer empty = WINPR_C_ARRAY_INIT; *buffer = empty; } diff --git a/libfreerdp/core/fastpath.c b/libfreerdp/core/fastpath.c index 332ea1057..34fe1926f 100644 --- a/libfreerdp/core/fastpath.c +++ b/libfreerdp/core/fastpath.c @@ -400,7 +400,7 @@ static int fastpath_recv_update(rdpFastPath* fastpath, BYTE updateCode, wStream* case FASTPATH_UPDATETYPE_PTR_NULL: { - POINTER_SYSTEM_UPDATE pointer_system = { 0 }; + POINTER_SYSTEM_UPDATE pointer_system = WINPR_C_ARRAY_INIT; pointer_system.type = SYSPTR_NULL; rc = IFCALLRESULT(defaultReturn, pointer->PointerSystem, context, &pointer_system); } @@ -408,7 +408,7 @@ static int fastpath_recv_update(rdpFastPath* fastpath, BYTE updateCode, wStream* case FASTPATH_UPDATETYPE_PTR_DEFAULT: { - POINTER_SYSTEM_UPDATE pointer_system = { 0 }; + POINTER_SYSTEM_UPDATE pointer_system = WINPR_C_ARRAY_INIT; pointer_system.type = SYSPTR_DEFAULT; rc = IFCALLRESULT(defaultReturn, pointer->PointerSystem, context, &pointer_system); } @@ -1175,8 +1175,8 @@ BOOL fastpath_send_update_pdu(rdpFastPath* fastpath, BYTE updateCode, wStream* s UINT32 fpHeaderSize = 6; UINT32 fpUpdatePduHeaderSize = 0; UINT32 fpUpdateHeaderSize = 0; - FASTPATH_UPDATE_PDU_HEADER fpUpdatePduHeader = { 0 }; - FASTPATH_UPDATE_HEADER fpUpdateHeader = { 0 }; + FASTPATH_UPDATE_PDU_HEADER fpUpdatePduHeader = WINPR_C_ARRAY_INIT; + FASTPATH_UPDATE_HEADER fpUpdateHeader = WINPR_C_ARRAY_INIT; UINT16 sec_flags = 0; if (!fastpath || !fastpath->rdp || !fastpath->fs || !s) diff --git a/libfreerdp/core/freerdp.c b/libfreerdp/core/freerdp.c index c2eecdaa7..831a5bbf8 100644 --- a/libfreerdp/core/freerdp.c +++ b/libfreerdp/core/freerdp.c @@ -185,7 +185,7 @@ static int freerdp_connect_begin(freerdp* instance) BOOL freerdp_connect(freerdp* instance) { BOOL status = FALSE; - ConnectionResultEventArgs e = { 0 }; + ConnectionResultEventArgs e = WINPR_C_ARRAY_INIT; const int rc = freerdp_connect_begin(instance); rdpRdp* rdp = NULL; UINT status2 = ERROR_INTERNAL_ERROR; @@ -243,7 +243,7 @@ BOOL freerdp_connect(freerdp* instance) { wStream* s = NULL; rdp_update_internal* update = update_cast(instance->context->update); - pcap_record record = { 0 }; + pcap_record record = WINPR_C_ARRAY_INIT; WINPR_ASSERT(update); update->pcap_rfx = pcap_open(rdp->settings->PlayRemoteFxFile, FALSE); @@ -808,7 +808,7 @@ static BOOL freerdp_common_context(rdpContext* context, AccessTokenType tokenTyp if (!context->instance || !context->instance->GetAccessToken) return TRUE; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, count); switch (tokenType) { @@ -1415,7 +1415,7 @@ void clearChannelError(rdpContext* context) WINPR_ATTR_FORMAT_ARG(3, 4) void setChannelError(rdpContext* context, UINT errorNum, WINPR_FORMAT_ARG const char* format, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, format); WINPR_ASSERT(context); @@ -1533,7 +1533,7 @@ fail: BOOL freerdp_is_valid_mcs_create_request(const BYTE* data, size_t size) { - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, data, size); WINPR_ASSERT(data || (size == 0)); @@ -1550,7 +1550,7 @@ BOOL freerdp_is_valid_mcs_create_request(const BYTE* data, size_t size) BOOL freerdp_is_valid_mcs_create_response(const BYTE* data, size_t size) { - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, data, size); WINPR_ASSERT(data || (size == 0)); diff --git a/libfreerdp/core/gateway/arm.c b/libfreerdp/core/gateway/arm.c index 04b40a60a..eab6fccf7 100644 --- a/libfreerdp/core/gateway/arm.c +++ b/libfreerdp/core/gateway/arm.c @@ -369,7 +369,7 @@ static WINPR_CIPHER_CTX* treatAuthBlob(wLog* log, const BYTE* pbInput, size_t cb size_t* pBlockSize) { WINPR_CIPHER_CTX* ret = NULL; - char algoName[100] = { 0 }; + char algoName[100] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pBlockSize); SSIZE_T algoSz = ConvertWCharNToUtf8((const WCHAR*)pbInput, cbInput / sizeof(WCHAR), algoName, @@ -397,7 +397,7 @@ static WINPR_CIPHER_CTX* treatAuthBlob(wLog* log, const BYTE* pbInput, size_t cb cbInput -= algoLen; /* BCRYPT_KEY_DATA_BLOB_HEADER */ - wStream staticStream = { 0 }; + wStream staticStream = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&staticStream, &pbInput[algoLen], cbInput); if (!Stream_CheckAndLogRequiredLengthWLog(log, s, 12)) diff --git a/libfreerdp/core/gateway/http.c b/libfreerdp/core/gateway/http.c index f43994376..7edfe2ec8 100644 --- a/libfreerdp/core/gateway/http.c +++ b/libfreerdp/core/gateway/http.c @@ -271,7 +271,7 @@ WINPR_ATTR_FORMAT_ARG(2, 0) static BOOL list_append(HttpContext* context, WINPR_FORMAT_ARG const char* str, va_list ap) { BOOL rc = FALSE; - va_list vat = { 0 }; + va_list vat = WINPR_C_ARRAY_INIT; char* Pragma = NULL; size_t PragmaSize = 0; @@ -314,7 +314,7 @@ BOOL http_context_set_pragma(HttpContext* context, WINPR_FORMAT_ARG const char* free(context->Pragma); context->Pragma = NULL; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, Pragma); return list_append(context, Pragma, ap); } @@ -325,7 +325,7 @@ BOOL http_context_append_pragma(HttpContext* context, const char* Pragma, ...) if (!context || !Pragma) return FALSE; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, Pragma); return list_append(context, Pragma, ap); } @@ -351,7 +351,7 @@ BOOL http_context_set_rdg_connection_id(HttpContext* context, const GUID* RdgCon if (!context || !RdgConnectionId) return FALSE; - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; return http_context_set_header(context, "RDG-Connection-Id", "%s", guid2str(RdgConnectionId, buffer, sizeof(buffer))); } @@ -361,7 +361,7 @@ BOOL http_context_set_rdg_correlation_id(HttpContext* context, const GUID* RdgCo if (!context || !RdgCorrelationId) return FALSE; - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; return http_context_set_header(context, "RDG-Correlation-Id", "%s", guid2str(RdgCorrelationId, buffer, sizeof(buffer))); } @@ -372,7 +372,7 @@ BOOL http_context_enable_websocket_upgrade(HttpContext* context, BOOL enable) if (enable) { - GUID key = { 0 }; + GUID key = WINPR_C_ARRAY_INIT; if (RPC_S_OK != UuidCreate(&key)) return FALSE; @@ -501,7 +501,7 @@ WINPR_ATTR_FORMAT_ARG(2, 3) static BOOL http_encode_print(wStream* s, WINPR_FORMAT_ARG const char* fmt, ...) { char* str = NULL; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; int length = 0; int used = 0; @@ -972,7 +972,7 @@ fail: static void http_response_print(wLog* log, DWORD level, const HttpResponse* response, const char* file, size_t line, const char* fkt) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(log); WINPR_ASSERT(response); @@ -1091,7 +1091,7 @@ int http_chuncked_read(BIO* bio, BYTE* pBuffer, size_t size, break; case ChunkStateFooter: { - char _dummy[2] = { 0 }; + char _dummy[2] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(encodingContext->nextOffset == 0); WINPR_ASSERT(encodingContext->headerFooterPos < 2); ERR_clear_error(); @@ -1266,7 +1266,7 @@ static BOOL http_response_recv_body(rdpTls* tls, HttpResponse* response, BOOL re if ((response->TransferEncoding == TransferEncodingChunked) && readContentLength) { - http_encoding_chunked_context ctx = { 0 }; + http_encoding_chunked_context ctx = WINPR_C_ARRAY_INIT; ctx.state = ChunkStateLenghHeader; ctx.nextOffset = 0; ctx.headerFooterPos = 0; @@ -1670,7 +1670,7 @@ void http_response_log_error_status_(wLog* log, DWORD level, const HttpResponse* if (!WLog_IsLevelActive(log, level)) return; - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; const UINT16 status = http_response_get_status_code(response); WLog_PrintTextMessage(log, level, line, file, fkt, "Unexpected HTTP status: %s", freerdp_http_status_string_format(status, buffer, ARRAYSIZE(buffer))); @@ -1702,7 +1702,7 @@ FREERDP_LOCAL BOOL http_context_set_header(HttpContext* context, const char* key ...) { WINPR_ASSERT(context); - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, value); const BOOL rc = http_context_set_header_va(context, key, value, ap); va_end(ap); @@ -1714,7 +1714,7 @@ BOOL http_request_set_header(HttpRequest* request, const char* key, const char* WINPR_ASSERT(request); char* v = NULL; size_t vlen = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, value); winpr_vasprintf(&v, &vlen, value, ap); va_end(ap); diff --git a/libfreerdp/core/gateway/ncacn_http.c b/libfreerdp/core/gateway/ncacn_http.c index 05975984f..aff223ba5 100644 --- a/libfreerdp/core/gateway/ncacn_http.c +++ b/libfreerdp/core/gateway/ncacn_http.c @@ -144,7 +144,7 @@ BOOL rpc_ncacn_http_auth_init(rdpContext* context, RpcChannel* channel) rdpSettings* settings = NULL; freerdp* instance = NULL; auth_status rc = AUTH_FAILED; - SEC_WINNT_AUTH_IDENTITY identity = { 0 }; + SEC_WINNT_AUTH_IDENTITY identity = WINPR_C_ARRAY_INIT; if (!context || !channel) return FALSE; diff --git a/libfreerdp/core/gateway/rdg.c b/libfreerdp/core/gateway/rdg.c index 54a3e4989..f6bd92f49 100644 --- a/libfreerdp/core/gateway/rdg.c +++ b/libfreerdp/core/gateway/rdg.c @@ -240,8 +240,8 @@ static const char* rdg_pkt_type_to_string(int type) static const char* flags_to_string(UINT32 flags, const t_flag_mapping* map, size_t elements) { - static char buffer[1024] = { 0 }; - char fields[12] = { 0 }; + static char buffer[1024] = WINPR_C_ARRAY_INIT; + char fields[12] = WINPR_C_ARRAY_INIT; for (size_t x = 0; x < elements; x++) { @@ -744,7 +744,7 @@ static BOOL rdg_recv_auth_token(wLog* log, rdpCredsspAuth* auth, HttpResponse* r size_t len = 0; size_t authTokenLength = 0; BYTE* authTokenData = NULL; - SecBuffer authToken = { 0 }; + SecBuffer authToken = WINPR_C_ARRAY_INIT; int rc = 0; if (!auth || !response) @@ -789,7 +789,7 @@ static BOOL rdg_recv_auth_token(wLog* log, rdpCredsspAuth* auth, HttpResponse* r static BOOL rdg_skip_seed_payload(rdpContext* context, rdpTls* tls, size_t lastResponseLength, rdg_http_encoding_context* transferEncoding) { - BYTE seed_payload[10] = { 0 }; + BYTE seed_payload[10] = WINPR_C_ARRAY_INIT; const size_t size = sizeof(seed_payload); /* Per [MS-TSGU] 3.3.5.1 step 4, after final OK response RDG server sends @@ -1021,7 +1021,7 @@ static BOOL rdg_process_extauth_sspi(rdpRdg* rdg, wStream* s) { INT32 errorCode = 0; UINT16 authBlobLen = 0; - SecBuffer authToken = { 0 }; + SecBuffer authToken = WINPR_C_ARRAY_INIT; BYTE* authTokenData = NULL; WINPR_ASSERT(rdg); @@ -1245,7 +1245,7 @@ static BOOL rdg_auth_init(rdpRdg* rdg, rdpTls* tls, TCHAR* authPkg) { rdpContext* context = rdg->context; rdpSettings* settings = context->settings; - SEC_WINNT_AUTH_IDENTITY identity = { 0 }; + SEC_WINNT_AUTH_IDENTITY identity = WINPR_C_ARRAY_INIT; int rc = 0; rdg->auth = credssp_auth_new(context); @@ -1412,7 +1412,7 @@ static BOOL rdg_establish_data_connection(rdpRdg* rdg, rdpTls* tls, const char* const char* peerAddress, UINT32 timeout, BOOL* rpcFallback) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; HttpResponse* response = NULL; if (!rdg_tls_connect(rdg, tls, peerAddress, timeout)) @@ -1725,7 +1725,7 @@ static int rdg_write_websocket_data_packet(rdpRdg* rdg, const BYTE* buf, int isi maskingKey.u32 = (maskingKey.u32 & 0xffff) << 16 | (maskingKey.u32 >> 16); WINPR_ASSERT(rdg->tlsOut); - wStream sPacket = { 0 }; + wStream sPacket = WINPR_C_ARRAY_INIT; Stream_StaticConstInit(&sPacket, buf, (size_t)isize); if (!websocket_context_mask_and_send(rdg->tlsOut->bio, sWS, &sPacket, maskingKey.u32)) return -1; @@ -1747,7 +1747,7 @@ static int rdg_write_chunked_data_packet(rdpRdg* rdg, const BYTE* buf, int isize return 0; const size_t packetSize = size + 10; - char chunkSize[11] = { 0 }; + char chunkSize[11] = WINPR_C_ARRAY_INIT; (void)sprintf_s(chunkSize, sizeof(chunkSize), "%" PRIxz "\r\n", packetSize); sChunk = Stream_New(NULL, strnlen(chunkSize, sizeof(chunkSize)) + packetSize + 2); @@ -1951,7 +1951,7 @@ static BOOL rdg_process_control_packet(rdpRdg* rdg, int type, size_t packetLengt static int rdg_read_data_packet(rdpRdg* rdg, BYTE* buffer, size_t size) { - RdgPacketHeader header = { 0 }; + RdgPacketHeader header = WINPR_C_ARRAY_INIT; size_t readCount = 0; size_t readSize = 0; int status = 0; diff --git a/libfreerdp/core/gateway/rpc.c b/libfreerdp/core/gateway/rpc.c index d65ecd1ef..897e66f9b 100644 --- a/libfreerdp/core/gateway/rpc.c +++ b/libfreerdp/core/gateway/rpc.c @@ -273,7 +273,7 @@ void rpc_pdu_header_print(wLog* log, const rpcconn_hdr_t* header) rpcconn_common_hdr_t rpc_pdu_header_init(const rdpRpc* rpc) { - rpcconn_common_hdr_t header = { 0 }; + rpcconn_common_hdr_t header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rpc); header.rpc_vers = rpc->rpc_vers; diff --git a/libfreerdp/core/gateway/rpc_bind.c b/libfreerdp/core/gateway/rpc_bind.c index ce53a4d27..25febeca4 100644 --- a/libfreerdp/core/gateway/rpc_bind.c +++ b/libfreerdp/core/gateway/rpc_bind.c @@ -111,7 +111,7 @@ const p_uuid_t BTFN_UUID = { static int rpc_bind_setup(rdpRpc* rpc) { - SEC_WINNT_AUTH_IDENTITY identity = { 0 }; + SEC_WINNT_AUTH_IDENTITY identity = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rpc); @@ -177,7 +177,7 @@ int rpc_send_bind_pdu(rdpRpc* rpc, BOOL initial) UINT32 offset = 0; RpcClientCall* clientCall = NULL; p_cont_elem_t* p_cont_elem = NULL; - rpcconn_bind_hdr_t bind_pdu = { 0 }; + rpcconn_bind_hdr_t bind_pdu = WINPR_C_ARRAY_INIT; RpcVirtualConnection* connection = NULL; RpcInChannel* inChannel = NULL; const SecBuffer* sbuffer = NULL; @@ -325,8 +325,8 @@ BOOL rpc_recv_bind_ack_pdu(rdpRpc* rpc, wStream* s) const BYTE* auth_data = NULL; size_t pos = 0; size_t end = 0; - rpcconn_hdr_t header = { 0 }; - SecBuffer buffer = { 0 }; + rpcconn_hdr_t header = WINPR_C_ARRAY_INIT; + SecBuffer buffer = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rpc); WINPR_ASSERT(rpc->auth); @@ -379,7 +379,7 @@ int rpc_send_rpc_auth_3_pdu(rdpRpc* rpc) size_t offset = 0; const SecBuffer* sbuffer = NULL; RpcClientCall* clientCall = NULL; - rpcconn_rpc_auth_3_hdr_t auth_3_pdu = { 0 }; + rpcconn_rpc_auth_3_hdr_t auth_3_pdu = WINPR_C_ARRAY_INIT; RpcVirtualConnection* connection = NULL; RpcInChannel* inChannel = NULL; diff --git a/libfreerdp/core/gateway/rpc_client.c b/libfreerdp/core/gateway/rpc_client.c index 263d859b9..bcf449675 100644 --- a/libfreerdp/core/gateway/rpc_client.c +++ b/libfreerdp/core/gateway/rpc_client.c @@ -188,7 +188,7 @@ static int rpc_client_transition_to_state(rdpRpc* rpc, RPC_CLIENT_STATE state) static int rpc_client_recv_pdu_int(rdpRpc* rpc, RPC_PDU* pdu) { int status = -1; - RtsPduSignature found = { 0 }; + RtsPduSignature found = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rpc); WINPR_ASSERT(pdu); @@ -370,7 +370,7 @@ static int rpc_client_recv_fragment(rdpRpc* rpc, wStream* fragment) size_t StubOffset = 0; size_t StubLength = 0; RpcClientCall* call = NULL; - rpcconn_hdr_t header = { 0 }; + rpcconn_hdr_t header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rpc); WINPR_ASSERT(rpc->client); @@ -673,7 +673,7 @@ static SSIZE_T rpc_client_default_out_channel_recv(rdpRpc* rpc) while (1) { size_t pos = 0; - rpcconn_common_hdr_t header = { 0 }; + rpcconn_common_hdr_t header = WINPR_C_ARRAY_INIT; while (Stream_GetPosition(fragment) < RPC_COMMON_FIELDS_LENGTH) { @@ -982,7 +982,7 @@ int rpc_in_channel_send_pdu(RpcInChannel* inChannel, const BYTE* buffer, size_t SSIZE_T status = 0; RpcClientCall* clientCall = NULL; wStream s; - rpcconn_common_hdr_t header = { 0 }; + rpcconn_common_hdr_t header = WINPR_C_ARRAY_INIT; status = rpc_channel_write(&inChannel->common, buffer, length); @@ -1024,10 +1024,10 @@ BOOL rpc_client_write_call(rdpRpc* rpc, wStream* s, UINT16 opnum) BYTE* buffer = NULL; size_t stub_data_pad = 0; SecBuffer plaintext; - SecBuffer ciphertext = { 0 }; + SecBuffer ciphertext = WINPR_C_ARRAY_INIT; RpcClientCall* clientCall = NULL; rdpCredsspAuth* auth = NULL; - rpcconn_request_hdr_t request_pdu = { 0 }; + rpcconn_request_hdr_t request_pdu = WINPR_C_ARRAY_INIT; RpcVirtualConnection* connection = NULL; RpcInChannel* inChannel = NULL; BOOL rc = FALSE; diff --git a/libfreerdp/core/gateway/rts.c b/libfreerdp/core/gateway/rts.c index 592348d27..958842a9a 100644 --- a/libfreerdp/core/gateway/rts.c +++ b/libfreerdp/core/gateway/rts.c @@ -161,7 +161,7 @@ static const char* rts_pdu_ptype_to_string(UINT32 ptype) static rpcconn_rts_hdr_t rts_pdu_header_init(void) { - rpcconn_rts_hdr_t header = { 0 }; + rpcconn_rts_hdr_t header = WINPR_C_ARRAY_INIT; header.header.rpc_vers = 5; header.header.rpc_vers_minor = 0; header.header.ptype = PTYPE_RTS; @@ -1323,8 +1323,8 @@ static int rts_flow_control_ack_command_read(rdpRpc* rpc, wStream* buffer, UINT3 if (Command != RTS_CMD_FLOW_CONTROL_ACK) { - char buffer1[64] = { 0 }; - char buffer2[64] = { 0 }; + char buffer1[64] = WINPR_C_ARRAY_INIT; + char buffer2[64] = WINPR_C_ARRAY_INIT; WLog_Print(rpc->log, WLOG_ERROR, "got command %s, expected %s", rts_command_to_string(Command, buffer1, sizeof(buffer1)), rts_command_to_string(RTS_CMD_FLOW_CONTROL_ACK, buffer2, sizeof(buffer2))); @@ -1677,7 +1677,7 @@ BOOL rts_recv_CONN_A3_pdu(rdpRpc* rpc, wStream* buffer) BOOL rc = FALSE; UINT32 ConnectionTimeout = 0; - rpcconn_hdr_t header = { 0 }; + rpcconn_hdr_t header = WINPR_C_ARRAY_INIT; if (!rts_read_pdu_header(buffer, &header)) goto fail; @@ -1786,7 +1786,7 @@ BOOL rts_recv_CONN_C2_pdu(rdpRpc* rpc, wStream* buffer) WINPR_ASSERT(rpc); WINPR_ASSERT(buffer); - rpcconn_hdr_t header = { 0 }; + rpcconn_hdr_t header = WINPR_C_ARRAY_INIT; if (!rts_read_pdu_header(buffer, &header)) goto fail; @@ -1894,7 +1894,7 @@ static int rts_recv_flow_control_ack_pdu(rdpRpc* rpc, wStream* buffer) int rc = 0; UINT32 BytesReceived = 0; UINT32 AvailableWindow = 0; - BYTE ChannelCookie[16] = { 0 }; + BYTE ChannelCookie[16] = WINPR_C_ARRAY_INIT; rc = rts_flow_control_ack_command_read(rpc, buffer, &BytesReceived, &AvailableWindow, (BYTE*)&ChannelCookie); @@ -1919,7 +1919,7 @@ static int rts_recv_flow_control_ack_with_destination_pdu(rdpRpc* rpc, wStream* UINT32 Destination = 0; UINT32 BytesReceived = 0; UINT32 AvailableWindow = 0; - BYTE ChannelCookie[16] = { 0 }; + BYTE ChannelCookie[16] = WINPR_C_ARRAY_INIT; /** * When the sender receives a FlowControlAck RTS PDU, it MUST use the following formula to * recalculate its Sender AvailableWindow variable: @@ -1943,8 +1943,8 @@ static int rts_recv_flow_control_ack_with_destination_pdu(rdpRpc* rpc, wStream* if (Command != RTS_CMD_DESTINATION) { - char buffer1[64] = { 0 }; - char buffer2[64] = { 0 }; + char buffer1[64] = WINPR_C_ARRAY_INIT; + char buffer2[64] = WINPR_C_ARRAY_INIT; WLog_Print(rpc->log, WLOG_ERROR, "got command %s, expected %s", rts_command_to_string(Command, buffer1, sizeof(buffer1)), rts_command_to_string(RTS_CMD_DESTINATION, buffer2, sizeof(buffer2))); @@ -1993,7 +1993,7 @@ static int rts_recv_flow_control_ack_with_destination_pdu(rdpRpc* rpc, wStream* BOOL rts_recv_ping_pdu(rdpRpc* rpc, wStream* s) { BOOL rc = FALSE; - rpcconn_hdr_t header = { 0 }; + rpcconn_hdr_t header = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rpc); WINPR_ASSERT(rpc->auth); @@ -2367,7 +2367,7 @@ BOOL rts_recv_out_of_sequence_pdu(rdpRpc* rpc, wStream* buffer, const rpcconn_hd { BOOL status = FALSE; size_t length = 0; - RtsPduSignature signature = { 0 }; + RtsPduSignature signature = WINPR_C_ARRAY_INIT; RpcVirtualConnection* connection = NULL; WINPR_ASSERT(rpc); diff --git a/libfreerdp/core/gateway/rts_signature.c b/libfreerdp/core/gateway/rts_signature.c index 191747876..bc88f1ba3 100644 --- a/libfreerdp/core/gateway/rts_signature.c +++ b/libfreerdp/core/gateway/rts_signature.c @@ -292,7 +292,7 @@ BOOL rts_match_pdu_signature_ex(const RtsPduSignature* signature, wStream* src, const rpcconn_hdr_t* header, RtsPduSignature* found_signature, BOOL silent) { - RtsPduSignature extracted = { 0 }; + RtsPduSignature extracted = WINPR_C_ARRAY_INIT; WINPR_ASSERT(signature); WINPR_ASSERT(src); @@ -315,8 +315,8 @@ BOOL rts_extract_pdu_signature_ex(RtsPduSignature* signature, wStream* src, const rpcconn_hdr_t* header, BOOL silent) { BOOL rc = FALSE; - wStream sbuffer = { 0 }; - rpcconn_hdr_t rheader = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; + rpcconn_hdr_t rheader = WINPR_C_ARRAY_INIT; const rpcconn_rts_hdr_t* rts = NULL; WINPR_ASSERT(signature); diff --git a/libfreerdp/core/gateway/tsg.c b/libfreerdp/core/gateway/tsg.c index fcabafa87..b828fca28 100644 --- a/libfreerdp/core/gateway/tsg.c +++ b/libfreerdp/core/gateway/tsg.c @@ -258,7 +258,7 @@ static const char* tsg_caps_to_string(UINT32 caps, char* buffer, size_t len) if (val != 0) { - char number[32] = { 0 }; + char number[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(number, sizeof(number), "TSG_UNKNOWN{0x%08" PRIx32 "}", val); (void)winpr_str_append(number, buffer, len, "|"); } @@ -511,8 +511,8 @@ static BOOL tsg_ndr_read_packet_header(wLog* log, wStream* s, TSG_PACKET_HEADER* if (ComponentId != header->ComponentId) { - char buffer[64] = { 0 }; - char buffer2[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; + char buffer2[64] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_ERROR, "Unexpected ComponentId: %s, Expected %s", tsg_component_id_to_string(header->ComponentId, buffer, sizeof(buffer)), tsg_component_id_to_string(ComponentId, buffer2, sizeof(buffer2))); @@ -541,7 +541,7 @@ static BOOL tsg_ndr_read_nap(wLog* log, wStream* s, TSG_CAPABILITY_NAP* nap) return FALSE; Stream_Read_UINT32(s, nap->capabilities); { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_DEBUG, "Received version caps %s", tsg_caps_to_string(nap->capabilities, buffer, sizeof(buffer))); } @@ -556,7 +556,7 @@ static BOOL tsg_ndr_write_nap(wLog* log, wStream* s, const TSG_CAPABILITY_NAP* n return FALSE; { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_DEBUG, "Sending version caps %s", tsg_caps_to_string(nap->capabilities, buffer, sizeof(buffer))); } @@ -802,7 +802,7 @@ WINPR_ATTR_FORMAT_ARG(3, 4) static BOOL tsg_print(char** buffer, size_t* len, WINPR_FORMAT_ARG const char* fmt, ...) { int rc = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; if (!buffer || !len || !fmt) return FALSE; va_start(ap, fmt); @@ -992,7 +992,7 @@ static BOOL tsg_packet_response_to_string(char** buffer, size_t* length, { BOOL rc = FALSE; char* strdata = NULL; - char tbuffer[8192] = { 0 }; + char tbuffer[8192] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(buffer); WINPR_ASSERT(length); @@ -1025,7 +1025,7 @@ static BOOL tsg_packet_quarenc_response_to_string(char** buffer, size_t* length, BOOL rc = FALSE; char* strdata = NULL; RPC_CSTR uuid = NULL; - char tbuffer[8192] = { 0 }; + char tbuffer[8192] = WINPR_C_ARRAY_INIT; size_t size = ARRAYSIZE(tbuffer); char* ptbuffer = tbuffer; @@ -1179,7 +1179,7 @@ static BOOL tsg_packet_reauth_to_string(char** buffer, size_t* length, static const char* tsg_packet_to_string(const TSG_PACKET* packet) { size_t len = 8192; - static char sbuffer[8193] = { 0 }; + static char sbuffer[8193] = WINPR_C_ARRAY_INIT; char* buffer = sbuffer; if (!tsg_print(&buffer, &len, "TSG_PACKET { packetId=%s [0x%08" PRIx32 "], ", @@ -1502,7 +1502,7 @@ fail: static BOOL tsg_ndr_read_consent_message(wLog* log, rdpContext* context, wStream* s, UINT32* index, BOOL isMessagePresent) { - TSG_PACKET_STRING_MESSAGE packetStringMessage = { 0 }; + TSG_PACKET_STRING_MESSAGE packetStringMessage = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(index); @@ -1629,7 +1629,7 @@ static BOOL tsg_ndr_read_caps_response(wLog* log, rdpContext* context, wStream* if (PacketPtr) { - TSG_PACKET_MSG_RESPONSE pkg = { 0 }; + TSG_PACKET_MSG_RESPONSE pkg = WINPR_C_ARRAY_INIT; UINT32 MsgPtr = 0; if (!tsg_ndr_read_TSG_PACKET_MSG_RESPONSE_header(log, s, &pkg)) @@ -1656,7 +1656,7 @@ static BOOL TsProxyCreateTunnelReadResponse(rdpTsg* tsg, const RPC_PDU* pdu, { BOOL rc = FALSE; UINT32 index = 0; - TSG_PACKET packet = { 0 }; + TSG_PACKET packet = WINPR_C_ARRAY_INIT; UINT32 SwitchValue = 0; rdpContext* context = NULL; UINT32 PacketPtr = 0; @@ -1940,7 +1940,7 @@ static BOOL tsg_ndr_read_packet_response_data(rdpTsg* tsg, wStream* s, } else if (rem > 0) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(tsg->log, WLOG_WARN, "2.2.9.2.1.5 TSG_PACKET_RESPONSE::responseDataLen=%" PRIu32 ", but actually got %" PRIuz " [flags=%s], ignoring.", @@ -1968,7 +1968,7 @@ static BOOL TsProxyAuthorizeTunnelReadResponse(rdpTsg* tsg, const RPC_PDU* pdu) BOOL rc = FALSE; UINT32 SwitchValue = 0; UINT32 index = 0; - TSG_PACKET packet = { 0 }; + TSG_PACKET packet = WINPR_C_ARRAY_INIT; UINT32 PacketPtr = 0; UINT32 PacketResponseDataPtr = 0; @@ -2109,7 +2109,7 @@ static BOOL TsProxyReadPacketSTringMessage(wLog* log, wStream* s, uint32_t* inde WINPR_ASSERT(msg); - const TSG_PACKET_STRING_MESSAGE empty = { 0 }; + const TSG_PACKET_STRING_MESSAGE empty = WINPR_C_ARRAY_INIT; *msg = empty; if (!Stream_CheckAndLogRequiredLengthWLog(log, s, 12)) @@ -2141,9 +2141,9 @@ static BOOL TsProxyMakeTunnelCallReadResponse(rdpTsg* tsg, const RPC_PDU* pdu) { BOOL rc = FALSE; UINT32 index = 0; - TSG_PACKET packet = { 0 }; + TSG_PACKET packet = WINPR_C_ARRAY_INIT; rdpContext* context = NULL; - TSG_PACKET_MSG_RESPONSE packetMsgResponse = { 0 }; + TSG_PACKET_MSG_RESPONSE packetMsgResponse = WINPR_C_ARRAY_INIT; UINT32 PacketPtr = 0; UINT32 PacketMsgResponsePtr = 0; @@ -2483,13 +2483,13 @@ static BOOL tsg_initialize_version_caps(const rdpTsg* tsg, static void resetCaps(rdpTsg* tsg) { WINPR_ASSERT(tsg); - const TSG_PACKET_QUARENC_RESPONSE empty = { 0 }; + const TSG_PACKET_QUARENC_RESPONSE empty = WINPR_C_ARRAY_INIT; tsg->CapsResponse = empty; } BOOL tsg_proxy_begin(rdpTsg* tsg) { - TSG_PACKET tsgPacket = { 0 }; + TSG_PACKET tsgPacket = WINPR_C_ARRAY_INIT; WINPR_ASSERT(tsg); @@ -2509,7 +2509,7 @@ BOOL tsg_proxy_begin(rdpTsg* tsg) static BOOL tsg_proxy_reauth(rdpTsg* tsg) { - TSG_PACKET tsgPacket = { 0 }; + TSG_PACKET tsgPacket = WINPR_C_ARRAY_INIT; WINPR_ASSERT(tsg); @@ -2903,7 +2903,7 @@ BOOL tsg_connect(rdpTsg* tsg, const char* hostname, UINT16 port, DWORD timeout) { UINT64 looptimeout = timeout * 1000ULL; DWORD nCount = 0; - HANDLE events[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE events[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(tsg); diff --git a/libfreerdp/core/gateway/websocket.c b/libfreerdp/core/gateway/websocket.c index 440c4a996..36b999ab3 100644 --- a/libfreerdp/core/gateway/websocket.c +++ b/libfreerdp/core/gateway/websocket.c @@ -187,7 +187,7 @@ int websocket_context_write(websocket_context* context, BIO* bio, const BYTE* bu if (isize < 0) return -1; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, buf, (size_t)isize); if (!websocket_context_write_wstream(context, bio, s, opcode)) return -2; @@ -366,7 +366,7 @@ int websocket_context_read(websocket_context* encodingContext, BIO* bio, BYTE* p { case WebsocketStateOpcodeAndFin: { - BYTE buffer[1] = { 0 }; + BYTE buffer[1] = WINPR_C_ARRAY_INIT; ERR_clear_error(); status = BIO_read(bio, (char*)buffer, sizeof(buffer)); @@ -383,7 +383,7 @@ int websocket_context_read(websocket_context* encodingContext, BIO* bio, BYTE* p break; case WebsocketStateLengthAndMasking: { - BYTE buffer[1] = { 0 }; + BYTE buffer[1] = WINPR_C_ARRAY_INIT; ERR_clear_error(); status = BIO_read(bio, (char*)buffer, sizeof(buffer)); @@ -410,7 +410,7 @@ int websocket_context_read(websocket_context* encodingContext, BIO* bio, BYTE* p case WebsocketStateShortLength: case WebsocketStateLongLength: { - BYTE buffer[1] = { 0 }; + BYTE buffer[1] = WINPR_C_ARRAY_INIT; const BYTE lenLength = (encodingContext->state == WebsocketStateShortLength ? 2 : 8); while (encodingContext->lengthAndMaskPosition < lenLength) diff --git a/libfreerdp/core/gateway/wst.c b/libfreerdp/core/gateway/wst.c index 7da6587a4..7b09c9116 100644 --- a/libfreerdp/core/gateway/wst.c +++ b/libfreerdp/core/gateway/wst.c @@ -102,7 +102,7 @@ static BOOL wst_auth_init(rdpWst* wst, rdpTls* tls, TCHAR* authPkg) rdpContext* context = wst->context; rdpSettings* settings = context->settings; - SEC_WINNT_AUTH_IDENTITY identity = { 0 }; + SEC_WINNT_AUTH_IDENTITY identity = WINPR_C_ARRAY_INIT; int rc = 0; wst->auth_required = TRUE; @@ -167,7 +167,7 @@ static BOOL wst_recv_auth_token(rdpCredsspAuth* auth, HttpResponse* response) size_t len = 0; size_t authTokenLength = 0; BYTE* authTokenData = NULL; - SecBuffer authToken = { 0 }; + SecBuffer authToken = WINPR_C_ARRAY_INIT; int rc = 0; if (!auth || !response) @@ -506,7 +506,7 @@ static BOOL wst_handle_http_code(rdpWst* wst, UINT16 StatusCode) break; } - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(wst->log, WLOG_ERROR, "Unexpected HTTP status: %s", freerdp_http_status_string_format(StatusCode, buffer, ARRAYSIZE(buffer))); freerdp_set_last_error_if_not(wst->context, FREERDP_ERROR_CONNECT_FAILED); @@ -826,7 +826,7 @@ static BOOL wst_parse_url(rdpWst* wst, const char* url) if (*pos == ':') { - char port[6] = { 0 }; + char port[6] = WINPR_C_ARRAY_INIT; char* portNumberEnd = NULL; pos++; const char* portStart = pos; diff --git a/libfreerdp/core/gcc.c b/libfreerdp/core/gcc.c index ebcec5920..2609bcaaa 100644 --- a/libfreerdp/core/gcc.c +++ b/libfreerdp/core/gcc.c @@ -136,7 +136,7 @@ static const rdpSettings* mcs_get_const_settings(const rdpMcs* mcs) static char* rdp_early_server_caps_string(UINT32 flags, char* buffer, size_t size) { - char msg[32] = { 0 }; + char msg[32] = WINPR_C_ARRAY_INIT; const UINT32 mask = RNS_UD_SC_EDGE_ACTIONS_SUPPORTED_V1 | RNS_UD_SC_DYNAMIC_DST_SUPPORTED | RNS_UD_SC_EDGE_ACTIONS_SUPPORTED_V2 | RNS_UD_SC_SKIP_CHANNELJOIN_SUPPORTED; const UINT32 unknown = flags & (~mask); @@ -162,7 +162,7 @@ static char* rdp_early_server_caps_string(UINT32 flags, char* buffer, size_t siz static const char* rdp_early_client_caps_string(UINT32 flags, char* buffer, size_t size) { - char msg[32] = { 0 }; + char msg[32] = WINPR_C_ARRAY_INIT; const UINT32 mask = RNS_UD_CS_SUPPORT_ERRINFO_PDU | RNS_UD_CS_WANT_32BPP_SESSION | RNS_UD_CS_SUPPORT_STATUSINFO_PDU | RNS_UD_CS_STRONG_ASYMMETRIC_KEYS | RNS_UD_CS_RELATIVE_MOUSE_INPUT | RNS_UD_CS_VALID_CONNECTION_TYPE | @@ -580,7 +580,7 @@ BOOL gcc_read_client_data_blocks(wStream* s, rdpMcs* mcs, UINT16 length) while (length > 0) { - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; UINT16 type = 0; UINT16 blockLength = 0; @@ -596,7 +596,7 @@ BOOL gcc_read_client_data_blocks(wStream* s, rdpMcs* mcs, UINT16 length) Stream_Seek(s, blockLength - 4); { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(mcs->log, WLOG_TRACE, "Processing block %s", gcc_block_type_string(type, buffer, sizeof(buffer))); } @@ -669,7 +669,7 @@ BOOL gcc_read_client_data_blocks(wStream* s, rdpMcs* mcs, UINT16 length) const size_t rem = Stream_GetRemainingLength(sub); if (rem > 0) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; const size_t total = Stream_Length(sub); WLog_Print(mcs->log, WLOG_ERROR, "Error parsing GCC client data block %s: Actual Offset: %" PRIuz @@ -679,7 +679,7 @@ BOOL gcc_read_client_data_blocks(wStream* s, rdpMcs* mcs, UINT16 length) if (blockLength > length) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_Print(mcs->log, WLOG_ERROR, "Error parsing GCC client data block %s: got blockLength 0x%04" PRIx16 ", but only 0x%04" PRIx16 "remaining", @@ -817,7 +817,7 @@ BOOL gcc_read_server_data_blocks(wStream* s, rdpMcs* mcs, UINT16 length) while (offset < length) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; size_t rest = 0; wStream subbuffer; wStream* sub = NULL; @@ -973,7 +973,7 @@ static UINT32 filterAndLogEarlyServerCapabilityFlags(wLog* log, UINT32 flags) const UINT32 unknown = flags & (~mask); if (unknown != 0) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_WARN, "TS_UD_SC_CORE::EarlyCapabilityFlags [0x%08" PRIx32 " & 0x%08" PRIx32 " --> 0x%08" PRIx32 "] filtering %s, feature not implemented", @@ -1012,7 +1012,7 @@ static UINT16 filterAndLogEarlyClientCapabilityFlags(wLog* log, UINT32 flags) const UINT32 unknown = flags & ~mask; if (unknown != 0) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_WARN, "(TS_UD_CS_CORE)::EarlyCapabilityFlags [0x%08" PRIx32 " & 0x%08" PRIx32 " --> 0x%08" PRIx32 "] filtering %s, feature not implemented", @@ -1176,8 +1176,8 @@ static BOOL updateEarlyServerCaps(wLog* log, rdpSettings* settings, UINT32 early BOOL gcc_read_client_core_data(wStream* s, rdpMcs* mcs) { - char buffer[2048] = { 0 }; - char strbuffer[130] = { 0 }; + char buffer[2048] = WINPR_C_ARRAY_INIT; + char strbuffer[130] = WINPR_C_ARRAY_INIT; UINT32 version = 0; BYTE connectionType = 0; UINT32 clientColorDepth = 0; @@ -1423,8 +1423,8 @@ BOOL gcc_read_client_core_data(wStream* s, rdpMcs* mcs) BOOL gcc_write_client_core_data(wStream* s, const rdpMcs* mcs) { - char buffer[2048] = { 0 }; - char dbuffer[2048] = { 0 }; + char buffer[2048] = WINPR_C_ARRAY_INIT; + char dbuffer[2048] = WINPR_C_ARRAY_INIT; BYTE connectionType = 0; HIGH_COLOR_DEPTH highColorDepth = HIGH_COLOR_4BPP; @@ -1538,7 +1538,7 @@ BOOL gcc_read_server_core_data(wStream* s, rdpMcs* mcs) if (Stream_GetRemainingLength(s) >= 4) { - char buffer[2048] = { 0 }; + char buffer[2048] = WINPR_C_ARRAY_INIT; Stream_Read_UINT32(s, settings->EarlyCapabilityFlags); /* earlyCapabilityFlags */ WLog_Print( @@ -2033,7 +2033,7 @@ BOOL gcc_write_server_network_data(wStream* s, const rdpMcs* mcs) BOOL gcc_read_client_cluster_data(wStream* s, rdpMcs* mcs) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; UINT32 redirectedSessionId = 0; rdpSettings* settings = mcs_get_settings(mcs); @@ -2077,7 +2077,7 @@ BOOL gcc_read_client_cluster_data(wStream* s, rdpMcs* mcs) BOOL gcc_write_client_cluster_data(wStream* s, const rdpMcs* mcs) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; UINT32 flags = 0; const rdpSettings* settings = mcs_get_const_settings(mcs); diff --git a/libfreerdp/core/info.c b/libfreerdp/core/info.c index 557c644e5..a58c6e49d 100644 --- a/libfreerdp/core/info.c +++ b/libfreerdp/core/info.c @@ -141,8 +141,8 @@ static char* rdp_info_package_flags_description(UINT32 flags) static BOOL rdp_compute_client_auto_reconnect_cookie(rdpRdp* rdp) { - BYTE ClientRandom[CLIENT_RANDOM_LENGTH] = { 0 }; - BYTE AutoReconnectRandom[32] = { 0 }; + BYTE ClientRandom[CLIENT_RANDOM_LENGTH] = WINPR_C_ARRAY_INIT; + BYTE AutoReconnectRandom[32] = WINPR_C_ARRAY_INIT; ARC_SC_PRIVATE_PACKET* serverCookie = NULL; ARC_CS_PRIVATE_PACKET* clientCookie = NULL; @@ -1048,7 +1048,7 @@ static void rdp_free_logon_info(logon_info* info) free(info->domain); free(info->username); - const logon_info empty = { 0 }; + const logon_info empty = WINPR_C_ARRAY_INIT; *info = empty; } @@ -1343,8 +1343,8 @@ BOOL rdp_recv_save_session_info(rdpRdp* rdp, wStream* s) { UINT32 infoType = 0; BOOL status = 0; - logon_info logonInfo = { 0 }; - logon_info_ex logonInfoEx = { 0 }; + logon_info logonInfo = WINPR_C_ARRAY_INIT; + logon_info_ex logonInfoEx = WINPR_C_ARRAY_INIT; rdpContext* context = rdp->context; rdpUpdate* update = rdp->context->update; diff --git a/libfreerdp/core/input.c b/libfreerdp/core/input.c index 800149ead..3932ef8ff 100644 --- a/libfreerdp/core/input.c +++ b/libfreerdp/core/input.c @@ -70,7 +70,7 @@ static const char* SyncEventFlags2Str(const char* prefix, uint32_t flags, char* const uint32_t flag = tflags[x]; if (flags & flag) { - char ibuffer[64] = { 0 }; + char ibuffer[64] = WINPR_C_ARRAY_INIT; (void)_snprintf(ibuffer, sizeof(ibuffer), "%s%s", prefix, SyncEventFlag2Str(flag)); if (!winpr_str_append(ibuffer, &buffer[1], len - 2, "|")) return NULL; @@ -979,7 +979,7 @@ BOOL freerdp_input_send_synchronize_event(rdpInput* input, UINT32 flags) rdp_input_internal* in = input_cast(input); const BOOL suspended = freerdp_settings_get_bool(input->context->settings, FreeRDP_SuspendInput); - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_Print(in->log, WLOG_DEBUG, "Keyboard {Sync, suspend: %d} [%s]", suspended, freerdp_input_keyboard_flags_string(flags, buffer, sizeof(buffer))); if (suspended) @@ -1081,7 +1081,7 @@ BOOL freerdp_input_send_focus_in_event(rdpInput* input, UINT16 toggleStates) rdp_input_internal* in = input_cast(input); const BOOL suspended = freerdp_settings_get_bool(input->context->settings, FreeRDP_SuspendInput); - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_Print(in->log, WLOG_DEBUG, "Keyboard {FocusIn, suspend: %s} [%s]", suspended ? "true" : "false", freerdp_input_keyboard_flags_string(toggleStates, buffer, sizeof(buffer))); diff --git a/libfreerdp/core/license.c b/libfreerdp/core/license.c index 1e5b71ed7..7eb54b353 100644 --- a/libfreerdp/core/license.c +++ b/libfreerdp/core/license.c @@ -477,7 +477,7 @@ static BOOL computeCalHash(wLog* log, const char* hostname, char* hashStr, size_ { WINPR_DIGEST_CTX* sha1 = NULL; BOOL ret = FALSE; - BYTE hash[20] = { 0 }; + BYTE hash[20] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(hostname); WINPR_ASSERT(hashStr); @@ -508,11 +508,11 @@ out: static BOOL saveCal(wLog* log, const rdpSettings* settings, const BYTE* data, size_t length, const char* hostname) { - char hash[41] = { 0 }; + char hash[41] = WINPR_C_ARRAY_INIT; FILE* fp = NULL; char* licenseStorePath = NULL; - char filename[MAX_PATH] = { 0 }; - char filenameNew[MAX_PATH] = { 0 }; + char filename[MAX_PATH] = WINPR_C_ARRAY_INIT; + char filenameNew[MAX_PATH] = WINPR_C_ARRAY_INIT; char* filepath = NULL; char* filepathNew = NULL; @@ -604,8 +604,8 @@ static BYTE* loadCalFile(wLog* log, const rdpSettings* settings, const char* hos { char* licenseStorePath = NULL; char* calPath = NULL; - char calFilename[MAX_PATH] = { 0 }; - char hash[41] = { 0 }; + char calFilename[MAX_PATH] = WINPR_C_ARRAY_INIT; + char hash[41] = WINPR_C_ARRAY_INIT; INT64 length = 0; size_t status = 0; FILE* fp = NULL; @@ -1116,7 +1116,7 @@ BOOL license_generate_hwid(rdpLicense* license) { const BYTE* hashTarget = NULL; size_t targetLen = 0; - BYTE macAddress[6] = { 0 }; + BYTE macAddress[6] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(license); WINPR_ASSERT(license->rdp); @@ -1131,7 +1131,7 @@ BOOL license_generate_hwid(rdpLicense* license) } else { - wStream buffer = { 0 }; + wStream buffer = WINPR_C_ARRAY_INIT; const char* hostname = license->rdp->settings->ClientHostname; wStream* s = Stream_StaticInit(&buffer, license->HardwareId, 4); Stream_Write_UINT32(s, license->PlatformId); @@ -1297,7 +1297,7 @@ static BOOL license_encrypt_and_MAC(rdpLicense* license, const BYTE* input, size static BOOL license_decrypt_and_check_MAC(rdpLicense* license, const BYTE* input, size_t len, LICENSE_BLOB* target, const BYTE* packetMac) { - BYTE macData[sizeof(license->MACData)] = { 0 }; + BYTE macData[sizeof(license->MACData)] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(license); WINPR_ASSERT(target); @@ -1811,8 +1811,8 @@ static BOOL license_check_preferred_alg(rdpLicense* license, UINT32 PreferredKey if (license->PreferredKeyExchangeAlg != PreferredKeyExchangeAlg) { - char buffer1[64] = { 0 }; - char buffer2[64] = { 0 }; + char buffer1[64] = WINPR_C_ARRAY_INIT; + char buffer2[64] = WINPR_C_ARRAY_INIT; WLog_Print(license->log, WLOG_WARN, "%s::PreferredKeyExchangeAlg, expected %s, got %s", where, license_preferred_key_exchange_alg_string(license->PreferredKeyExchangeAlg, @@ -1995,7 +1995,7 @@ fail: BOOL license_read_platform_challenge_packet(rdpLicense* license, wStream* s) { - BYTE macData[LICENSING_ENCRYPTION_KEY_LENGTH] = { 0 }; + BYTE macData[LICENSING_ENCRYPTION_KEY_LENGTH] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(license); @@ -2144,10 +2144,10 @@ BOOL license_read_new_or_upgrade_license_packet(rdpLicense* license, wStream* s) UINT32 cbCompanyName = 0; UINT32 cbProductId = 0; UINT32 cbLicenseInfo = 0; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* licenseStream = NULL; BOOL ret = FALSE; - BYTE computedMac[16] = { 0 }; + BYTE computedMac[16] = WINPR_C_ARRAY_INIT; const BYTE* readMac = NULL; WINPR_ASSERT(license); @@ -2448,7 +2448,7 @@ BOOL license_answer_license_request(rdpLicense* license) if (license_data) { LICENSE_BLOB* calBlob = NULL; - BYTE signature[LICENSING_ENCRYPTION_KEY_LENGTH] = { 0 }; + BYTE signature[LICENSING_ENCRYPTION_KEY_LENGTH] = WINPR_C_ARRAY_INIT; DEBUG_LICENSE("Sending Saved License Packet"); @@ -2631,7 +2631,7 @@ BOOL license_read_platform_challenge_response(WINPR_ATTR_UNUSED rdpLicense* lice if (!dblob) return FALSE; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; UINT16 wVersion = 0; UINT16 cbChallenge = 0; const BYTE* pbChallenge = NULL; diff --git a/libfreerdp/core/listener.c b/libfreerdp/core/listener.c index 516e51046..78ec4878c 100644 --- a/libfreerdp/core/listener.c +++ b/libfreerdp/core/listener.c @@ -61,20 +61,20 @@ static BOOL freerdp_listener_open_from_vsock(WINPR_ATTR_UNUSED freerdp_listener* const int sockfd = socket(AF_VSOCK, SOCK_STREAM, 0); if (sockfd == -1) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Error creating socket: %s", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); return FALSE; } const int flags = fcntl(sockfd, F_GETFL, 0); if (fcntl(sockfd, F_SETFL, flags | O_NONBLOCK) == -1) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Error making socket nonblocking: %s", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); close(sockfd); return FALSE; } - struct sockaddr_vm addr = { 0 }; + struct sockaddr_vm addr = WINPR_C_ARRAY_INIT; addr.svm_family = AF_VSOCK; addr.svm_port = port; @@ -89,7 +89,7 @@ static BOOL freerdp_listener_open_from_vsock(WINPR_ATTR_UNUSED freerdp_listener* val = UINT32_MAX; else { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "could not extract port from '%s', value=%lu, error=%s", bind_address, val, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); close(sockfd); @@ -99,7 +99,7 @@ static BOOL freerdp_listener_open_from_vsock(WINPR_ATTR_UNUSED freerdp_listener* addr.svm_cid = WINPR_ASSERTING_INT_CAST(unsigned int, val); if (bind(sockfd, (struct sockaddr*)&addr, sizeof(struct sockaddr_vm)) == -1) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Error binding vsock at cid %u port %d: %s", addr.svm_cid, port, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); close(sockfd); @@ -108,7 +108,7 @@ static BOOL freerdp_listener_open_from_vsock(WINPR_ATTR_UNUSED freerdp_listener* if (listen(sockfd, 10) == -1) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Error listening to socket at cid %u port %d: %s", addr.svm_cid, port, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); close(sockfd); @@ -248,7 +248,7 @@ static BOOL freerdp_listener_open_local(freerdp_listener* instance, const char* #ifndef _WIN32 int status = 0; int sockfd = 0; - struct sockaddr_un addr = { 0 }; + struct sockaddr_un addr = WINPR_C_ARRAY_INIT; rdpListener* listener = (rdpListener*)instance->listener; HANDLE hevent = NULL; @@ -484,7 +484,7 @@ static BOOL freerdp_listener_check_fds(freerdp_listener* instance) for (int i = 0; i < listener->num_sockfds; i++) { - struct sockaddr_storage peer_addr = { 0 }; + struct sockaddr_storage peer_addr = WINPR_C_ARRAY_INIT; (void)WSAResetEvent(listener->events[i]); int peer_addr_size = sizeof(peer_addr); @@ -493,7 +493,7 @@ static BOOL freerdp_listener_check_fds(freerdp_listener* instance) if (peer_sockfd == (SOCKET)-1) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; #ifdef _WIN32 int wsa_error = WSAGetLastError(); diff --git a/libfreerdp/core/mcs.c b/libfreerdp/core/mcs.c index 21945de12..d82efaeaa 100644 --- a/libfreerdp/core/mcs.c +++ b/libfreerdp/core/mcs.c @@ -1522,7 +1522,7 @@ BOOL mcs_server_apply_to_settings(const rdpMcs* mcs, rdpSettings* settings) for (UINT32 x = 0; x < mcs->channelCount; x++) { const rdpMcsChannel* current = &mcs->channels[x]; - CHANNEL_DEF def = { 0 }; + CHANNEL_DEF def = WINPR_C_ARRAY_INIT; def.options = current->options; memcpy(def.name, current->Name, sizeof(def.name)); if (!freerdp_settings_set_pointer_array(settings, FreeRDP_ChannelDefArray, x, &def)) diff --git a/libfreerdp/core/message.c b/libfreerdp/core/message.c index 4412148fa..7605b7e29 100644 --- a/libfreerdp/core/message.c +++ b/libfreerdp/core/message.c @@ -2664,7 +2664,7 @@ int update_message_queue_free_message(wMessage* message) int update_message_queue_process_pending_messages(rdpUpdate* update) { int status = 1; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; rdp_update_internal* up = update_cast(update); wMessageQueue* queue = up->queue; @@ -2858,7 +2858,7 @@ static BOOL update_message_register_interface(rdpUpdateProxy* message, rdpUpdate static DWORD WINAPI update_message_proxy_thread(LPVOID arg) { rdpUpdate* update = (rdpUpdate*)arg; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; rdp_update_internal* up = update_cast(update); while (MessageQueue_Wait(up->queue)) @@ -3105,7 +3105,7 @@ int input_message_queue_process_message(rdpInput* input, wMessage* message) int input_message_queue_process_pending_messages(rdpInput* input) { int status = 1; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; rdp_input_internal* in = input_cast(input); if (!in->queue) diff --git a/libfreerdp/core/nego.c b/libfreerdp/core/nego.c index 8215274b8..d5a474f30 100644 --- a/libfreerdp/core/nego.c +++ b/libfreerdp/core/nego.c @@ -247,7 +247,7 @@ BOOL nego_connect(rdpNego* nego) } { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(nego->log, WLOG_DEBUG, "Negotiated %s security", nego_protocol_to_str(nego->SelectedProtocol, buffer, sizeof(buffer))); } @@ -277,7 +277,7 @@ BOOL nego_connect(rdpNego* nego) /* finally connect security layer (if not already done) */ if (!nego_security_connect(nego)) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(nego->log, WLOG_DEBUG, "Failed to connect with %s security", nego_protocol_to_str(nego->SelectedProtocol, buffer, sizeof(buffer))); return FALSE; @@ -810,7 +810,7 @@ int nego_recv(WINPR_ATTR_UNUSED rdpTransport* transport, wStream* s, void* extra if (!nego_process_negotiation_response(nego, s)) return -1; { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print( nego->log, WLOG_DEBUG, "selected_protocol: %s", nego_protocol_to_str(nego->SelectedProtocol, buffer, sizeof(buffer))); @@ -1132,7 +1132,7 @@ BOOL nego_send_negotiation_request(rdpNego* nego) } { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(nego->log, WLOG_DEBUG, "RequestedProtocols: %s", nego_protocol_to_str(nego->RequestedProtocols, buffer, sizeof(buffer))); } @@ -1175,7 +1175,7 @@ static BOOL nego_process_correlation_info(WINPR_ATTR_UNUSED rdpNego* nego, wStre UINT8 type = 0; UINT8 flags = 0; UINT16 length = 0; - BYTE correlationId[16] = { 0 }; + BYTE correlationId[16] = WINPR_C_ARRAY_INIT; if (!Stream_CheckAndLogRequiredLengthWLog(nego->log, s, 36)) { @@ -1311,7 +1311,7 @@ BOOL nego_process_negotiation_request(rdpNego* nego, wStream* s) } { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(nego->log, WLOG_DEBUG, "RDP_NEG_REQ: RequestedProtocol: %s", nego_protocol_to_str(nego->RequestedProtocols, buffer, sizeof(buffer))); } @@ -1324,7 +1324,7 @@ static const char* nego_rdp_neg_rsp_flags_str(UINT32 flags) const uint32_t mask = (EXTENDED_CLIENT_DATA_SUPPORTED | DYNVC_GFX_PROTOCOL_SUPPORTED | RDP_NEGRSP_RESERVED | RESTRICTED_ADMIN_MODE_SUPPORTED | REDIRECTED_AUTHENTICATION_MODE_SUPPORTED); - static char buffer[1024] = { 0 }; + static char buffer[1024] = WINPR_C_ARRAY_INIT; (void)_snprintf(buffer, ARRAYSIZE(buffer), "[0x%02" PRIx32 "] ", flags); if (flags & EXTENDED_CLIENT_DATA_SUPPORTED) @@ -1339,7 +1339,7 @@ static const char* nego_rdp_neg_rsp_flags_str(UINT32 flags) winpr_str_append("REDIRECTED_AUTHENTICATION_MODE_SUPPORTED", buffer, sizeof(buffer), "|"); if (flags & ~mask) { - char buffer2[32] = { 0 }; + char buffer2[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(buffer2, sizeof(buffer2), "UNKNOWN[0x%04" PRIx32 "]", flags & ~mask); winpr_str_append(buffer2, buffer, sizeof(buffer), "|"); } @@ -1404,7 +1404,7 @@ static void nego_disable_all_except(rdpNego* nego, uint32_t what) { WINPR_ASSERT(nego); - char buffer[32] = { 0 }; + char buffer[32] = WINPR_C_ARRAY_INIT; WLog_Print(nego->log, WLOG_DEBUG, "Disabling all modes except %s", nego_protocol_to_str(what, buffer, sizeof(buffer))); @@ -2084,7 +2084,7 @@ const char* nego_protocol_to_str(UINT32 protocol, char* buffer, size_t size) { const UINT32 mask = ~(PROTOCOL_SSL | PROTOCOL_HYBRID | PROTOCOL_RDSTLS | PROTOCOL_HYBRID_EX | PROTOCOL_RDSAAD | PROTOCOL_FAILED_NEGO); - char str[48] = { 0 }; + char str[48] = WINPR_C_ARRAY_INIT; if (protocol & PROTOCOL_SSL) (void)winpr_str_append("SSL", str, sizeof(str), "|"); diff --git a/libfreerdp/core/nla.c b/libfreerdp/core/nla.c index a34bef682..704a2d348 100644 --- a/libfreerdp/core/nla.c +++ b/libfreerdp/core/nla.c @@ -949,7 +949,7 @@ BOOL nla_encrypt_public_key_echo(rdpNla* nla) sspi_SecBufferFree(&nla->pubKeyAuth); if (nla->server) { - SecBuffer buf = { 0 }; + SecBuffer buf = WINPR_C_ARRAY_INIT; if (!sspi_SecBufferAlloc(&buf, nla->PublicKey.cbBuffer)) return FALSE; ap_integer_increment_le(buf.pvBuffer, buf.cbBuffer); @@ -969,7 +969,7 @@ BOOL nla_encrypt_public_key_hash(rdpNla* nla) { BOOL status = FALSE; WINPR_DIGEST_CTX* sha256 = NULL; - SecBuffer buf = { 0 }; + SecBuffer buf = WINPR_C_ARRAY_INIT; WINPR_ASSERT(nla); @@ -1016,7 +1016,7 @@ out: BOOL nla_decrypt_public_key_echo(rdpNla* nla) { BOOL status = FALSE; - SecBuffer public_key = { 0 }; + SecBuffer public_key = WINPR_C_ARRAY_INIT; if (!nla) goto fail; @@ -1053,7 +1053,7 @@ fail: BOOL nla_decrypt_public_key_hash(rdpNla* nla) { WINPR_DIGEST_CTX* sha256 = NULL; - BYTE serverClientHash[WINPR_SHA256_DIGEST_LENGTH] = { 0 }; + BYTE serverClientHash[WINPR_SHA256_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; BOOL status = FALSE; WINPR_ASSERT(nla); @@ -1061,7 +1061,7 @@ BOOL nla_decrypt_public_key_hash(rdpNla* nla) const BYTE* hashMagic = nla->server ? ClientServerHashMagic : ServerClientHashMagic; const size_t hashSize = nla->server ? sizeof(ClientServerHashMagic) : sizeof(ServerClientHashMagic); - SecBuffer hash = { 0 }; + SecBuffer hash = WINPR_C_ARRAY_INIT; if (!credssp_auth_decrypt(nla->auth, &nla->pubKeyAuth, &hash, nla->recvSeqNum++)) return FALSE; @@ -1302,10 +1302,10 @@ static BOOL nla_read_TSRemoteGuardPackageCred(WINPR_ATTR_UNUSED rdpNla* nla, Win RemoteGuardPackageCredType* credsType, wStream* payload) { - WinPrAsn1_OctetString packageName = { 0 }; - WinPrAsn1_OctetString credBuffer = { 0 }; + WinPrAsn1_OctetString packageName = WINPR_C_ARRAY_INIT; + WinPrAsn1_OctetString credBuffer = WINPR_C_ARRAY_INIT; BOOL error = FALSE; - char packageNameStr[100] = { 0 }; + char packageNameStr[100] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(nla); WINPR_ASSERT(dec); @@ -1357,7 +1357,7 @@ static BOOL nla_read_ts_credentials(rdpNla* nla, SecBuffer* data) { WinPrAsn1Decoder dec = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1Decoder dec2 = { .encoding = WINPR_ASN1_BER, { 0 } }; - WinPrAsn1_OctetString credentials = { 0 }; + WinPrAsn1_OctetString credentials = WINPR_C_ARRAY_INIT; BOOL error = FALSE; WinPrAsn1_INTEGER credType = -1; BOOL ret = TRUE; @@ -1456,7 +1456,7 @@ static BOOL nla_read_ts_credentials(rdpNla* nla, SecBuffer* data) return FALSE; RemoteGuardPackageCredType logonCredsType = RCG_TYPE_NONE; - wStream logonPayload = { 0 }; + wStream logonPayload = WINPR_C_ARRAY_INIT; if (!nla_read_TSRemoteGuardPackageCred(nla, &logonCredsSeq, &logonCredsType, &logonPayload)) return FALSE; @@ -1484,7 +1484,7 @@ static BOOL nla_read_ts_credentials(rdpNla* nla, SecBuffer* data) return FALSE; RemoteGuardPackageCredType suppCredsType = RCG_TYPE_NONE; - wStream ntlmPayload = { 0 }; + wStream ntlmPayload = WINPR_C_ARRAY_INIT; if (!nla_read_TSRemoteGuardPackageCred(nla, &ntlmCredsSeq, &suppCredsType, &ntlmPayload)) return FALSE; @@ -1549,7 +1549,7 @@ static BOOL nla_get_KERB_TICKET_LOGON(rdpNla* nla, KERB_TICKET_LOGON* logonTicke WINPR_ASSERT(logonTicket); SecurityFunctionTable* table = NULL; - CtxtHandle context = { 0 }; + CtxtHandle context = WINPR_C_ARRAY_INIT; credssp_auth_tableAndContext(nla->auth, &table, &context); return table->QueryContextAttributes(&context, SECPKG_CRED_ATTR_TICKET_LOGON, logonTicket) == SEC_E_OK; @@ -1640,7 +1640,7 @@ static BOOL nla_encode_ts_smartcard_credentials(rdpNla* nla, WinPrAsn1Encoder* e { 2, FreeRDP_ReaderName }, { 3, FreeRDP_ContainerName }, { 4, FreeRDP_CspName } }; - WinPrAsn1_OctetString octet_string = { 0 }; + WinPrAsn1_OctetString octet_string = WINPR_C_ARRAY_INIT; WINPR_ASSERT(nla); WINPR_ASSERT(enc); @@ -1725,9 +1725,9 @@ static BOOL nla_encode_ts_smartcard_credentials(rdpNla* nla, WinPrAsn1Encoder* e static BOOL nla_encode_ts_password_credentials(rdpNla* nla, WinPrAsn1Encoder* enc) { - WinPrAsn1_OctetString username = { 0 }; - WinPrAsn1_OctetString domain = { 0 }; - WinPrAsn1_OctetString password = { 0 }; + WinPrAsn1_OctetString username = WINPR_C_ARRAY_INIT; + WinPrAsn1_OctetString domain = WINPR_C_ARRAY_INIT; + WinPrAsn1_OctetString password = WINPR_C_ARRAY_INIT; WINPR_ASSERT(nla); WINPR_ASSERT(enc); @@ -1816,7 +1816,7 @@ static BOOL nla_encode_ts_credentials(rdpNla* nla) BOOL ret = FALSE; WinPrAsn1Encoder* enc = NULL; size_t length = 0; - wStream s = { 0 }; + wStream s = WINPR_C_ARRAY_INIT; TsCredentialsType credType = TSCREDS_INVALID; WINPR_ASSERT(nla); @@ -1937,7 +1937,7 @@ static BOOL nla_write_octet_string(WinPrAsn1Encoder* enc, const SecBuffer* buffe if (buffer->cbBuffer > 0) { size_t rc = 0; - WinPrAsn1_OctetString octet_string = { 0 }; + WinPrAsn1_OctetString octet_string = WINPR_C_ARRAY_INIT; WLog_DBG(TAG, " ----->> %s", msg); octet_string.data = buffer->pvBuffer; @@ -2068,8 +2068,8 @@ static int nla_decode_ts_request(rdpNla* nla, wStream* s) WinPrAsn1Decoder dec = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1Decoder dec2 = { .encoding = WINPR_ASN1_BER, { 0 } }; BOOL error = FALSE; - WinPrAsn1_tagId tag = { 0 }; - WinPrAsn1_INTEGER val = { 0 }; + WinPrAsn1_tagId tag = WINPR_C_ARRAY_INIT; + WinPrAsn1_INTEGER val = WINPR_C_ARRAY_INIT; UINT32 version = 0; WINPR_ASSERT(nla); @@ -2109,7 +2109,7 @@ static int nla_decode_ts_request(rdpNla* nla, wStream* s) while (WinPrAsn1DecReadContextualTag(&dec, &tag, &dec2) != 0) { WinPrAsn1Decoder dec3 = { .encoding = WINPR_ASN1_BER, { 0 } }; - WinPrAsn1_OctetString octet_string = { 0 }; + WinPrAsn1_OctetString octet_string = WINPR_C_ARRAY_INIT; switch (tag) { @@ -2449,7 +2449,7 @@ SECURITY_STATUS nla_QueryContextAttributes(rdpNla* nla, DWORD ulAttr, PVOID pBuf WINPR_ASSERT(nla); SecurityFunctionTable* table = NULL; - CtxtHandle context = { 0 }; + CtxtHandle context = WINPR_C_ARRAY_INIT; credssp_auth_tableAndContext(nla->auth, &table, &context); return table->QueryContextAttributes(&context, ulAttr, pBuffer); @@ -2460,7 +2460,7 @@ SECURITY_STATUS nla_FreeContextBuffer(rdpNla* nla, PVOID pBuffer) WINPR_ASSERT(nla); SecurityFunctionTable* table = NULL; - CtxtHandle context = { 0 }; + CtxtHandle context = WINPR_C_ARRAY_INIT; credssp_auth_tableAndContext(nla->auth, &table, &context); return table->FreeContextBuffer(pBuffer); diff --git a/libfreerdp/core/orders.c b/libfreerdp/core/orders.c index 3ae8d36d8..a6ddefe15 100644 --- a/libfreerdp/core/orders.c +++ b/libfreerdp/core/orders.c @@ -544,7 +544,7 @@ static const char* primary_order_string(UINT32 orderType) "[0x%02" PRIx8 "] EllipseCB", "[0x%02" PRIx8 "] GlyphIndex" }; const char* fmt = "[0x%02" PRIx8 "] UNKNOWN"; - static char buffer[64] = { 0 }; + static char buffer[64] = WINPR_C_ARRAY_INIT; if (orderType < ARRAYSIZE(orders)) fmt = orders[orderType]; @@ -564,7 +564,7 @@ static const char* secondary_order_string(UINT32 orderType) "[0x%02" PRIx8 "] Cache Brush", "[0x%02" PRIx8 "] Cache Bitmap V3" }; const char* fmt = "[0x%02" PRIx8 "] UNKNOWN"; - static char buffer[64] = { 0 }; + static char buffer[64] = WINPR_C_ARRAY_INIT; if (orderType < ARRAYSIZE(orders)) fmt = orders[orderType]; @@ -584,7 +584,7 @@ static const char* altsec_order_string(BYTE orderType) "[0x%02" PRIx8 "] Desktop Composition", "[0x%02" PRIx8 "] Frame Marker" }; const char* fmt = "[0x%02" PRIx8 "] UNKNOWN"; - static char buffer[64] = { 0 }; + static char buffer[64] = WINPR_C_ARRAY_INIT; if (orderType < ARRAYSIZE(orders)) fmt = orders[orderType]; diff --git a/libfreerdp/core/peer.c b/libfreerdp/core/peer.c index 28470b302..85ff2f813 100644 --- a/libfreerdp/core/peer.c +++ b/libfreerdp/core/peer.c @@ -471,7 +471,7 @@ static state_run_t peer_recv_tpkt_pdu(freerdp_peer* client, wStream* s) if (channelId == MCS_GLOBAL_CHANNEL_ID) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; UINT16 pduLength = 0; UINT16 remain = 0; if (!rdp_read_share_control_header(rdp, s, &pduLength, &remain, &pduType, &pduSource)) @@ -705,7 +705,7 @@ state_run_t peer_recv_pdu(freerdp_peer* client, wStream* s) static state_run_t peer_unexpected_client_message(rdpRdp* rdp, UINT32 flag) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "Unexpected client message in state %s, missing flag %s", rdp_get_state_string(rdp), rdp_finalize_flags_to_str(flag, buffer, sizeof(buffer))); return STATE_RUN_SUCCESS; /* we ignore this as per spec input PDU are already allowed */ @@ -1179,7 +1179,7 @@ static state_run_t peer_recv_callback_internal(WINPR_ATTR_UNUSED rdpTransport* t static state_run_t peer_recv_callback(rdpTransport* transport, wStream* s, void* extra) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; state_run_t rc = STATE_RUN_FAILED; const size_t start = Stream_GetPosition(s); const rdpContext* context = transport_get_context(transport); diff --git a/libfreerdp/core/proxy.c b/libfreerdp/core/proxy.c index d5b988159..70c3c737c 100644 --- a/libfreerdp/core/proxy.c +++ b/libfreerdp/core/proxy.c @@ -214,8 +214,8 @@ static BOOL no_proxy_match_ip(const char* val, const char* hostname) WINPR_ASSERT(val); WINPR_ASSERT(hostname); - struct sockaddr_in sa4 = { 0 }; - struct sockaddr_in6 sa6 = { 0 }; + struct sockaddr_in sa4 = WINPR_C_ARRAY_INIT; + struct sockaddr_in6 sa6 = WINPR_C_ARRAY_INIT; if (inet_pton(AF_INET, hostname, &sa4.sin_addr) == 1) { @@ -227,7 +227,7 @@ static BOOL no_proxy_match_ip(const char* val, const char* hostname) if (sub) *sub++ = '\0'; - struct sockaddr_in mask = { 0 }; + struct sockaddr_in mask = WINPR_C_ARRAY_INIT; if (inet_pton(AF_INET, val, &mask.sin_addr) == 0) return FALSE; @@ -247,7 +247,7 @@ static BOOL no_proxy_match_ip(const char* val, const char* hostname) if (val[0] == '[') val++; - char str[INET6_ADDRSTRLEN + 1] = { 0 }; + char str[INET6_ADDRSTRLEN + 1] = WINPR_C_ARRAY_INIT; strncpy(str, val, INET6_ADDRSTRLEN); const size_t len = strnlen(str, INET6_ADDRSTRLEN); @@ -265,7 +265,7 @@ static BOOL no_proxy_match_ip(const char* val, const char* hostname) if (sub) *sub++ = '\0'; - struct sockaddr_in6 mask = { 0 }; + struct sockaddr_in6 mask = WINPR_C_ARRAY_INIT; if (inet_pton(AF_INET6, str, &mask.sin6_addr) == 0) return FALSE; @@ -577,8 +577,8 @@ static BOOL http_proxy_connect(rdpContext* context, BIO* bufferedBio, const char BOOL rc = FALSE; int status = 0; wStream* s = NULL; - char port_str[10] = { 0 }; - char recv_buf[256] = { 0 }; + char port_str[10] = WINPR_C_ARRAY_INIT; + char recv_buf[256] = WINPR_C_ARRAY_INIT; char* eol = NULL; size_t resultsize = 0; size_t reserveSize = 0; @@ -835,7 +835,7 @@ static BOOL socks_proxy_userpass(rdpContext* context, BIO* bufferedBio, const ch /* user/password v1 method */ { - BYTE buf[2 * 255 + 3] = { 0 }; + BYTE buf[2 * 255 + 3] = WINPR_C_ARRAY_INIT; size_t offset = 0; buf[offset++] = 1; @@ -858,7 +858,7 @@ static BOOL socks_proxy_userpass(rdpContext* context, BIO* bufferedBio, const ch } } - BYTE buf[2] = { 0 }; + BYTE buf[2] = WINPR_C_ARRAY_INIT; const int status = recv_socks_reply(context, bufferedBio, buf, sizeof(buf), "AUTH REQ", 1); if (status < 2) @@ -903,7 +903,7 @@ static BOOL socks_proxy_connect(rdpContext* context, BIO* bufferedBio, const cha } { - BYTE buf[2] = { 0 }; + BYTE buf[2] = WINPR_C_ARRAY_INIT; const int status = recv_socks_reply(context, bufferedBio, buf, sizeof(buf), "AUTH REQ", 5); if (status <= 0) @@ -932,7 +932,7 @@ static BOOL socks_proxy_connect(rdpContext* context, BIO* bufferedBio, const cha } /* CONN request */ { - BYTE buf[262] = { 0 }; + BYTE buf[262] = WINPR_C_ARRAY_INIT; size_t offset = 0; buf[offset++] = 5; /* SOCKS version */ buf[offset++] = SOCKS_CMD_CONNECT; /* command */ @@ -974,7 +974,7 @@ static BOOL socks_proxy_connect(rdpContext* context, BIO* bufferedBio, const cha } } - BYTE buf[255] = { 0 }; + BYTE buf[255] = WINPR_C_ARRAY_INIT; const int status = recv_socks_reply(context, bufferedBio, buf, sizeof(buf), "CONN REQ", 5); if (status < 4) diff --git a/libfreerdp/core/rdp.c b/libfreerdp/core/rdp.c index 6067fab6a..7648c7e55 100644 --- a/libfreerdp/core/rdp.c +++ b/libfreerdp/core/rdp.c @@ -187,7 +187,7 @@ static BOOL rdp_write_share_data_header(rdpRdp* rdp, wStream* s, size_t length, BOOL rdp_read_security_header(rdpRdp* rdp, wStream* s, UINT16* flags, UINT16* length) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(s); WINPR_ASSERT(flags); WINPR_ASSERT(rdp); @@ -230,7 +230,7 @@ BOOL rdp_read_security_header(rdpRdp* rdp, wStream* s, UINT16* flags, UINT16* le BOOL rdp_write_security_header(rdpRdp* rdp, wStream* s, UINT16 flags) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(s); WINPR_ASSERT(rdp); @@ -274,7 +274,7 @@ BOOL rdp_read_share_control_header(rdpRdp* rdp, wStream* s, UINT16* tpktLength, if (remainingLength) *remainingLength = 0; - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_Print(rdp->log, WLOG_DEBUG, "[Flow control PDU] type=%s, tpktLength=%" PRIu16 ", remainingLength=%" PRIu16, pdu_type_to_str(*type, buffer, sizeof(buffer)), tpktLength ? *tpktLength : 0u, @@ -310,7 +310,7 @@ BOOL rdp_read_share_control_header(rdpRdp* rdp, wStream* s, UINT16* tpktLength, else *channel_id = 0; /* Windows XP can send such short DEACTIVATE_ALL PDUs. */ - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_Print(rdp->log, WLOG_DEBUG, "type=%s, tpktLength=%" PRIu16 ", remainingLength=%" PRIuz, pdu_type_to_str(*type, buffer, sizeof(buffer)), len, remLen); if (remainingLength) @@ -495,7 +495,7 @@ BOOL rdp_set_error_info(rdpRdp* rdp, UINT32 errorInfo) if (context->pubSub) { - ErrorInfoEventArgs e = { 0 }; + ErrorInfoEventArgs e = WINPR_C_ARRAY_INIT; EventArgsInit(&e, "freerdp"); e.code = rdp->errorInfo; PubSub_OnErrorInfo(context->pubSub, context, &e); @@ -610,7 +610,7 @@ BOOL rdp_read_header(rdpRdp* rdp, wStream* s, UINT16* length, UINT16* channelId) if (MCSPDU == DomainMCSPDU_DisconnectProviderUltimatum) { int reason = 0; - TerminateEventArgs e = { 0 }; + TerminateEventArgs e = WINPR_C_ARRAY_INIT; if (!mcs_recv_disconnect_provider_ultimatum(rdp->mcs, s, &reason)) return FALSE; @@ -1449,8 +1449,8 @@ state_run_t rdp_recv_out_of_sequence_pdu(rdpRdp* rdp, wStream* s, UINT16 pduType break; default: { - char buffer1[256] = { 0 }; - char buffer2[256] = { 0 }; + char buffer1[256] = WINPR_C_ARRAY_INIT; + char buffer2[256] = WINPR_C_ARRAY_INIT; WLog_Print(rdp->log, WLOG_ERROR, "expected %s, got %s", pdu_type_to_str(PDU_TYPE_DEMAND_ACTIVE, buffer1, sizeof(buffer1)), @@ -1506,8 +1506,8 @@ BOOL rdp_read_flow_control_pdu(rdpRdp* rdp, wStream* s, UINT16* type, UINT16* ch BOOL rdp_decrypt(rdpRdp* rdp, wStream* s, UINT16* pLength, UINT16 securityFlags) { BOOL res = FALSE; - BYTE cmac[8] = { 0 }; - BYTE wmac[8] = { 0 }; + BYTE cmac[8] = WINPR_C_ARRAY_INIT; + BYTE wmac[8] = WINPR_C_ARRAY_INIT; BOOL status = FALSE; WINPR_ASSERT(rdp); @@ -1644,7 +1644,7 @@ const char* pdu_type_to_str(UINT16 pduType, char* buffer, size_t length) winpr_str_append(str, buffer, length, ""); { - char msg[32] = { 0 }; + char msg[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(msg, sizeof(msg), "[0x%08" PRIx32 "]", pduType); winpr_str_append(msg, buffer, length, ""); } @@ -1766,7 +1766,7 @@ static state_run_t rdp_recv_tpkt_pdu(rdpRdp* rdp, wStream* s) default: { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(rdp->log, WLOG_ERROR, "incorrect PDU type: %s", pdu_type_to_str(pduType, buffer, sizeof(buffer))); } @@ -1776,7 +1776,7 @@ static state_run_t rdp_recv_tpkt_pdu(rdpRdp* rdp, wStream* s) diff = Stream_GetRemainingLength(sub); if (diff > 0) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(rdp->log, WLOG_WARN, "pduType %s not properly parsed, %" PRIuz " bytes remaining unhandled. Skipping.", @@ -1859,8 +1859,8 @@ static state_run_t rdp_handle_sc_flags(rdpRdp* rdp, wStream* s, UINT32 flag, } else { - char flag_buffer[256] = { 0 }; - char mask_buffer[256] = { 0 }; + char flag_buffer[256] = WINPR_C_ARRAY_INIT; + char mask_buffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(rdp->log, WLOG_WARN, "[%s] unexpected server message, expected flag %s [have %s]", rdp_get_state_string(rdp), @@ -2100,7 +2100,7 @@ static state_run_t rdp_recv_callback_int(WINPR_ATTR_UNUSED rdpTransport* transpo if (state_run_failed(status)) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(rdp->log, WLOG_DEBUG, "%s - rdp_client_connect_license() - %s", rdp_get_state_string(rdp), state_run_result_string(status, buffer, ARRAYSIZE(buffer))); @@ -2124,7 +2124,7 @@ static state_run_t rdp_recv_callback_int(WINPR_ATTR_UNUSED rdpTransport* transpo if (state_run_failed(status)) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(rdp->log, WLOG_DEBUG, "%s - " "rdp_client_connect_demand_active() - %s", @@ -2170,7 +2170,7 @@ static state_run_t rdp_recv_callback_int(WINPR_ATTR_UNUSED rdpTransport* transpo if (state_run_failed(status)) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(rdp->log, WLOG_DEBUG, "%s - rdp_recv_pdu() - %s", rdp_get_state_string(rdp), state_run_result_string(status, buffer, ARRAYSIZE(buffer))); @@ -2186,7 +2186,7 @@ static state_run_t rdp_recv_callback_int(WINPR_ATTR_UNUSED rdpTransport* transpo if (state_run_failed(status)) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(rdp->log, WLOG_ERROR, "%s status %s", rdp_get_state_string(rdp), state_run_result_string(status, buffer, ARRAYSIZE(buffer))); } @@ -2195,7 +2195,7 @@ static state_run_t rdp_recv_callback_int(WINPR_ATTR_UNUSED rdpTransport* transpo state_run_t rdp_recv_callback(rdpTransport* transport, wStream* s, void* extra) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; state_run_t rc = STATE_RUN_FAILED; const size_t start = Stream_GetPosition(s); const rdpContext* context = transport_get_context(transport); @@ -2624,7 +2624,7 @@ void* rdp_get_io_callback_context(rdpRdp* rdp) const char* rdp_finalize_flags_to_str(UINT32 flags, char* buffer, size_t size) { - char number[32] = { 0 }; + char number[32] = WINPR_C_ARRAY_INIT; const UINT32 mask = (uint32_t)~(FINALIZE_SC_SYNCHRONIZE_PDU | FINALIZE_SC_CONTROL_COOPERATE_PDU | FINALIZE_SC_CONTROL_GRANTED_PDU | FINALIZE_SC_FONT_MAP_PDU | @@ -2675,7 +2675,7 @@ BOOL rdp_finalize_reset_flags(rdpRdp* rdp, BOOL clearAll) BOOL rdp_finalize_set_flag(rdpRdp* rdp, UINT32 flag) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rdp); @@ -2760,7 +2760,7 @@ const char* rdp_security_flag_string(UINT32 securityFlags, char* buffer, size_t if (securityFlags & SEC_FLAGSHI_VALID) winpr_str_append("SEC_FLAGSHI_VALID", buffer, size, "|"); { - char msg[32] = { 0 }; + char msg[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(msg, sizeof(msg), "[0x%08" PRIx32 "]", securityFlags); winpr_str_append(msg, buffer, size, ""); @@ -3018,8 +3018,8 @@ static void log_build_warn_cipher(rdpRdp* rdp, log_line_t* firstLine, WINPR_CIPH { BOOL haveCipher = FALSE; - char key[WINPR_CIPHER_MAX_KEY_LENGTH] = { 0 }; - char iv[WINPR_CIPHER_MAX_IV_LENGTH] = { 0 }; + char key[WINPR_CIPHER_MAX_KEY_LENGTH] = WINPR_C_ARRAY_INIT; + char iv[WINPR_CIPHER_MAX_IV_LENGTH] = WINPR_C_ARRAY_INIT; /* RC4 only exists in the compatibility functions winpr_RC4_* * winpr_Cipher_* does not support that. */ @@ -3059,7 +3059,7 @@ static void log_build_warn_hmac(rdpRdp* rdp, log_line_t* firstLine, WINPR_MD_TYP /* We need some key length, but there is no real limit here. * just take the cipher maximum key length as we already have that available. */ - char key[WINPR_CIPHER_MAX_KEY_LENGTH] = { 0 }; + char key[WINPR_CIPHER_MAX_KEY_LENGTH] = WINPR_C_ARRAY_INIT; haveHmacX = winpr_HMAC_Init(hmac, md, key, sizeof(key)); } winpr_HMAC_Free(hmac); @@ -3092,7 +3092,7 @@ static void log_build_warn_ssl(rdpRdp* rdp) { WINPR_ASSERT(rdp); - log_line_t firstHashLine = { 0 }; + log_line_t firstHashLine = WINPR_C_ARRAY_INIT; log_build_warn_hash(rdp, &firstHashLine, WINPR_MD_MD4, "NTLM support not available"); log_build_warn_hash(rdp, &firstHashLine, WINPR_MD_MD5, "NTLM, assistance files with encrypted passwords, autoreconnect cookies, " @@ -3105,12 +3105,12 @@ static void log_build_warn_ssl(rdpRdp* rdp) "file clipboard, AAD gateway, NLA security and certificates might not work"); print_last_line(rdp->log, &firstHashLine); - log_line_t firstHmacLine = { 0 }; + log_line_t firstHmacLine = WINPR_C_ARRAY_INIT; log_build_warn_hmac(rdp, &firstHmacLine, WINPR_MD_MD5, "Autoreconnect cookie not supported"); log_build_warn_hmac(rdp, &firstHmacLine, WINPR_MD_SHA1, "RDP security not supported"); print_last_line(rdp->log, &firstHmacLine); - log_line_t firstCipherLine = { 0 }; + log_line_t firstCipherLine = WINPR_C_ARRAY_INIT; log_build_warn_cipher(rdp, &firstCipherLine, WINPR_CIPHER_ARC4_128, "assistance files with encrypted passwords, NTLM, RDP licensing and RDP " "security will not work"); diff --git a/libfreerdp/core/rdstls.c b/libfreerdp/core/rdstls.c index 1bc9e66f7..0e44f9ddc 100644 --- a/libfreerdp/core/rdstls.c +++ b/libfreerdp/core/rdstls.c @@ -1048,7 +1048,7 @@ static SSIZE_T rdstls_parse_pdu_data_type(wLog* log, UINT16 dataType, wStream* s SSIZE_T rdstls_parse_pdu(wLog* log, wStream* stream) { SSIZE_T pduLength = -1; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, Stream_Buffer(stream), Stream_Length(stream)); if (Stream_GetRemainingLength(s) < 2) diff --git a/libfreerdp/core/redirection.c b/libfreerdp/core/redirection.c index ddd65c323..cb3dd8f5d 100644 --- a/libfreerdp/core/redirection.c +++ b/libfreerdp/core/redirection.c @@ -239,7 +239,7 @@ static BOOL rdp_redirection_read_base64_wchar(UINT32 flag, wStream* s, UINT32* p BYTE** pData) { BOOL rc = FALSE; - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; const BYTE* ptr = NULL; if (!rdp_redirection_get_data(s, pLength, &ptr)) @@ -353,7 +353,7 @@ BOOL rdp_redirection_read_target_cert(rdpCertificate** ptargetCertificate, const { WINPR_ASSERT(ptargetCertificate); - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, data, length); freerdp_certificate_free(*ptargetCertificate); @@ -643,7 +643,7 @@ int rdp_redirection_apply_settings(rdpRdp* rdp) static BOOL rdp_redirection_read_data(UINT32 flag, wStream* s, UINT32* pLength, BYTE** pData) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; const BYTE* ptr = NULL; if (!rdp_redirection_get_data(s, pLength, &ptr)) @@ -663,7 +663,7 @@ static BOOL rdp_redirection_read_data(UINT32 flag, wStream* s, UINT32* pLength, static state_run_t rdp_recv_server_redirection_pdu(rdpRdp* rdp, wStream* s) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; UINT16 flags = 0; UINT16 length = 0; rdpRedirection* redirection = rdp->redirection; @@ -674,8 +674,8 @@ static state_run_t rdp_recv_server_redirection_pdu(rdpRdp* rdp, wStream* s) Stream_Read_UINT16(s, flags); /* flags (2 bytes) */ if (flags != SEC_REDIRECTION_PKT) { - char buffer1[1024] = { 0 }; - char buffer2[1024] = { 0 }; + char buffer1[1024] = WINPR_C_ARRAY_INIT; + char buffer2[1024] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "received invalid flags=%s, expected %s", rdp_security_flag_string(flags, buffer1, sizeof(buffer1)), rdp_security_flag_string(SEC_REDIRECTION_PKT, buffer2, sizeof(buffer2))); @@ -1211,8 +1211,8 @@ BOOL redirection_set_session_id(rdpRedirection* redirection, UINT32 session_id) static BOOL redirection_unsupported(const char* fkt, UINT32 flag, UINT32 mask) { - char buffer[1024] = { 0 }; - char buffer2[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; + char buffer2[1024] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "[%s] supported flags are {%s}, have {%s}", fkt, rdp_redirection_flags_to_string(mask, buffer, sizeof(buffer)), rdp_redirection_flags_to_string(flag, buffer2, sizeof(buffer2))); diff --git a/libfreerdp/core/security.c b/libfreerdp/core/security.c index 0c7a862c3..e41355a13 100644 --- a/libfreerdp/core/security.c +++ b/libfreerdp/core/security.c @@ -89,7 +89,7 @@ static BOOL security_salted_hash(const BYTE* salt, size_t salt_len, const BYTE* { WINPR_DIGEST_CTX* sha1 = NULL; WINPR_DIGEST_CTX* md5 = NULL; - BYTE sha1_digest[WINPR_SHA1_DIGEST_LENGTH] = { 0 }; + BYTE sha1_digest[WINPR_SHA1_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; BOOL result = FALSE; /* SaltedHash(Salt, Input, Salt1, Salt2) = MD5(S + SHA1(Input + Salt + Salt1 + Salt2)) */ @@ -305,8 +305,8 @@ BOOL security_mac_data(const BYTE* mac_salt_key, size_t mac_salt_key_length, con { WINPR_DIGEST_CTX* sha1 = NULL; WINPR_DIGEST_CTX* md5 = NULL; - BYTE length_le[4] = { 0 }; - BYTE sha1_digest[WINPR_SHA1_DIGEST_LENGTH] = { 0 }; + BYTE length_le[4] = WINPR_C_ARRAY_INIT; + BYTE sha1_digest[WINPR_SHA1_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; BOOL result = FALSE; WINPR_ASSERT(length <= UINT32_MAX); @@ -378,9 +378,9 @@ BOOL security_mac_signature(rdpRdp* rdp, const BYTE* data, UINT32 length, BYTE* { WINPR_DIGEST_CTX* sha1 = NULL; WINPR_DIGEST_CTX* md5 = NULL; - BYTE length_le[4] = { 0 }; - BYTE md5_digest[WINPR_MD5_DIGEST_LENGTH] = { 0 }; - BYTE sha1_digest[WINPR_SHA1_DIGEST_LENGTH] = { 0 }; + BYTE length_le[4] = WINPR_C_ARRAY_INIT; + BYTE md5_digest[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; + BYTE sha1_digest[WINPR_SHA1_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; BOOL result = FALSE; WINPR_ASSERT(rdp); @@ -448,10 +448,10 @@ BOOL security_salted_mac_signature(rdpRdp* rdp, const BYTE* data, UINT32 length, { WINPR_DIGEST_CTX* sha1 = NULL; WINPR_DIGEST_CTX* md5 = NULL; - BYTE length_le[4] = { 0 }; - BYTE use_count_le[4] = { 0 }; - BYTE md5_digest[WINPR_MD5_DIGEST_LENGTH] = { 0 }; - BYTE sha1_digest[WINPR_SHA1_DIGEST_LENGTH] = { 0 }; + BYTE length_le[4] = WINPR_C_ARRAY_INIT; + BYTE use_count_le[4] = WINPR_C_ARRAY_INIT; + BYTE md5_digest[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; + BYTE sha1_digest[WINPR_SHA1_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; BOOL result = FALSE; WINPR_ASSERT(rdp); @@ -569,7 +569,7 @@ static BOOL security_X(const BYTE* master_secret, size_t master_len, const BYTE* static void fips_expand_key_bits(const BYTE* in, WINPR_ATTR_UNUSED size_t in_len, BYTE* out, WINPR_ATTR_UNUSED size_t out_len) { - BYTE buf[21] = { 0 }; + BYTE buf[21] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(in); WINPR_ASSERT(in_len >= sizeof(buf)); @@ -611,9 +611,9 @@ static void fips_expand_key_bits(const BYTE* in, WINPR_ATTR_UNUSED size_t in_len BOOL security_establish_keys(rdpRdp* rdp) { - BYTE pre_master_secret[48] = { 0 }; - BYTE master_secret[48] = { 0 }; - BYTE session_key_blob[48] = { 0 }; + BYTE pre_master_secret[48] = WINPR_C_ARRAY_INIT; + BYTE master_secret[48] = WINPR_C_ARRAY_INIT; + BYTE session_key_blob[48] = WINPR_C_ARRAY_INIT; BYTE salt[] = { 0xD1, 0x26, 0x9E }; /* 40 bits: 3 bytes, 56 bits: 1 byte */ BOOL status = FALSE; @@ -635,8 +635,8 @@ BOOL security_establish_keys(rdpRdp* rdp) if (settings->EncryptionMethods == ENCRYPTION_METHOD_FIPS) { - BYTE client_encrypt_key_t[WINPR_SHA1_DIGEST_LENGTH + 1] = { 0 }; - BYTE client_decrypt_key_t[WINPR_SHA1_DIGEST_LENGTH + 1] = { 0 }; + BYTE client_encrypt_key_t[WINPR_SHA1_DIGEST_LENGTH + 1] = WINPR_C_ARRAY_INIT; + BYTE client_decrypt_key_t[WINPR_SHA1_DIGEST_LENGTH + 1] = WINPR_C_ARRAY_INIT; WINPR_DIGEST_CTX* sha1 = winpr_Digest_New(); if (!sha1) return FALSE; @@ -761,7 +761,7 @@ BOOL security_establish_keys(rdpRdp* rdp) static BOOL security_key_update(BYTE* key, BYTE* update_key, size_t key_len, rdpRdp* rdp) { - BYTE sha1h[WINPR_SHA1_DIGEST_LENGTH] = { 0 }; + BYTE sha1h[WINPR_SHA1_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; WINPR_DIGEST_CTX* sha1 = NULL; WINPR_DIGEST_CTX* md5 = NULL; WINPR_RC4_CTX* rc4 = NULL; @@ -891,8 +891,8 @@ fail: BOOL security_hmac_signature(const BYTE* data, size_t length, BYTE* output, size_t out_len, rdpRdp* rdp) { - BYTE buf[WINPR_SHA1_DIGEST_LENGTH] = { 0 }; - BYTE use_count_le[4] = { 0 }; + BYTE buf[WINPR_SHA1_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; + BYTE use_count_le[4] = WINPR_C_ARRAY_INIT; WINPR_HMAC_CTX* hmac = NULL; BOOL result = FALSE; @@ -959,8 +959,8 @@ BOOL security_fips_decrypt(BYTE* data, size_t length, rdpRdp* rdp) BOOL security_fips_check_signature(const BYTE* data, size_t length, const BYTE* sig, size_t sig_len, rdpRdp* rdp) { - BYTE buf[WINPR_SHA1_DIGEST_LENGTH] = { 0 }; - BYTE use_count_le[4] = { 0 }; + BYTE buf[WINPR_SHA1_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; + BYTE use_count_le[4] = WINPR_C_ARRAY_INIT; WINPR_HMAC_CTX* hmac = NULL; BOOL result = FALSE; diff --git a/libfreerdp/core/server.c b/libfreerdp/core/server.c index 7f169ffb2..598e89be0 100644 --- a/libfreerdp/core/server.c +++ b/libfreerdp/core/server.c @@ -573,8 +573,8 @@ BOOL WTSVirtualChannelManagerOpen(HANDLE hServer) if (channel) { - BYTE capaBuffer[12] = { 0 }; - wStream staticS = { 0 }; + BYTE capaBuffer[12] = WINPR_C_ARRAY_INIT; + wStream staticS = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&staticS, capaBuffer, sizeof(capaBuffer)); vcm->drdynvc_channel = channel; @@ -598,7 +598,7 @@ BOOL WTSVirtualChannelManagerOpen(HANDLE hServer) BOOL WTSVirtualChannelManagerCheckFileDescriptorEx(HANDLE hServer, BOOL autoOpen) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; BOOL status = TRUE; WTSVirtualChannelManager* vcm = NULL; @@ -1009,7 +1009,7 @@ HANDLE WINAPI FreeRDP_WTSOpenServerA(LPSTR pServerName) freerdp_peer* client = NULL; WTSVirtualChannelManager* vcm = NULL; HANDLE hServer = INVALID_HANDLE_VALUE; - wObject queueCallbacks = { 0 }; + wObject queueCallbacks = WINPR_C_ARRAY_INIT; context = (rdpContext*)pServerName; @@ -1334,7 +1334,7 @@ static rdpPeerChannel* channel_new(WTSVirtualChannelManager* vcm, freerdp_peer* UINT32 ChannelId, UINT16 index, UINT16 type, size_t chunkSize, const char* name) { - wObject queueCallbacks = { 0 }; + wObject queueCallbacks = WINPR_C_ARRAY_INIT; queueCallbacks.fnObjectFree = peer_channel_queue_free_message; rdpPeerChannel* channel = @@ -1599,7 +1599,7 @@ BOOL WINAPI FreeRDP_WTSVirtualChannelRead(HANDLE hChannelHandle, WINPR_ATTR_UNUS PCHAR Buffer, ULONG BufferSize, PULONG pBytesRead) { BYTE* buffer = NULL; - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; wtsChannelMessage* messageCtx = NULL; rdpPeerChannel* channel = (rdpPeerChannel*)hChannelHandle; @@ -1752,7 +1752,7 @@ BOOL WINAPI FreeRDP_WTSVirtualChannelQuery(HANDLE hChannelHandle, WTS_VIRTUAL_CL { void* pfd = NULL; BOOL bval = 0; - void* fds[10] = { 0 }; + void* fds[10] = WINPR_C_ARRAY_INIT; HANDLE hEvent = NULL; int fds_count = 0; BOOL status = FALSE; diff --git a/libfreerdp/core/settings.c b/libfreerdp/core/settings.c index 75d093605..1c54e61bd 100644 --- a/libfreerdp/core/settings.c +++ b/libfreerdp/core/settings.c @@ -247,9 +247,9 @@ static void settings_client_load_hkey_local_machine(rdpSettings* settings) for (unsigned x = 0; x < 5; x++) { DWORD val = 0; - TCHAR numentries[64] = { 0 }; - TCHAR persist[64] = { 0 }; - BITMAP_CACHE_V2_CELL_INFO cache = { 0 }; + TCHAR numentries[64] = WINPR_C_ARRAY_INIT; + TCHAR persist[64] = WINPR_C_ARRAY_INIT; + BITMAP_CACHE_V2_CELL_INFO cache = WINPR_C_ARRAY_INIT; (void)_sntprintf(numentries, ARRAYSIZE(numentries), _T("Cell%uNumEntries"), x); (void)_sntprintf(persist, ARRAYSIZE(persist), _T("Cell%uPersistent"), x); if (!settings_reg_query_dword_val(hKey, numentries, &val) || @@ -283,9 +283,9 @@ static void settings_client_load_hkey_local_machine(rdpSettings* settings) _T("SupportLevel")); for (; x < 10; x++) { - GLYPH_CACHE_DEFINITION cache = { 0 }; - TCHAR numentries[64] = { 0 }; - TCHAR maxsize[64] = { 0 }; + GLYPH_CACHE_DEFINITION cache = WINPR_C_ARRAY_INIT; + TCHAR numentries[64] = WINPR_C_ARRAY_INIT; + TCHAR maxsize[64] = WINPR_C_ARRAY_INIT; (void)_sntprintf(numentries, ARRAYSIZE(numentries), _T("Cache%uNumEntries"), x); (void)_sntprintf(maxsize, ARRAYSIZE(maxsize), _T("Cache%uMaxCellSize"), x); @@ -296,7 +296,7 @@ static void settings_client_load_hkey_local_machine(rdpSettings* settings) WLog_WARN(TAG, "Failed to store GlyphCache %u", x); } { - GLYPH_CACHE_DEFINITION cache = { 0 }; + GLYPH_CACHE_DEFINITION cache = WINPR_C_ARRAY_INIT; settings_reg_query_word_val(hKey, _T("FragCacheNumEntries"), &cache.cacheEntries); settings_reg_query_word_val(hKey, _T("FragCacheMaxCellSize"), @@ -370,7 +370,7 @@ static void settings_load_hkey_local_machine(rdpSettings* settings) static BOOL settings_init_computer_name(rdpSettings* settings) { - CHAR computerName[MAX_COMPUTERNAME_LENGTH + 1] = { 0 }; + CHAR computerName[MAX_COMPUTERNAME_LENGTH + 1] = WINPR_C_ARRAY_INIT; DWORD nSize = ARRAYSIZE(computerName); if (!GetComputerNameExA(ComputerNameNetBIOS, computerName, &nSize)) @@ -386,7 +386,7 @@ void freerdp_settings_print_warnings(const rdpSettings* settings) const UINT32 level = freerdp_settings_get_uint32(settings, FreeRDP_GlyphSupportLevel); if (level != GLYPH_SUPPORT_NONE) { - char buffer[32] = { 0 }; + char buffer[32] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "[experimental] enabled GlyphSupportLevel %s, expect visual artefacts!", freerdp_settings_glyph_level_string(level, buffer, sizeof(buffer))); } @@ -408,8 +408,8 @@ static BOOL monitor_operlaps(const rdpSettings* settings, UINT32 orig, UINT32 st if (intersect_rects(&rect1, &rect2)) { - char buffer1[32] = { 0 }; - char buffer2[32] = { 0 }; + char buffer1[32] = WINPR_C_ARRAY_INIT; + char buffer2[32] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Monitor %" PRIu32 " and %" PRIu32 " are overlapping:", orig, x); WLog_ERR(TAG, "%s overlapps with %s", bounds2str(&rect1, buffer1, sizeof(buffer1)), @@ -662,7 +662,7 @@ static BOOL freerdp_settings_client_monitors_check_primary_and_origin(const rdpS BOOL primaryIsOrigin = FALSE; BOOL rc = TRUE; - struct bounds_t bounds = { 0 }; + struct bounds_t bounds = WINPR_C_ARRAY_INIT; if (count == 0) { @@ -1055,7 +1055,7 @@ rdpSettings* freerdp_settings_new(DWORD flags) goto out_fail; { - char tmp[32] = { 0 }; + char tmp[32] = WINPR_C_ARRAY_INIT; if (!freerdp_settings_set_string_len(settings, FreeRDP_ClientProductId, tmp, sizeof(tmp))) goto out_fail; } @@ -1102,7 +1102,7 @@ rdpSettings* freerdp_settings_new(DWORD flags) goto out_fail; { - BITMAP_CACHE_V2_CELL_INFO cache = { 0 }; + BITMAP_CACHE_V2_CELL_INFO cache = WINPR_C_ARRAY_INIT; cache.numEntries = 600; if (!freerdp_settings_set_pointer_array(settings, FreeRDP_BitmapCacheV2CellInfo, 0, &cache) || @@ -1134,7 +1134,7 @@ rdpSettings* freerdp_settings_new(DWORD flags) for (size_t x = 0; x < 10; x++) { - GLYPH_CACHE_DEFINITION cache = { 0 }; + GLYPH_CACHE_DEFINITION cache = WINPR_C_ARRAY_INIT; cache.cacheEntries = 254; switch (x) { @@ -1172,7 +1172,7 @@ rdpSettings* freerdp_settings_new(DWORD flags) goto out_fail; } { - GLYPH_CACHE_DEFINITION cache = { 0 }; + GLYPH_CACHE_DEFINITION cache = WINPR_C_ARRAY_INIT; cache.cacheEntries = 256; cache.cacheMaximumCellSize = 256; if (!freerdp_settings_set_pointer_array(settings, FreeRDP_FragCache, 0, &cache)) @@ -1225,13 +1225,13 @@ rdpSettings* freerdp_settings_new(DWORD flags) !freerdp_settings_set_bool(settings, FreeRDP_SupportDisplayControl, TRUE)) goto out_fail; { - ARC_CS_PRIVATE_PACKET cookie = { 0 }; + ARC_CS_PRIVATE_PACKET cookie = WINPR_C_ARRAY_INIT; if (!freerdp_settings_set_pointer_len(settings, FreeRDP_ClientAutoReconnectCookie, &cookie, 1)) goto out_fail; } { - ARC_SC_PRIVATE_PACKET cookie = { 0 }; + ARC_SC_PRIVATE_PACKET cookie = WINPR_C_ARRAY_INIT; if (!freerdp_settings_set_pointer_len(settings, FreeRDP_ServerAutoReconnectCookie, &cookie, 1)) goto out_fail; @@ -1244,7 +1244,7 @@ rdpSettings* freerdp_settings_new(DWORD flags) if (!settings->ServerMode) { - DYNAMIC_TIME_ZONE_INFORMATION dynamic = { 0 }; + DYNAMIC_TIME_ZONE_INFORMATION dynamic = WINPR_C_ARRAY_INIT; TIME_ZONE_INFORMATION* tz = freerdp_settings_get_pointer_writable(settings, FreeRDP_ClientTimeZone); WINPR_ASSERT(tz); @@ -1782,7 +1782,7 @@ BOOL freerdp_settings_enforce_monitor_exists(rdpSettings* settings) if (!freerdp_settings_set_uint32(settings, FreeRDP_MonitorCount, 1)) return FALSE; - rdpMonitor monitor = { 0 }; + rdpMonitor monitor = WINPR_C_ARRAY_INIT; monitor.x = 0; monitor.y = 0; monitor.width = WINPR_ASSERTING_INT_CAST(int32_t, width); diff --git a/libfreerdp/core/smartcardlogon.c b/libfreerdp/core/smartcardlogon.c index 2d88255ab..dc92f6087 100644 --- a/libfreerdp/core/smartcardlogon.c +++ b/libfreerdp/core/smartcardlogon.c @@ -53,7 +53,7 @@ static void delete_file(char* path) FILE* fp = winpr_fopen(path, "r+"); if (fp) { - const char buffer[8192] = { 0 }; + const char buffer[8192] = WINPR_C_ARRAY_INIT; INT64 size = 0; int rs = _fseeki64(fp, 0, SEEK_END); if (rs == 0) @@ -546,10 +546,10 @@ static BOOL list_provider_keys(WINPR_ATTR_UNUSED const rdpSettings* settings, out: if (count == 0) { - char cspa[128] = { 0 }; + char cspa[128] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(csp, cspa, sizeof(cspa)); - char scopea[128] = { 0 }; + char scopea[128] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(scope, scopea, sizeof(scopea)); WLog_WARN(TAG, "%s [%s] no certificates found", cspa, scopea); } @@ -624,7 +624,7 @@ static BOOL smartcard_hw_enumerateCerts(const rdpSettings* settings, LPCWSTR csp DWORD provType, cbProvName = 0; for (DWORD i = 0; CryptEnumProvidersW(i, NULL, 0, &provType, NULL, &cbProvName); ++i) { - char providerNameStr[256] = { 0 }; + char providerNameStr[256] = WINPR_C_ARRAY_INIT; LPWSTR szProvName = malloc(cbProvName * sizeof(WCHAR)); if (!CryptEnumProvidersW(i, NULL, 0, &provType, szProvName, &cbProvName)) { @@ -664,7 +664,7 @@ static BOOL smartcard_hw_enumerateCerts(const rdpSettings* settings, LPCWSTR csp for (DWORD i = 0; i < nproviders; i++) { - char providerNameStr[256] = { 0 }; + char providerNameStr[256] = WINPR_C_ARRAY_INIT; const NCryptProviderName* name = &names[i]; if (ConvertWCharToUtf8(name->pszName, providerNameStr, ARRAYSIZE(providerNameStr)) < 0) diff --git a/libfreerdp/core/streamdump.c b/libfreerdp/core/streamdump.c index 6b2a1699b..c10084c1f 100644 --- a/libfreerdp/core/streamdump.c +++ b/libfreerdp/core/streamdump.c @@ -311,7 +311,7 @@ static int stream_dump_transport_read(rdpTransport* transport, wStream* s) static BOOL stream_dump_register_write_handlers(rdpContext* context) { - rdpTransportIo dump = { 0 }; + rdpTransportIo dump = WINPR_C_ARRAY_INIT; const rdpTransportIo* dfl = freerdp_get_io_callbacks(context); if (!freerdp_settings_get_bool(context->settings, FreeRDP_TransportDump)) diff --git a/libfreerdp/core/surface.c b/libfreerdp/core/surface.c index f8354f983..d219244b0 100644 --- a/libfreerdp/core/surface.c +++ b/libfreerdp/core/surface.c @@ -128,7 +128,7 @@ static BOOL update_recv_surfcmd_is_rect_valid(const rdpContext* context, static BOOL update_recv_surfcmd_surface_bits(rdpUpdate* update, wStream* s, UINT16 cmdType) { BOOL rc = FALSE; - SURFACE_BITS_COMMAND cmd = { 0 }; + SURFACE_BITS_COMMAND cmd = WINPR_C_ARRAY_INIT; if (!Stream_CheckAndLogRequiredLength(TAG, s, 8)) goto fail; @@ -158,7 +158,7 @@ fail: static BOOL update_recv_surfcmd_frame_marker(rdpUpdate* update, wStream* s) { - SURFACE_FRAME_MARKER marker = { 0 }; + SURFACE_FRAME_MARKER marker = WINPR_C_ARRAY_INIT; rdp_update_internal* up = update_cast(update); WINPR_ASSERT(s); diff --git a/libfreerdp/core/tcp.c b/libfreerdp/core/tcp.c index 9f45b31c7..64a95f0b2 100644 --- a/libfreerdp/core/tcp.c +++ b/libfreerdp/core/tcp.c @@ -241,8 +241,8 @@ static long transport_bio_simple_ctrl(BIO* bio, int cmd, long arg1, void* arg2) } while ((status < 0) && (errno == EINTR)); #else - fd_set rset = { 0 }; - struct timeval tv = { 0 }; + fd_set rset = WINPR_C_ARRAY_INIT; + struct timeval tv = WINPR_C_ARRAY_INIT; FD_ZERO(&rset); FD_SET(sockfd, &rset); @@ -280,8 +280,8 @@ static long transport_bio_simple_ctrl(BIO* bio, int cmd, long arg1, void* arg2) } while ((status < 0) && (errno == EINTR)); #else - fd_set rset = { 0 }; - struct timeval tv = { 0 }; + fd_set rset = WINPR_C_ARRAY_INIT; + struct timeval tv = WINPR_C_ARRAY_INIT; FD_ZERO(&rset); FD_SET(sockfd, &rset); @@ -462,7 +462,7 @@ static int transport_bio_buffered_write(BIO* bio, const char* buf, int num) int ret = num; int nchunks = 0; size_t committedBytes = 0; - DataChunk chunks[2] = { 0 }; + DataChunk chunks[2] = WINPR_C_ARRAY_INIT; WINPR_BIO_BUFFERED_SOCKET* ptr = (WINPR_BIO_BUFFERED_SOCKET*)BIO_get_data(bio); BIO* next_bio = NULL; @@ -664,7 +664,7 @@ BIO_METHOD* BIO_s_buffered_socket(void) char* freerdp_tcp_address_to_string(const struct sockaddr_storage* addr, BOOL* pIPv6) { - char ipAddress[INET6_ADDRSTRLEN + 1] = { 0 }; + char ipAddress[INET6_ADDRSTRLEN + 1] = WINPR_C_ARRAY_INIT; const struct sockaddr_in6* sockaddr_ipv6 = (const struct sockaddr_in6*)addr; const struct sockaddr_in* sockaddr_ipv4 = (const struct sockaddr_in*)addr; @@ -709,7 +709,7 @@ static bool freerdp_tcp_get_ip_address(rdpSettings* settings, int sockfd) { WINPR_ASSERT(settings); - struct sockaddr_storage saddr = { 0 }; + struct sockaddr_storage saddr = WINPR_C_ARRAY_INIT; socklen_t length = sizeof(struct sockaddr_storage); if (!freerdp_settings_set_string(settings, FreeRDP_ClientAddress, NULL)) @@ -724,7 +724,7 @@ static bool freerdp_tcp_get_ip_address(rdpSettings* settings, int sockfd) char* freerdp_tcp_get_peer_address(SOCKET sockfd) { - struct sockaddr_storage saddr = { 0 }; + struct sockaddr_storage saddr = WINPR_C_ARRAY_INIT; socklen_t length = sizeof(struct sockaddr_storage); if (getpeername((int)sockfd, (struct sockaddr*)&saddr, &length) != 0) @@ -740,7 +740,7 @@ static int freerdp_uds_connect(const char* path) #ifndef _WIN32 int status = 0; int sockfd = 0; - struct sockaddr_un addr = { 0 }; + struct sockaddr_un addr = WINPR_C_ARRAY_INIT; sockfd = socket(AF_UNIX, SOCK_STREAM, 0); if (sockfd == -1) @@ -771,7 +771,7 @@ struct addrinfo* freerdp_tcp_resolve_host(const char* hostname, int port, int ai char* service = NULL; char port_str[16]; int status = 0; - struct addrinfo hints = { 0 }; + struct addrinfo hints = WINPR_C_ARRAY_INIT; struct addrinfo* result = NULL; hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; @@ -811,7 +811,7 @@ static BOOL freerdp_tcp_connect_timeout(rdpContext* context, int sockfd, struct size_t addrlen, UINT32 timeout) { BOOL rc = FALSE; - HANDLE handles[2] = { 0 }; + HANDLE handles[2] = WINPR_C_ARRAY_INIT; DWORD count = 0; u_long arg = 0; DWORD tout = (timeout > 0) ? timeout : INFINITE; @@ -865,7 +865,7 @@ static BOOL freerdp_tcp_connect_timeout(rdpContext* context, int sockfd, struct if (optval != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_DBG(TAG, "connect failed with error: %s [%" PRId32 "]", winpr_strerror(optval, ebuffer, sizeof(ebuffer)), optval); goto fail; @@ -1175,14 +1175,14 @@ static int freerdp_vsock_connect(rdpContext* context, const char* hostname, int int sockfd = socket(AF_VSOCK, SOCK_STREAM, 0); if (sockfd < 0) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "socket(AF_VSOCK, SOCK_STREAM, 0) failed with %s", winpr_strerror(errno, buffer, sizeof(buffer))); freerdp_set_last_error_if_not(context, FREERDP_ERROR_CONNECT_FAILED); return -1; } - struct sockaddr_vm addr = { 0 }; + struct sockaddr_vm addr = WINPR_C_ARRAY_INIT; addr.svm_family = AF_VSOCK; addr.svm_port = WINPR_ASSERTING_INT_CAST(typeof(addr.svm_port), port); @@ -1192,7 +1192,7 @@ static int freerdp_vsock_connect(rdpContext* context, const char* hostname, int unsigned long val = strtoul(hostname, &ptr, 10); if (errno || (val > UINT32_MAX)) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "could not extract port from '%s', value=%lu, error=%s", hostname, val, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); close(sockfd); @@ -1476,7 +1476,7 @@ static BOOL freerdp_tcp_layer_wait(void* userContext, BOOL waitWrite, DWORD time int status = -1; int sockfd = tcpLayer->sockfd; #ifdef WINPR_HAVE_POLL_H - struct pollfd pollset = { 0 }; + struct pollfd pollset = WINPR_C_ARRAY_INIT; pollset.fd = sockfd; pollset.events = waitWrite ? POLLOUT : POLLIN; @@ -1486,8 +1486,8 @@ static BOOL freerdp_tcp_layer_wait(void* userContext, BOOL waitWrite, DWORD time } while ((status < 0) && (errno == EINTR)); #else - fd_set rset = { 0 }; - struct timeval tv = { 0 }; + fd_set rset = WINPR_C_ARRAY_INIT; + struct timeval tv = WINPR_C_ARRAY_INIT; FD_ZERO(&rset); FD_SET(sockfd, &rset); @@ -1583,7 +1583,7 @@ BOOL freerdp_tcp_set_nodelay(wLog* log, DWORD level, int sockfd) const int rc = getsockopt(sockfd, SOL_SOCKET, SO_TYPE, ptype, &typelen); if (rc < 0) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_Print(log, level, "can't get SOL_SOCKET|SO_TYPE (%s)", winpr_strerror(errno, buffer, sizeof(buffer))); return FALSE; @@ -1598,7 +1598,7 @@ BOOL freerdp_tcp_set_nodelay(wLog* log, DWORD level, int sockfd) { /* local unix sockets don't have the TCP_NODELAY implemented, so don't make this * error fatal */ - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_Print(log, level, "can't set TCP_NODELAY (%s)", winpr_strerror(errno, buffer, sizeof(buffer))); return FALSE; diff --git a/libfreerdp/core/test/TestConnect.c b/libfreerdp/core/test/TestConnect.c index 24874a622..12c6f932e 100644 --- a/libfreerdp/core/test/TestConnect.c +++ b/libfreerdp/core/test/TestConnect.c @@ -12,7 +12,7 @@ static HANDLE s_sync = NULL; static int runInstance(int argc, char* argv[], freerdp** inst, DWORD timeout) { int rc = -1; - RDP_CLIENT_ENTRY_POINTS clientEntryPoints = { 0 }; + RDP_CLIENT_ENTRY_POINTS clientEntryPoints = WINPR_C_ARRAY_INIT; rdpContext* context = NULL; clientEntryPoints.Size = sizeof(RDP_CLIENT_ENTRY_POINTS); @@ -186,7 +186,7 @@ static int testAbort(int port) static char* concatenate(size_t count, ...) { char* rc = NULL; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, count); rc = _strdup(va_arg(ap, char*)); for (size_t x = 1; x < count; x++) @@ -205,9 +205,9 @@ static BOOL prepare_certificates(const char* path) BOOL rc = FALSE; char* exe = NULL; DWORD status = 0; - STARTUPINFOA si = { 0 }; - PROCESS_INFORMATION process = { 0 }; - char commandLine[8192] = { 0 }; + STARTUPINFOA si = WINPR_C_ARRAY_INIT; + PROCESS_INFORMATION process = WINPR_C_ARRAY_INIT; + char commandLine[8192] = WINPR_C_ARRAY_INIT; if (!path) return FALSE; @@ -236,8 +236,8 @@ static int testSuccess(int port) { int r = 0; int rc = -2; - STARTUPINFOA si = { 0 }; - PROCESS_INFORMATION process = { 0 }; + STARTUPINFOA si = WINPR_C_ARRAY_INIT; + PROCESS_INFORMATION process = WINPR_C_ARRAY_INIT; char arg1[] = "/v:127.0.0.1:XXXXX"; char* clientArgs[] = { "test", "/v:127.0.0.1:XXXXX", "/cert:ignore", "/rfx", NULL }; char* commandLine = NULL; diff --git a/libfreerdp/core/test/TestFuzzCoreClient.c b/libfreerdp/core/test/TestFuzzCoreClient.c index d0f76aedd..ba1709f27 100644 --- a/libfreerdp/core/test/TestFuzzCoreClient.c +++ b/libfreerdp/core/test/TestFuzzCoreClient.c @@ -8,7 +8,7 @@ static BOOL test_client(const uint8_t* Data, size_t Size) { - RDP_CLIENT_ENTRY_POINTS entry = { 0 }; + RDP_CLIENT_ENTRY_POINTS entry = WINPR_C_ARRAY_INIT; entry.Version = RDP_CLIENT_INTERFACE_VERSION; entry.Size = sizeof(RDP_CLIENT_ENTRY_POINTS_V1); @@ -21,7 +21,7 @@ static BOOL test_client(const uint8_t* Data, size_t Size) rdpRdp* rdp = context->rdp; WINPR_ASSERT(rdp); - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, Data, Size); { diff --git a/libfreerdp/core/test/TestFuzzCoreServer.c b/libfreerdp/core/test/TestFuzzCoreServer.c index b43373ce9..c106aed52 100644 --- a/libfreerdp/core/test/TestFuzzCoreServer.c +++ b/libfreerdp/core/test/TestFuzzCoreServer.c @@ -19,7 +19,7 @@ static BOOL test_server(const uint8_t* Data, size_t Size) rdpRdp* rdp = client->context->rdp; WINPR_ASSERT(rdp); - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, Data, Size); { diff --git a/libfreerdp/core/test/TestSettings.c b/libfreerdp/core/test/TestSettings.c index 2e870ddba..0152ae454 100644 --- a/libfreerdp/core/test/TestSettings.c +++ b/libfreerdp/core/test/TestSettings.c @@ -15,7 +15,7 @@ static void log_start_(const char* fkt, ...) { (void)fprintf(stderr, "TestSettings ["); - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fkt); (void)vfprintf(stderr, fkt, ap); va_end(ap); @@ -27,7 +27,7 @@ static void log_start_(const char* fkt, ...) static BOOL log_result_(BOOL value, const char* fkt, ...) { (void)fprintf(stderr, "TestSettings ["); - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fkt); (void)vfprintf(stderr, fkt, ap); va_end(ap); @@ -567,7 +567,7 @@ static BOOL check_key_helpers(size_t key, const char* stype) UINT16 intEntryType = 0; BOOL expect = 0; BOOL have = 0; - char value[8192] = { 0 }; + char value[8192] = WINPR_C_ARRAY_INIT; union { UINT64 u64; @@ -850,7 +850,7 @@ static BOOL test_write_offsets(rdpSettings* settings, size_t id, size_t elementS for (size_t x = min; x < max; x++) { const void* ptr = NULL; - char buffer[8192] = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; winpr_RAND(buffer, sizeof(buffer)); if (!freerdp_settings_set_pointer_array(settings, id, x, buffer)) @@ -1618,7 +1618,7 @@ static BOOL test_serialize_strings(DWORD flags, const char* str) } } - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; (void)_snprintf(buffer, sizeof(buffer), "%s flags 0x%08" PRIx32 " {%s}", __func__, flags, str); return test_serialize_with(src, buffer); } @@ -1747,7 +1747,7 @@ static BOOL set_string_array(rdpSettings* src, FreeRDP_Settings_Keys_Pointer key for (uint32_t x = 0; x < count; x++) { - char buffer[32] = { 0 }; + char buffer[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(buffer, sizeof(buffer), "foobar-0x%08" PRIu32, x); if (!freerdp_settings_set_pointer_array(src, key, x, buffer)) return FALSE; @@ -1829,8 +1829,8 @@ static BOOL test_serialize_pointer(DWORD flags) if (!set_string_array(src, FreeRDP_ServerLicenseProductIssuers, 43)) goto fail; - char addresses[12][43] = { 0 }; - char* strptr[12] = { 0 }; + char addresses[12][43] = WINPR_C_ARRAY_INIT; + char* strptr[12] = WINPR_C_ARRAY_INIT; for (size_t x = 0; x < ARRAYSIZE(addresses); x++) { @@ -1872,7 +1872,7 @@ static BOOL test_serialize_pointer(DWORD flags) goto fail; } - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; (void)_snprintf(buffer, sizeof(buffer), "%s flags 0x%08" PRIx32, __func__, flags); return test_serialize_with(src, buffer); fail: @@ -1894,7 +1894,7 @@ static BOOL test_serialize(void) for (uint32_t flags = 0; flags <= (FREERDP_SETTINGS_SERVER_MODE | FREERDP_SETTINGS_REMOTE_MODE); flags++) { - char buffer[32] = { 0 }; + char buffer[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(buffer, sizeof(buffer), "default (flags 0x%08" PRIx32 ")", flags); if (!test_serialize_with(freerdp_settings_new(flags), buffer)) return FALSE; @@ -2297,7 +2297,7 @@ static bool fillTargetBuffer(rdpSettings* settings, FreeRDP_Settings_Keys_Pointe const size_t count = freerdp_settings_get_uint32(settings, getLenForKey(key)); for (size_t x = 0; x < count; x++) { - char test[128] = { 0 }; + char test[128] = WINPR_C_ARRAY_INIT; (void)_snprintf(test, sizeof(test), "test_value_%" PRIuz, x); if (!freerdp_settings_set_pointer_array(settings, key, x, test)) return false; @@ -2310,7 +2310,7 @@ static bool checkTargetBuffer(rdpSettings* settings, FreeRDP_Settings_Keys_Point { for (size_t x = 0; x < count; x++) { - char test[128] = { 0 }; + char test[128] = WINPR_C_ARRAY_INIT; (void)_snprintf(test, sizeof(test), "test_value_%" PRIuz, x); const char* cmp = freerdp_settings_get_pointer_array(settings, key, x); if (!cmp) diff --git a/libfreerdp/core/test/TestStreamDump.c b/libfreerdp/core/test/TestStreamDump.c index 047cca2a1..fdac09064 100644 --- a/libfreerdp/core/test/TestStreamDump.c +++ b/libfreerdp/core/test/TestStreamDump.c @@ -18,8 +18,8 @@ static BOOL test_entry_read_write(void) size_t offset = 0; UINT64 ts = 0; UINT32 flags = 0; - BYTE tmp[16] = { 0 }; - char tmp2[64] = { 0 }; + BYTE tmp[16] = WINPR_C_ARRAY_INIT; + char tmp2[64] = WINPR_C_ARRAY_INIT; char* name = NULL; size_t entrysize = sizeof(UINT64) /* timestamp */ + sizeof(BYTE) /* direction */ + sizeof(UINT32) /* CRC */ + sizeof(UINT64) /* size */; diff --git a/libfreerdp/core/test/TestUtils.c b/libfreerdp/core/test/TestUtils.c index 808bc1aaf..92a813642 100644 --- a/libfreerdp/core/test/TestUtils.c +++ b/libfreerdp/core/test/TestUtils.c @@ -77,7 +77,7 @@ WINPR_ATTR_MALLOC(free, 1) WINPR_ATTR_NODISCARD static char* freerdp_settings_get_legacy_config_path(const char* filename, const char* cproduct) { - char product[MAX_PATH] = { 0 }; + char product[MAX_PATH] = WINPR_C_ARRAY_INIT; const size_t plen = strnlen(cproduct, sizeof(product)); if (plen == MAX_PATH) diff --git a/libfreerdp/core/timezone.c b/libfreerdp/core/timezone.c index 699081ad1..7bdf19055 100644 --- a/libfreerdp/core/timezone.c +++ b/libfreerdp/core/timezone.c @@ -58,7 +58,7 @@ static const char* weekday2str(WORD wDayOfWeek) static char* systemtime2str(const SYSTEMTIME* t, char* buffer, size_t len) { - const SYSTEMTIME empty = { 0 }; + const SYSTEMTIME empty = WINPR_C_ARRAY_INIT; if (memcmp(t, &empty, sizeof(SYSTEMTIME)) == 0) (void)_snprintf(buffer, len, "{ not set }"); @@ -80,7 +80,7 @@ static void log_print(wLog* log, DWORD level, const char* file, const char* fkt, if (!WLog_IsLevelActive(log, level)) return; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); WLog_PrintTextMessageVA(log, level, line, file, fkt, fmt, ap); va_end(ap); @@ -91,7 +91,7 @@ static void log_timezone_(const TIME_ZONE_INFORMATION* tzif, DWORD result, const { WINPR_ASSERT(tzif); - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; DWORD level = WLOG_TRACE; wLog* log = WLog_Get(TIMEZONE_TAG); log_print(log, level, file, fkt, line, "TIME_ZONE_INFORMATION {"); @@ -189,7 +189,7 @@ BOOL rdp_write_system_time(wStream* s, const SYSTEMTIME* system_time) BOOL rdp_read_client_time_zone(wStream* s, rdpSettings* settings) { - LPTIME_ZONE_INFORMATION tz = { 0 }; + LPTIME_ZONE_INFORMATION tz = WINPR_C_ARRAY_INIT; if (!s || !settings) return FALSE; diff --git a/libfreerdp/core/transport.c b/libfreerdp/core/transport.c index 3408cab88..0f0836bd8 100644 --- a/libfreerdp/core/transport.c +++ b/libfreerdp/core/transport.c @@ -132,7 +132,7 @@ static const char* where2str(int where, char* ibuffer, size_t ilen) if (where & SSL_CB_LOOP) winpr_str_append("SSL_CB_LOOP", buffer, len, "|"); - char nr[32] = { 0 }; + char nr[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(nr, sizeof(nr), "]{0x%08" PRIx32 "}", (unsigned)where); winpr_str_append(nr, buffer, len, ""); return buffer; @@ -142,7 +142,7 @@ static void transport_ssl_cb(const SSL* ssl, int where, int ret) { if (where & SSL_CB_ALERT) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; rdpTransport* transport = (rdpTransport*)SSL_get_app_data(ssl); WINPR_ASSERT(transport); @@ -809,7 +809,7 @@ static void transport_bio_error_log(rdpTransport* transport, LPCSTR biofunc, if (ERR_peek_error() == 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; if (saveerrno == 0) WLog_PrintTextMessage(transport->log, level, line, file, func, "%s retries exceeded", @@ -823,7 +823,7 @@ static void transport_bio_error_log(rdpTransport* transport, LPCSTR biofunc, while ((sslerr = ERR_get_error())) { - char buf[120] = { 0 }; + char buf[120] = WINPR_C_ARRAY_INIT; ERR_error_string_n(sslerr, buf, 120); WLog_PrintTextMessage(transport->log, level, line, file, func, "%s returned an error: %s", @@ -958,7 +958,7 @@ int transport_read_pdu(rdpTransport* transport, wStream* s) static SSIZE_T parse_nla_mode_pdu(rdpTransport* transport, wStream* stream) { SSIZE_T pduLength = 0; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, Stream_Buffer(stream), Stream_Length(stream)); /* * In case NlaMode is set TSRequest package(s) are expected @@ -1017,7 +1017,7 @@ static SSIZE_T parse_nla_mode_pdu(rdpTransport* transport, wStream* stream) static SSIZE_T parse_default_mode_pdu(rdpTransport* transport, wStream* stream) { SSIZE_T pduLength = 0; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, Stream_Buffer(stream), Stream_Length(stream)); UINT8 version = 0; @@ -1427,7 +1427,7 @@ DWORD transport_get_event_handles(rdpTransport* transport, HANDLE* events, DWORD void transport_get_fds(rdpTransport* transport, void** rfds, int* rcount) { DWORD nCount = 0; - HANDLE events[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE events[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(transport); WINPR_ASSERT(rfds); @@ -1528,7 +1528,7 @@ int transport_check_fds(rdpTransport* transport) if (state_run_failed(recv_status)) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_Print(transport->log, WLOG_ERROR, "transport_check_fds: transport->ReceiveCallback() - %s", state_run_result_string(recv_status, buffer, ARRAYSIZE(buffer))); diff --git a/libfreerdp/core/update.c b/libfreerdp/core/update.c index 003e9d820..7360c53aa 100644 --- a/libfreerdp/core/update.c +++ b/libfreerdp/core/update.c @@ -348,7 +348,7 @@ static BOOL update_read_play_sound(wStream* s, PLAY_SOUND_UPDATE* play_sound) BOOL update_recv_play_sound(rdpUpdate* update, wStream* s) { - PLAY_SOUND_UPDATE play_sound = { 0 }; + PLAY_SOUND_UPDATE play_sound = WINPR_C_ARRAY_INIT; WINPR_ASSERT(update); @@ -1589,7 +1589,7 @@ static BOOL update_send_play_sound(rdpContext* context, const PLAY_SOUND_UPDATE* static BOOL update_send_dstblt(rdpContext* context, const DSTBLT_ORDER* dstblt) { - ORDER_INFO orderInfo = { 0 }; + ORDER_INFO orderInfo = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(dstblt); @@ -1625,7 +1625,7 @@ static BOOL update_send_dstblt(rdpContext* context, const DSTBLT_ORDER* dstblt) static BOOL update_send_patblt(rdpContext* context, PATBLT_ORDER* patblt) { size_t offset = 0; - ORDER_INFO orderInfo = { 0 }; + ORDER_INFO orderInfo = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(patblt); @@ -1657,7 +1657,7 @@ static BOOL update_send_patblt(rdpContext* context, PATBLT_ORDER* patblt) static BOOL update_send_scrblt(rdpContext* context, const SCRBLT_ORDER* scrblt) { - ORDER_INFO orderInfo = { 0 }; + ORDER_INFO orderInfo = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(scrblt); @@ -1690,7 +1690,7 @@ static BOOL update_send_scrblt(rdpContext* context, const SCRBLT_ORDER* scrblt) static BOOL update_send_opaque_rect(rdpContext* context, const OPAQUE_RECT_ORDER* opaque_rect) { size_t offset = 0; - ORDER_INFO orderInfo = { 0 }; + ORDER_INFO orderInfo = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(opaque_rect); @@ -1723,7 +1723,7 @@ static BOOL update_send_opaque_rect(rdpContext* context, const OPAQUE_RECT_ORDER static BOOL update_send_line_to(rdpContext* context, const LINE_TO_ORDER* line_to) { - ORDER_INFO orderInfo = { 0 }; + ORDER_INFO orderInfo = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(line_to); @@ -1755,7 +1755,7 @@ static BOOL update_send_line_to(rdpContext* context, const LINE_TO_ORDER* line_t static BOOL update_send_memblt(rdpContext* context, MEMBLT_ORDER* memblt) { size_t offset = 0; - ORDER_INFO orderInfo = { 0 }; + ORDER_INFO orderInfo = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(memblt); @@ -1786,7 +1786,7 @@ static BOOL update_send_memblt(rdpContext* context, MEMBLT_ORDER* memblt) static BOOL update_send_glyph_index(rdpContext* context, GLYPH_INDEX_ORDER* glyph_index) { - ORDER_INFO orderInfo = { 0 }; + ORDER_INFO orderInfo = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(glyph_index); @@ -2414,7 +2414,7 @@ static BOOL update_send_pointer_cached(rdpContext* context, BOOL update_read_refresh_rect(rdpUpdate* update, wStream* s) { BYTE numberOfAreas = 0; - RECTANGLE_16 areas[256] = { 0 }; + RECTANGLE_16 areas[256] = WINPR_C_ARRAY_INIT; rdp_update_internal* up = update_cast(update); if (!Stream_CheckAndLogRequiredLength(TAG, s, 4)) @@ -2450,7 +2450,7 @@ BOOL update_read_suppress_output(rdpUpdate* update, wStream* s) { rdp_update_internal* up = update_cast(update); RECTANGLE_16* prect = NULL; - RECTANGLE_16 rect = { 0 }; + RECTANGLE_16 rect = WINPR_C_ARRAY_INIT; BYTE allowDisplayUpdates = 0; WINPR_ASSERT(up); diff --git a/libfreerdp/core/utils.c b/libfreerdp/core/utils.c index 130e55575..3139ba3e6 100644 --- a/libfreerdp/core/utils.c +++ b/libfreerdp/core/utils.c @@ -403,7 +403,7 @@ BOOL utils_apply_gateway_policy(wLog* log, rdpContext* context, UINT32 flags, co } else if (freerdp_settings_get_bool(settings, FreeRDP_GatewayIgnoreRedirectionPolicy)) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_INFO, "[%s] policy ignored on user request %s", module, utils_redir_flags_to_string(flags, buffer, sizeof(buffer))); } @@ -482,7 +482,7 @@ char* utils_redir_flags_to_string(UINT32 flags, char* buffer, size_t size) if (flags & HTTP_TUNNEL_REDIR_DISABLE_PNP) winpr_str_append("DISABLE_PNP", buffer, size, "|"); - char fbuffer[16] = { 0 }; + char fbuffer[16] = WINPR_C_ARRAY_INIT; (void)_snprintf(fbuffer, sizeof(fbuffer), "[0x%08" PRIx32 "]", flags); winpr_str_append(fbuffer, buffer, size, " "); diff --git a/libfreerdp/core/window.c b/libfreerdp/core/window.c index e51a0cf7c..5ac11ac2e 100644 --- a/libfreerdp/core/window.c +++ b/libfreerdp/core/window.c @@ -660,7 +660,7 @@ static void dump_window_style_ex(char* buffer, size_t bufferSize, UINT32 extende static void dump_window_state_order(wLog* log, const char* msg, const WINDOW_ORDER_INFO* order, const WINDOW_STATE_ORDER* state) { - char buffer[3000] = { 0 }; + char buffer[3000] = WINPR_C_ARRAY_INIT; const size_t bufferSize = sizeof(buffer) - 1; (void)_snprintf(buffer, bufferSize, "%s windowId=%" PRIu32 "", msg, order->windowId); @@ -826,7 +826,7 @@ static BOOL update_recv_window_info_order(rdpUpdate* update, wStream* s, if (orderInfo->fieldFlags & WINDOW_ORDER_ICON) { - WINDOW_ICON_ORDER window_icon = { 0 }; + WINDOW_ICON_ORDER window_icon = WINPR_C_ARRAY_INIT; result = update_read_window_icon_order(s, orderInfo, &window_icon); if (result) @@ -841,7 +841,7 @@ static BOOL update_recv_window_info_order(rdpUpdate* update, wStream* s, } else if (orderInfo->fieldFlags & WINDOW_ORDER_CACHED_ICON) { - WINDOW_CACHED_ICON_ORDER window_cached_icon = { 0 }; + WINDOW_CACHED_ICON_ORDER window_cached_icon = WINPR_C_ARRAY_INIT; result = update_read_window_cached_icon_order(s, orderInfo, &window_cached_icon); if (result) @@ -859,7 +859,7 @@ static BOOL update_recv_window_info_order(rdpUpdate* update, wStream* s, } else { - WINDOW_STATE_ORDER windowState = { 0 }; + WINDOW_STATE_ORDER windowState = WINPR_C_ARRAY_INIT; result = update_read_window_state_order(s, orderInfo, &windowState); if (result) @@ -974,7 +974,7 @@ static BOOL update_recv_notification_icon_info_order(rdpUpdate* update, wStream* } else { - NOTIFY_ICON_STATE_ORDER notify_icon_state = { 0 }; + NOTIFY_ICON_STATE_ORDER notify_icon_state = WINPR_C_ARRAY_INIT; result = update_read_notification_icon_state_order(s, orderInfo, ¬ify_icon_state); if (!result) @@ -1062,7 +1062,7 @@ static void update_read_desktop_non_monitored_order(WINPR_ATTR_UNUSED wStream* s static void dump_monitored_desktop(wLog* log, const char* msg, const WINDOW_ORDER_INFO* orderInfo, const MONITORED_DESKTOP_ORDER* monitored) { - char buffer[1000] = { 0 }; + char buffer[1000] = WINPR_C_ARRAY_INIT; const size_t bufferSize = sizeof(buffer) - 1; DUMP_APPEND(buffer, bufferSize, "%s", msg); @@ -1105,7 +1105,7 @@ static BOOL update_recv_desktop_info_order(rdpUpdate* update, wStream* s, } else { - MONITORED_DESKTOP_ORDER monitored_desktop = { 0 }; + MONITORED_DESKTOP_ORDER monitored_desktop = WINPR_C_ARRAY_INIT; result = update_read_desktop_actively_monitored_order(s, orderInfo, &monitored_desktop); if (result) @@ -1139,7 +1139,7 @@ BOOL update_recv_altsec_window_order(rdpUpdate* update, wStream* s) BOOL rc = TRUE; size_t remaining = 0; UINT16 orderSize = 0; - WINDOW_ORDER_INFO orderInfo = { 0 }; + WINDOW_ORDER_INFO orderInfo = WINPR_C_ARRAY_INIT; rdp_update_internal* up = update_cast(update); remaining = Stream_GetRemainingLength(s); diff --git a/libfreerdp/crypto/base64.c b/libfreerdp/crypto/base64.c index 91cce5eec..18cd5966d 100644 --- a/libfreerdp/crypto/base64.c +++ b/libfreerdp/crypto/base64.c @@ -440,7 +440,7 @@ static inline void* base64_decode(const signed char* WINPR_RESTRICT alphabet, si const char* WINPR_RESTRICT s, size_t length, size_t* WINPR_RESTRICT data_len, BOOL pad) { - int n[4] = { 0 }; + int n[4] = WINPR_C_ARRAY_INIT; BYTE* data = NULL; const size_t remainder = length % 4; diff --git a/libfreerdp/crypto/cert_common.c b/libfreerdp/crypto/cert_common.c index 7a79b5f10..0a013d03e 100644 --- a/libfreerdp/crypto/cert_common.c +++ b/libfreerdp/crypto/cert_common.c @@ -87,7 +87,7 @@ BOOL read_bignum(BYTE** dst, DWORD* length, const BIGNUM* num, BOOL alloc) BOOL cert_info_create(rdpCertInfo* dst, const BIGNUM* rsa, const BIGNUM* rsa_e) { - const rdpCertInfo empty = { 0 }; + const rdpCertInfo empty = WINPR_C_ARRAY_INIT; WINPR_ASSERT(dst); WINPR_ASSERT(rsa); diff --git a/libfreerdp/crypto/certificate.c b/libfreerdp/crypto/certificate.c index c610b386f..dda192c52 100644 --- a/libfreerdp/crypto/certificate.c +++ b/libfreerdp/crypto/certificate.c @@ -293,7 +293,7 @@ static BOOL is_rsa_key(const X509* x509) static BOOL certificate_read_x509_certificate(const rdpCertBlob* cert, rdpCertInfo* info) { - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = NULL; size_t length = 0; BYTE padding = 0; @@ -441,7 +441,7 @@ error: static rdpX509CertChain certificate_new_x509_certificate_chain(UINT32 count) { - rdpX509CertChain x509_cert_chain = { 0 }; + rdpX509CertChain x509_cert_chain = WINPR_C_ARRAY_INIT; x509_cert_chain.array = (rdpCertBlob*)calloc(count, sizeof(rdpCertBlob)); @@ -661,7 +661,7 @@ fail: static BOOL certificate_process_server_public_key(rdpCertificate* cert, wStream* s, WINPR_ATTR_UNUSED UINT32 length) { - char magic[sizeof(rsa_magic)] = { 0 }; + char magic[sizeof(rsa_magic)] = WINPR_C_ARRAY_INIT; UINT32 keylen = 0; UINT32 bitlen = 0; UINT32 datalen = 0; @@ -919,8 +919,8 @@ static BOOL cert_write_rsa_public_key(wStream* s, const rdpCertificate* cert) static BOOL cert_write_rsa_signature(wStream* s, const void* sigData, size_t sigDataLen) { - BYTE encryptedSignature[TSSK_KEY_LENGTH] = { 0 }; - BYTE signature[sizeof(initial_signature)] = { 0 }; + BYTE encryptedSignature[TSSK_KEY_LENGTH] = WINPR_C_ARRAY_INIT; + BYTE signature[sizeof(initial_signature)] = WINPR_C_ARRAY_INIT; memcpy(signature, initial_signature, sizeof(initial_signature)); if (!winpr_Digest(WINPR_MD_MD5, sigData, sigDataLen, signature, sizeof(signature))) diff --git a/libfreerdp/crypto/certificate_data.c b/libfreerdp/crypto/certificate_data.c index 50acb1305..c3799c768 100644 --- a/libfreerdp/crypto/certificate_data.c +++ b/libfreerdp/crypto/certificate_data.c @@ -305,7 +305,7 @@ const char* freerdp_certificate_data_get_hash(const rdpCertificateData* cert) char* freerdp_certificate_data_hash(const char* hostname, UINT16 port) { - char name[MAX_PATH + 10] = { 0 }; + char name[MAX_PATH + 10] = WINPR_C_ARRAY_INIT; freerdp_certificate_data_hash_(hostname, port, name, sizeof(name)); return strndup(name, sizeof(name)); } diff --git a/libfreerdp/crypto/crypto.c b/libfreerdp/crypto/crypto.c index 2565dd8cb..9f95e55a8 100644 --- a/libfreerdp/crypto/crypto.c +++ b/libfreerdp/crypto/crypto.c @@ -235,7 +235,7 @@ char* crypto_read_pem(const char* WINPR_RESTRICT filename, size_t* WINPR_RESTRIC fail: { - char buffer[8192] = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "Failed to read PEM from file '%s' [%s]", filename, winpr_strerror(errno, buffer, sizeof(buffer))); } @@ -264,7 +264,7 @@ BOOL crypto_write_pem(const char* WINPR_RESTRICT filename, const char* WINPR_RES fail: if (rc == 0) { - char buffer[8192] = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "Failed to write PEM [%" PRIuz "] to file '%s' [%s]", length, filename, winpr_strerror(errno, buffer, sizeof(buffer))); } diff --git a/libfreerdp/crypto/per.c b/libfreerdp/crypto/per.c index e122a8e60..e7107693d 100644 --- a/libfreerdp/crypto/per.c +++ b/libfreerdp/crypto/per.c @@ -419,7 +419,7 @@ BOOL per_read_object_identifier(wStream* s, const BYTE oid[6]) { BYTE t12 = 0; UINT16 length = 0; - BYTE a_oid[6] = { 0 }; + BYTE a_oid[6] = WINPR_C_ARRAY_INIT; if (!per_read_length(s, &length)) return FALSE; diff --git a/libfreerdp/crypto/privatekey.c b/libfreerdp/crypto/privatekey.c index c092bba11..08117eb5b 100644 --- a/libfreerdp/crypto/privatekey.c +++ b/libfreerdp/crypto/privatekey.c @@ -162,7 +162,7 @@ static BOOL key_read_private(rdpPrivateKey* key) RSA* rsa = evp_pkey_to_rsa(key); if (!rsa) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "unable to load RSA key: %s.", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); goto fail; @@ -180,7 +180,7 @@ static BOOL key_read_private(rdpPrivateKey* key) default: { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "unexpected error when checking RSA key: %s.", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); goto fail; @@ -408,7 +408,7 @@ BOOL freerdp_key_generate(rdpPrivateKey* key, const char* type, size_t count, .. WLog_ERR(TAG, "Argument type=%s requires count=1, got %" PRIuz ", aborting", type, count); return FALSE; } - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, count); const int key_length = va_arg(ap, int); va_end(ap); diff --git a/libfreerdp/crypto/x509_utils.c b/libfreerdp/crypto/x509_utils.c index b7a1e584a..88c092f24 100644 --- a/libfreerdp/crypto/x509_utils.c +++ b/libfreerdp/crypto/x509_utils.c @@ -132,7 +132,7 @@ static const char* general_name_type_label(int general_name_type) } else { - static char buffer[80] = { 0 }; + static char buffer[80] = WINPR_C_ARRAY_INIT; (void)snprintf(buffer, sizeof(buffer), "Unknown general name type (%d)", general_name_type); return buffer; } @@ -456,7 +456,7 @@ char* x509_utils_get_email(const X509* x509) char* x509_utils_get_upn(const X509* x509) { char* result = 0; - object_list list = { 0 }; + object_list list = WINPR_C_ARRAY_INIT; object_list_initialize(&list); list.type_id = OBJ_nid2obj(NID_ms_upn); list.maximum = 1; @@ -521,7 +521,7 @@ void x509_utils_dns_names_free(size_t count, size_t* lengths, char** dns_names) char** x509_utils_get_dns_names(const X509* x509, size_t* count, size_t** lengths) { char** result = 0; - string_list list = { 0 }; + string_list list = WINPR_C_ARRAY_INIT; string_list_initialize(&list); map_subject_alt_name(x509, GEN_DNS, extract_string, &list); (*count) = list.count; diff --git a/libfreerdp/emu/scard/smartcard_emulate.c b/libfreerdp/emu/scard/smartcard_emulate.c index f8c67dd78..5f0666ead 100644 --- a/libfreerdp/emu/scard/smartcard_emulate.c +++ b/libfreerdp/emu/scard/smartcard_emulate.c @@ -41,7 +41,7 @@ static CHAR g_ReaderNameA[] = { 'F', 'r', 'e', 'e', 'R', 'D', 'P', ' ', 'E', 'm', 'u', 'l', 'a', 't', 'o', 'r', '\0', '\0' }; static INIT_ONCE g_ReaderNameWGuard = INIT_ONCE_STATIC_INIT; -static WCHAR g_ReaderNameW[32] = { 0 }; +static WCHAR g_ReaderNameW[32] = WINPR_C_ARRAY_INIT; static size_t g_ReaderNameWLen = 0; static char* card_id_and_name_a(const UUID* CardIdentifier, LPCSTR LookupName) @@ -393,7 +393,7 @@ LONG WINAPI Emulate_SCardEstablishContext(SmartcardEmulationContext* smartcard, if (ctx) { - SCARDCONTEXT context = { 0 }; + SCARDCONTEXT context = WINPR_C_ARRAY_INIT; winpr_RAND(&context, sizeof(SCARDCONTEXT)); if (HashTable_Insert(smartcard->contexts, (const void*)context, ctx)) diff --git a/libfreerdp/emu/scard/smartcard_virtual_gids.c b/libfreerdp/emu/scard/smartcard_virtual_gids.c index 7acd491bd..04b96d1db 100644 --- a/libfreerdp/emu/scard/smartcard_virtual_gids.c +++ b/libfreerdp/emu/scard/smartcard_virtual_gids.c @@ -703,7 +703,7 @@ static BOOL vgids_ins_select(vgidsContext* context, wStream* s, BYTE** response, case 0x04: { /* read AID from APDU */ - BYTE aid[ISO_AID_MAX_SIZE] = { 0 }; + BYTE aid[ISO_AID_MAX_SIZE] = WINPR_C_ARRAY_INIT; if (lc > ISO_AID_MAX_SIZE) { WLog_ERR(TAG, "The LC byte is greater than the maximum AID length"); @@ -1377,7 +1377,7 @@ static BOOL vgids_ins_verify(vgidsContext* context, wStream* s, BYTE** response, BYTE p2 = 0; BYTE lc = 0; UINT16 status = ISO_STATUS_SUCCESS; - char pin[VGIDS_MAX_PIN_SIZE + 1] = { 0 }; + char pin[VGIDS_MAX_PIN_SIZE + 1] = WINPR_C_ARRAY_INIT; /* Verify is always called for the application password (PIN) P2=0x80 */ if (!vgids_parse_apdu_header(s, NULL, &ins, &p1, &p2, NULL, NULL)) @@ -1472,7 +1472,7 @@ BOOL vgids_init(vgidsContext* ctx, const char* cert, const char* privateKey, con vgidsEF* masterEF = NULL; vgidsEF* cardidEF = NULL; vgidsEF* commonEF = NULL; - BYTE cardid[VGIDS_CARDID_SIZE] = { 0 }; + BYTE cardid[VGIDS_CARDID_SIZE] = WINPR_C_ARRAY_INIT; vgidsContainerMapEntry cmrec = { { 'P', 'r', 'i', 'v', 'a', 't', 'e', ' ', 'K', 'e', 'y', ' ', '0', '0' }, CONTAINER_MAP_VALID_CONTAINER | diff --git a/libfreerdp/gdi/bitmap.c b/libfreerdp/gdi/bitmap.c index 80a9cd861..42c268405 100644 --- a/libfreerdp/gdi/bitmap.c +++ b/libfreerdp/gdi/bitmap.c @@ -230,7 +230,7 @@ static BOOL op_xor(UINT32* stack, UINT32* stackp) static UINT32 process_rop(UINT32 src, UINT32 dst, UINT32 pat, const char* rop, UINT32 format) { - UINT32 stack[10] = { 0 }; + UINT32 stack[10] = WINPR_C_ARRAY_INIT; UINT32 stackp = 0; while (*rop != '\0') diff --git a/libfreerdp/gdi/clipping.c b/libfreerdp/gdi/clipping.c index 595ebac58..2a2b539f7 100644 --- a/libfreerdp/gdi/clipping.c +++ b/libfreerdp/gdi/clipping.c @@ -78,9 +78,9 @@ BOOL gdi_SetNullClipRgn(HGDI_DC hdc) BOOL gdi_ClipCoords(HGDI_DC hdc, INT32* x, INT32* y, INT32* w, INT32* h, INT32* srcx, INT32* srcy) { - GDI_RECT bmp = { 0 }; - GDI_RECT clip = { 0 }; - GDI_RECT coords = { 0 }; + GDI_RECT bmp = WINPR_C_ARRAY_INIT; + GDI_RECT clip = WINPR_C_ARRAY_INIT; + GDI_RECT coords = WINPR_C_ARRAY_INIT; int dx = 0; int dy = 0; BOOL draw = TRUE; diff --git a/libfreerdp/gdi/gdi.c b/libfreerdp/gdi/gdi.c index ab498af92..6010e5d3c 100644 --- a/libfreerdp/gdi/gdi.c +++ b/libfreerdp/gdi/gdi.c @@ -748,7 +748,7 @@ static BOOL gdi_multi_opaque_rect(rdpContext* context, WINPR_ASSERT(context); WINPR_ASSERT(multi_opaque_rect); - GDI_RECT rect = { 0 }; + GDI_RECT rect = WINPR_C_ARRAY_INIT; UINT32 brush_color = 0; rdpGdi* gdi = context->gdi; BOOL ret = TRUE; @@ -1112,7 +1112,7 @@ static BOOL gdi_surface_bits(rdpContext* context, const SURFACE_BITS_COMMAND* cm DWORD format = 0; size_t size = 0; REGION16 region; - RECTANGLE_16 cmdRect = { 0 }; + RECTANGLE_16 cmdRect = WINPR_C_ARRAY_INIT; if (!context || !cmd) return FALSE; diff --git a/libfreerdp/gdi/gfx.c b/libfreerdp/gdi/gfx.c index 622127116..ce2c0611a 100644 --- a/libfreerdp/gdi/gfx.c +++ b/libfreerdp/gdi/gfx.c @@ -867,7 +867,7 @@ static UINT gdi_SurfaceCommand_Alpha(rdpGdi* gdi, RdpgfxClientContext* context, else { UINT32 startOffsetX = 0; - RECTANGLE_16 rect = { 0 }; + RECTANGLE_16 rect = WINPR_C_ARRAY_INIT; rect.left = (UINT16)MIN(UINT16_MAX, cmd->left); rect.top = (UINT16)MIN(UINT16_MAX, cmd->top); rect.right = (UINT16)MIN(UINT16_MAX, cmd->left + cmd->width); @@ -938,7 +938,7 @@ static void dump_cmd(const RDPGFX_SURFACE_COMMAND* cmd, UINT32 frameId) static UINT64 xxx = 0; const char* path = "/tmp/dump/"; WINPR_ASSERT(cmd); - char fname[1024] = { 0 }; + char fname[1024] = WINPR_C_ARRAY_INIT; snprintf(fname, sizeof(fname), "%s/%08" PRIx64 ".raw", path, xxx++); FILE* fp = fopen(fname, "w"); @@ -1291,7 +1291,7 @@ static UINT gdi_SolidFill(RdpgfxClientContext* context, const RDPGFX_SOLID_FILL_ { UINT status = ERROR_INTERNAL_ERROR; BYTE a = 0xff; - RECTANGLE_16 invalidRect = { 0 }; + RECTANGLE_16 invalidRect = WINPR_C_ARRAY_INIT; rdpGdi* gdi = (rdpGdi*)context->custom; EnterCriticalSection(&context->mux); diff --git a/libfreerdp/gdi/graphics.c b/libfreerdp/gdi/graphics.c index c71f5eb95..71b28710a 100644 --- a/libfreerdp/gdi/graphics.c +++ b/libfreerdp/gdi/graphics.c @@ -160,7 +160,7 @@ static BOOL gdi_Bitmap_Decompress(rdpContext* context, rdpBitmap* bitmap, const { if ((codecId == RDP_CODEC_ID_REMOTEFX) || (codecId == RDP_CODEC_ID_IMAGE_REMOTEFX)) { - REGION16 invalidRegion = { 0 }; + REGION16 invalidRegion = WINPR_C_ARRAY_INIT; region16_init(&invalidRegion); const BOOL rc = @@ -333,7 +333,7 @@ static BOOL gdi_Glyph_Draw(rdpContext* context, const rdpGlyph* glyph, INT32 x, if (!fOpRedundant) { - GDI_RECT rect = { 0 }; + GDI_RECT rect = WINPR_C_ARRAY_INIT; if (x > 0) rect.left = x; @@ -399,7 +399,7 @@ static BOOL gdi_Glyph_BeginDraw(rdpContext* context, INT32 x, INT32 y, INT32 wid gdi_SetBkColor(gdi->drawing->hdc, fgcolor); { - GDI_RECT rect = { 0 }; + GDI_RECT rect = WINPR_C_ARRAY_INIT; HGDI_BRUSH brush = gdi_CreateSolidBrush(fgcolor); if (!brush) @@ -450,8 +450,8 @@ static BOOL gdi_Glyph_EndDraw(rdpContext* context, WINPR_ATTR_UNUSED INT32 x, /* Graphics Module */ BOOL gdi_register_graphics(rdpGraphics* graphics) { - rdpBitmap bitmap = { 0 }; - rdpGlyph glyph = { 0 }; + rdpBitmap bitmap = WINPR_C_ARRAY_INIT; + rdpGlyph glyph = WINPR_C_ARRAY_INIT; bitmap.size = sizeof(gdiBitmap); bitmap.New = gdi_Bitmap_New; bitmap.Free = gdi_Bitmap_Free; diff --git a/libfreerdp/gdi/line.c b/libfreerdp/gdi/line.c index 387b4b3f6..7243a2559 100644 --- a/libfreerdp/gdi/line.c +++ b/libfreerdp/gdi/line.c @@ -242,7 +242,7 @@ BOOL gdi_Polyline(HGDI_DC hdc, GDI_POINT* lppt, UINT32 cPoints) if (cPoints > 0) { - GDI_POINT pt = { 0 }; + GDI_POINT pt = WINPR_C_ARRAY_INIT; if (!gdi_MoveToEx(hdc, lppt[0].x, lppt[0].y, &pt)) return FALSE; diff --git a/libfreerdp/gdi/test/TestGdiClip.c b/libfreerdp/gdi/test/TestGdiClip.c index b2a6a1ac9..52198076a 100644 --- a/libfreerdp/gdi/test/TestGdiClip.c +++ b/libfreerdp/gdi/test/TestGdiClip.c @@ -72,8 +72,8 @@ static bool test_gdi_coords(size_t testNr, HGDI_DC hdc, const GDI_RGN* clip, con if (!gdi_EqualRgn(rgn1, rgn2)) { - char buffer1[64] = { 0 }; - char buffer2[64] = { 0 }; + char buffer1[64] = WINPR_C_ARRAY_INIT; + char buffer2[64] = WINPR_C_ARRAY_INIT; (void)fprintf(stderr, "[%s:%" PRIuz "] gdi_EqualRgn failed: expected %s, got %s\n", __func__, testNr, buffer1, buffer2); goto fail; diff --git a/libfreerdp/gdi/test/TestGdiLine.c b/libfreerdp/gdi/test/TestGdiLine.c index f014f375a..c1aeded35 100644 --- a/libfreerdp/gdi/test/TestGdiLine.c +++ b/libfreerdp/gdi/test/TestGdiLine.c @@ -578,7 +578,7 @@ int TestGdiLine(int argc, char* argv[]) for (size_t ifmt = 0; ifmt < number_formats; ifmt++) { - gdiPalette g = { 0 }; + gdiPalette g = WINPR_C_ARRAY_INIT; HGDI_DC hdc = NULL; HGDI_PEN pen = NULL; HGDI_BITMAP hBmp = NULL; @@ -683,7 +683,7 @@ int TestGdiLine(int argc, char* argv[]) for (UINT32 x = 0; x < map_size; x++) { - char name[1024] = { 0 }; + char name[1024] = WINPR_C_ARRAY_INIT; _snprintf(name, sizeof(name), "%s [%s]", gdi_rop_to_string(rop_map[x].rop), FreeRDPGetColorFormatName(hdc->format)); diff --git a/libfreerdp/locale/keyboard.c b/libfreerdp/locale/keyboard.c index 4d55f77c6..5c56cf06f 100644 --- a/libfreerdp/locale/keyboard.c +++ b/libfreerdp/locale/keyboard.c @@ -54,9 +54,9 @@ #if !defined(WITHOUT_FREERDP_3x_DEPRECATED) static WINPR_KEYCODE_TYPE maptype = WINPR_KEYCODE_TYPE_NONE; -static DWORD VIRTUAL_SCANCODE_TO_X11_KEYCODE[256][2] = { 0 }; -static DWORD X11_KEYCODE_TO_VIRTUAL_SCANCODE[256] = { 0 }; -static DWORD REMAPPING_TABLE[0x10000] = { 0 }; +static DWORD VIRTUAL_SCANCODE_TO_X11_KEYCODE[256][2] = WINPR_C_ARRAY_INIT; +static DWORD X11_KEYCODE_TO_VIRTUAL_SCANCODE[256] = WINPR_C_ARRAY_INIT; +static DWORD REMAPPING_TABLE[0x10000] = WINPR_C_ARRAY_INIT; #endif struct rdp_remap_table @@ -234,7 +234,7 @@ static const struct scancode_map_entry RDP_SCANCODE_MAP[] = { static int freerdp_detect_keyboard(DWORD* keyboardLayoutId) { #if defined(_WIN32) - CHAR name[KL_NAMELENGTH + 1] = { 0 }; + CHAR name[KL_NAMELENGTH + 1] = WINPR_C_ARRAY_INIT; if (GetKeyboardLayoutNameA(name)) { ULONG rc; diff --git a/libfreerdp/locale/keyboard_layout.c b/libfreerdp/locale/keyboard_layout.c index 795d4d9c3..8479ad58b 100644 --- a/libfreerdp/locale/keyboard_layout.c +++ b/libfreerdp/locale/keyboard_layout.c @@ -948,7 +948,7 @@ static void clear_keyboard_layout(RDP_KEYBOARD_LAYOUT* layout) return; free(layout->name); - const RDP_KEYBOARD_LAYOUT empty = { 0 }; + const RDP_KEYBOARD_LAYOUT empty = WINPR_C_ARRAY_INIT; *layout = empty; } @@ -958,7 +958,7 @@ static void clear_keyboard_variant(RDP_KEYBOARD_LAYOUT_VARIANT* layout) return; free(layout->name); - const RDP_KEYBOARD_LAYOUT_VARIANT empty = { 0 }; + const RDP_KEYBOARD_LAYOUT_VARIANT empty = WINPR_C_ARRAY_INIT; *layout = empty; } @@ -969,7 +969,7 @@ static void clear_keyboard_ime(RDP_KEYBOARD_IME* layout) free(layout->file); free(layout->name); - const RDP_KEYBOARD_IME empty = { 0 }; + const RDP_KEYBOARD_IME empty = WINPR_C_ARRAY_INIT; *layout = empty; } @@ -1139,7 +1139,7 @@ static BOOL parse_json_variant_entry(WINPR_JSON* json, size_t pos, return FALSE; } - RDP_KEYBOARD_LAYOUT val = { 0 }; + RDP_KEYBOARD_LAYOUT val = WINPR_C_ARRAY_INIT; const BOOL rc = parse_json_layout_entry_id(json, pos, &val); entry->code = val.code; entry->name = val.name; diff --git a/libfreerdp/locale/keyboard_xkbfile.c b/libfreerdp/locale/keyboard_xkbfile.c index 5c3942718..159b918ee 100644 --- a/libfreerdp/locale/keyboard_xkbfile.c +++ b/libfreerdp/locale/keyboard_xkbfile.c @@ -378,7 +378,7 @@ int detect_keyboard_layout_from_xkbfile(void* display, DWORD* keyboardLayoutId) return -2; char* rules = NULL; - XkbRF_VarDefsRec rules_names = { 0 }; + XkbRF_VarDefsRec rules_names = WINPR_C_ARRAY_INIT; const Bool rc = XkbRF_GetNamesProp(display, &rules, &rules_names); if (!rc) { @@ -392,8 +392,8 @@ int detect_keyboard_layout_from_xkbfile(void* display, DWORD* keyboardLayoutId) DEBUG_KBD("variants: %s", rules_names.variant ? rules_names.variant : ""); DWORD group = 0; - XkbStateRec state = { 0 }; - XKeyboardState coreKbdState = { 0 }; + XkbStateRec state = WINPR_C_ARRAY_INIT; + XKeyboardState coreKbdState = WINPR_C_ARRAY_INIT; XGetKeyboardControl(display, &coreKbdState); if (XkbGetState(display, XkbUseCoreKbd, &state) == Success) @@ -437,7 +437,7 @@ static BOOL try_add(size_t offset, const char* xkb_keyname, DWORD* x11_keycode_t WINPR_ATTR_UNUSED size_t count) { static BOOL initialized = FALSE; - static XKB_KEY_NAME_SCANCODE copy[ARRAYSIZE(XKB_KEY_NAME_SCANCODE_TABLE)] = { 0 }; + static XKB_KEY_NAME_SCANCODE copy[ARRAYSIZE(XKB_KEY_NAME_SCANCODE_TABLE)] = WINPR_C_ARRAY_INIT; if (!initialized) { memcpy(copy, XKB_KEY_NAME_SCANCODE_TABLE, sizeof(copy)); @@ -445,7 +445,7 @@ static BOOL try_add(size_t offset, const char* xkb_keyname, DWORD* x11_keycode_t initialized = TRUE; } - XKB_KEY_NAME_SCANCODE key = { 0 }; + XKB_KEY_NAME_SCANCODE key = WINPR_C_ARRAY_INIT; key.xkb_keyname = xkb_keyname; XKB_KEY_NAME_SCANCODE* found = bsearch(&key, copy, ARRAYSIZE(copy), sizeof(XKB_KEY_NAME_SCANCODE), xkb_cmp); diff --git a/libfreerdp/locale/locale.c b/libfreerdp/locale/locale.c index 0e41caeb0..0234c824c 100644 --- a/libfreerdp/locale/locale.c +++ b/libfreerdp/locale/locale.c @@ -734,8 +734,8 @@ static BOOL freerdp_get_system_language_and_country_codes(char* language, size_t static const SYSTEM_LOCALE* freerdp_detect_system_locale(void) { - char language[LOCALE_LANGUAGE_LEN] = { 0 }; - char country[LOCALE_COUNTRY_LEN] = { 0 }; + char language[LOCALE_LANGUAGE_LEN] = WINPR_C_ARRAY_INIT; + char country[LOCALE_COUNTRY_LEN] = WINPR_C_ARRAY_INIT; const SYSTEM_LOCALE* locale = NULL; freerdp_get_system_language_and_country_codes(language, ARRAYSIZE(language), country, @@ -770,7 +770,7 @@ static const SYSTEM_LOCALE* get_locale_from_str(const char* name) { for (size_t i = 0; i < ARRAYSIZE(SYSTEM_LOCALE_TABLE); i++) { - char buffer[LOCALE_LANGUAGE_LEN + LOCALE_COUNTRY_LEN + 2] = { 0 }; + char buffer[LOCALE_LANGUAGE_LEN + LOCALE_COUNTRY_LEN + 2] = WINPR_C_ARRAY_INIT; const SYSTEM_LOCALE* current = &SYSTEM_LOCALE_TABLE[i]; (void)_snprintf(buffer, sizeof(buffer), "%s_%s", current->language, current->country); @@ -844,13 +844,13 @@ INT64 freerdp_get_locale_id_from_string(const char* locale) int freerdp_detect_keyboard_layout_from_system_locale(DWORD* keyboardLayoutId) { - char language[LOCALE_LANGUAGE_LEN] = { 0 }; - char country[LOCALE_COUNTRY_LEN] = { 0 }; + char language[LOCALE_LANGUAGE_LEN] = WINPR_C_ARRAY_INIT; + char country[LOCALE_COUNTRY_LEN] = WINPR_C_ARRAY_INIT; freerdp_get_system_language_and_country_codes(language, ARRAYSIZE(language), country, ARRAYSIZE(country)); - char locale[LOCALE_COUNTRY_LEN + LOCALE_LANGUAGE_LEN + 2] = { 0 }; + char locale[LOCALE_COUNTRY_LEN + LOCALE_LANGUAGE_LEN + 2] = WINPR_C_ARRAY_INIT; (void)_snprintf(locale, sizeof(locale), "%s_%s", language, country); const int64_t id = freerdp_detect_keyboard_layout_from_locale(locale); if (id < 0) diff --git a/libfreerdp/primitives/benchmark/benchmark.c b/libfreerdp/primitives/benchmark/benchmark.c index 48e8ec84d..b402c4e67 100644 --- a/libfreerdp/primitives/benchmark/benchmark.c +++ b/libfreerdp/primitives/benchmark/benchmark.c @@ -50,13 +50,13 @@ static void primitives_YUV_benchmark_free(primitives_YUV_benchmark* bench) free(bench->channels[i]); } - const primitives_YUV_benchmark empty = { 0 }; + const primitives_YUV_benchmark empty = WINPR_C_ARRAY_INIT; *bench = empty; } static primitives_YUV_benchmark primitives_YUV_benchmark_init(void) { - primitives_YUV_benchmark ret = { 0 }; + primitives_YUV_benchmark ret = WINPR_C_ARRAY_INIT; ret.roi.width = 3840 * 4; ret.roi.height = 2160 * 4; ret.outputStride = ret.roi.width * 4; @@ -98,7 +98,7 @@ static const char* print_time(UINT64 t, char* buffer, size_t size) static BOOL primitives_YUV420_benchmark_run(primitives_YUV_benchmark* bench, primitives_t* prims) { - const BYTE* channels[3] = { 0 }; + const BYTE* channels[3] = WINPR_C_ARRAY_INIT; for (size_t i = 0; i < 3; i++) channels[i] = bench->channels[i]; @@ -116,7 +116,7 @@ static BOOL primitives_YUV420_benchmark_run(primitives_YUV_benchmark* bench, pri return FALSE; } const UINT64 diff = end - start; - char buffer[32] = { 0 }; + char buffer[32] = WINPR_C_ARRAY_INIT; printf("[%" PRIuz "] YUV420ToRGB_8u_P3AC4R %" PRIu32 "x%" PRIu32 " took %sns\n", x, bench->roi.width, bench->roi.height, print_time(diff, buffer, sizeof(buffer))); } @@ -126,7 +126,7 @@ static BOOL primitives_YUV420_benchmark_run(primitives_YUV_benchmark* bench, pri static BOOL primitives_YUV444_benchmark_run(primitives_YUV_benchmark* bench, primitives_t* prims) { - const BYTE* channels[3] = { 0 }; + const BYTE* channels[3] = WINPR_C_ARRAY_INIT; for (size_t i = 0; i < 3; i++) channels[i] = bench->channels[i]; @@ -144,7 +144,7 @@ static BOOL primitives_YUV444_benchmark_run(primitives_YUV_benchmark* bench, pri return FALSE; } const UINT64 diff = end - start; - char buffer[32] = { 0 }; + char buffer[32] = WINPR_C_ARRAY_INIT; printf("[%" PRIuz "] YUV444ToRGB_8u_P3AC4R %" PRIu32 "x%" PRIu32 " took %sns\n", x, bench->roi.width, bench->roi.height, print_time(diff, buffer, sizeof(buffer))); } @@ -167,7 +167,7 @@ static BOOL primitives_RGB2420_benchmark_run(primitives_YUV_benchmark* bench, pr return FALSE; } const UINT64 diff = end - start; - char buffer[32] = { 0 }; + char buffer[32] = WINPR_C_ARRAY_INIT; printf("[%" PRIuz "] RGBToYUV420_8u_P3AC4R %" PRIu32 "x%" PRIu32 " took %sns\n", x, bench->roi.width, bench->roi.height, print_time(diff, buffer, sizeof(buffer))); } @@ -190,7 +190,7 @@ static BOOL primitives_RGB2444_benchmark_run(primitives_YUV_benchmark* bench, pr return FALSE; } const UINT64 diff = end - start; - char buffer[32] = { 0 }; + char buffer[32] = WINPR_C_ARRAY_INIT; printf("[%" PRIuz "] RGBToYUV444_8u_P3AC4R %" PRIu32 "x%" PRIu32 " took %sns\n", x, bench->roi.width, bench->roi.height, print_time(diff, buffer, sizeof(buffer))); } diff --git a/libfreerdp/primitives/opencl/prim_YUV_opencl.c b/libfreerdp/primitives/opencl/prim_YUV_opencl.c index fb03e6fa3..2b8a2b855 100644 --- a/libfreerdp/primitives/opencl/prim_YUV_opencl.c +++ b/libfreerdp/primitives/opencl/prim_YUV_opencl.c @@ -184,7 +184,7 @@ static BOOL cl_kernel_process(primitives_cl_kernel* ctx, BYTE* pDst) WINPR_ASSERT(ctx); WINPR_ASSERT(pDst); - size_t indexes[2] = { 0 }; + size_t indexes[2] = WINPR_C_ARRAY_INIT; indexes[0] = ctx->roi.width; indexes[1] = ctx->roi.height; @@ -234,7 +234,7 @@ fail: return res; } -static primitives_opencl_context openclContext = { 0 }; +static primitives_opencl_context openclContext = WINPR_C_ARRAY_INIT; static primitives_opencl_context* primitives_get_opencl_context(void) { @@ -289,8 +289,8 @@ static BOOL primitives_init_opencl_context(primitives_opencl_context* WINPR_REST { cl_device_id device_id = NULL; cl_context context = NULL; - char platformName[1000] = { 0 }; - char deviceName[1000] = { 0 }; + char platformName[1000] = WINPR_C_ARRAY_INIT; + char deviceName[1000] = WINPR_C_ARRAY_INIT; ret = clGetPlatformInfo(platform_ids[i], CL_PLATFORM_NAME, sizeof(platformName), platformName, NULL); diff --git a/libfreerdp/primitives/primitives.c b/libfreerdp/primitives/primitives.c index bfeab7d57..dba14cbc6 100644 --- a/libfreerdp/primitives/primitives.c +++ b/libfreerdp/primitives/primitives.c @@ -46,23 +46,23 @@ primitive_hints primitives_get_hints(void) } /* Singleton pointer used throughout the program when requested. */ -static primitives_t pPrimitivesGeneric = { 0 }; +static primitives_t pPrimitivesGeneric = WINPR_C_ARRAY_INIT; static INIT_ONCE generic_primitives_InitOnce = INIT_ONCE_STATIC_INIT; #if defined(HAVE_CPU_OPTIMIZED_PRIMITIVES) -static primitives_t pPrimitivesCpu = { 0 }; +static primitives_t pPrimitivesCpu = WINPR_C_ARRAY_INIT; static INIT_ONCE cpu_primitives_InitOnce = INIT_ONCE_STATIC_INIT; #endif #if defined(WITH_OPENCL) -static primitives_t pPrimitivesGpu = { 0 }; +static primitives_t pPrimitivesGpu = WINPR_C_ARRAY_INIT; static INIT_ONCE gpu_primitives_InitOnce = INIT_ONCE_STATIC_INIT; #endif static INIT_ONCE auto_primitives_InitOnce = INIT_ONCE_STATIC_INIT; -static primitives_t pPrimitives = { 0 }; +static primitives_t pPrimitives = WINPR_C_ARRAY_INIT; /* ------------------------------------------------------------------------- */ static BOOL primitives_init_generic(primitives_t* prims) @@ -170,7 +170,7 @@ static BOOL primitives_YUV_benchmark_run(primitives_YUV_benchmark* bench, primit UINT64 runTime, UINT32* computations) { ULONGLONG dueDate = 0; - const BYTE* channels[3] = { 0 }; + const BYTE* channels[3] = WINPR_C_ARRAY_INIT; pstatus_t status = 0; *computations = 0; @@ -241,7 +241,7 @@ static BOOL primitives_autodetect_best(primitives_t* prims) #else { UINT64 benchDuration = 150; /* 150 ms */ - primitives_YUV_benchmark bench = { 0 }; + primitives_YUV_benchmark bench = WINPR_C_ARRAY_INIT; primitives_YUV_benchmark* yuvBench = primitives_YUV_benchmark_init(&bench); if (!yuvBench) return FALSE; diff --git a/libfreerdp/primitives/sse/prim_YUV_sse4.1.c b/libfreerdp/primitives/sse/prim_YUV_sse4.1.c index 1ea3e0145..160dc02e4 100644 --- a/libfreerdp/primitives/sse/prim_YUV_sse4.1.c +++ b/libfreerdp/primitives/sse/prim_YUV_sse4.1.c @@ -711,8 +711,8 @@ static inline void sse41_RGBToYUV420_BGRX_UV(const BYTE* WINPR_RESTRICT src1, for (; x < width - width % 2; x += 2) { - BYTE u[4] = { 0 }; - BYTE v[4] = { 0 }; + BYTE u[4] = WINPR_C_ARRAY_INIT; + BYTE v[4] = WINPR_C_ARRAY_INIT; sse41_BGRX_TO_YUV(&src1[4ULL * x], NULL, &u[0], &v[0]); sse41_BGRX_TO_YUV(&src1[4ULL * (1ULL + x)], NULL, &u[1], &v[1]); sse41_BGRX_TO_YUV(&src2[4ULL * x], NULL, &u[2], &v[2]); @@ -841,7 +841,7 @@ static inline void sse41_RGBToAVC444YUV_BGRX_DOUBLE_ROW( * We need to split these according to * 3.3.8.3.2 YUV420p Stream Combination for YUV444 mode */ __m128i ue; - __m128i uo = { 0 }; + __m128i uo = WINPR_C_ARRAY_INIT; { const __m128i ue1 = _mm_srai_epi16(_mm_hadd_epi16(_mm_maddubs_epi16(xe1, u_factors), @@ -919,7 +919,7 @@ static inline void sse41_RGBToAVC444YUV_BGRX_DOUBLE_ROW( * We need to split these according to * 3.3.8.3.2 YUV420p Stream Combination for YUV444 mode */ __m128i ve; - __m128i vo = { 0 }; + __m128i vo = WINPR_C_ARRAY_INIT; { const __m128i ve1 = _mm_srai_epi16(_mm_hadd_epi16(_mm_maddubs_epi16(xe1, v_factors), diff --git a/libfreerdp/primitives/test/TestPrimitivesAdd.c b/libfreerdp/primitives/test/TestPrimitivesAdd.c index 9edbae9e3..f37036dc7 100644 --- a/libfreerdp/primitives/test/TestPrimitivesAdd.c +++ b/libfreerdp/primitives/test/TestPrimitivesAdd.c @@ -23,10 +23,10 @@ static BOOL test_add16s_func(void) { pstatus_t status = 0; - INT16 ALIGN(src1[FUNC_TEST_SIZE + 3]) = { 0 }; - INT16 ALIGN(src2[FUNC_TEST_SIZE + 3]) = { 0 }; - INT16 ALIGN(d1[FUNC_TEST_SIZE + 3]) = { 0 }; - INT16 ALIGN(d2[FUNC_TEST_SIZE + 3]) = { 0 }; + INT16 ALIGN(src1[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(src2[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(d1[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(d2[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; winpr_RAND(src1, sizeof(src1)); winpr_RAND(src2, sizeof(src2)); diff --git a/libfreerdp/primitives/test/TestPrimitivesAlphaComp.c b/libfreerdp/primitives/test/TestPrimitivesAlphaComp.c index 78fce4889..c648951f1 100644 --- a/libfreerdp/primitives/test/TestPrimitivesAlphaComp.c +++ b/libfreerdp/primitives/test/TestPrimitivesAlphaComp.c @@ -117,9 +117,9 @@ static BOOL check(const BYTE* pSrc1, UINT32 src1Step, const BYTE* pSrc2, UINT32 static BOOL test_alphaComp_func(void) { pstatus_t status = 0; - BYTE ALIGN(src1[SRC1_WIDTH * SRC1_HEIGHT * 4]) = { 0 }; - BYTE ALIGN(src2[SRC2_WIDTH * SRC2_HEIGHT * 4]) = { 0 }; - BYTE ALIGN(dst1[DST_WIDTH * DST_HEIGHT * 4]) = { 0 }; + BYTE ALIGN(src1[SRC1_WIDTH * SRC1_HEIGHT * 4]) = WINPR_C_ARRAY_INIT; + BYTE ALIGN(src2[SRC2_WIDTH * SRC2_HEIGHT * 4]) = WINPR_C_ARRAY_INIT; + BYTE ALIGN(dst1[DST_WIDTH * DST_HEIGHT * 4]) = WINPR_C_ARRAY_INIT; UINT32* ptr = NULL; winpr_RAND(src1, sizeof(src1)); /* Special-case the first two values */ @@ -158,9 +158,9 @@ static BOOL test_alphaComp_func(void) static int test_alphaComp_speed(void) { - BYTE ALIGN(src1[SRC1_WIDTH * SRC1_HEIGHT]) = { 0 }; - BYTE ALIGN(src2[SRC2_WIDTH * SRC2_HEIGHT]) = { 0 }; - BYTE ALIGN(dst1[DST_WIDTH * DST_HEIGHT]) = { 0 }; + BYTE ALIGN(src1[SRC1_WIDTH * SRC1_HEIGHT]) = WINPR_C_ARRAY_INIT; + BYTE ALIGN(src2[SRC2_WIDTH * SRC2_HEIGHT]) = WINPR_C_ARRAY_INIT; + BYTE ALIGN(dst1[DST_WIDTH * DST_HEIGHT]) = WINPR_C_ARRAY_INIT; UINT32* ptr = NULL; winpr_RAND(src1, sizeof(src1)); diff --git a/libfreerdp/primitives/test/TestPrimitivesAndOr.c b/libfreerdp/primitives/test/TestPrimitivesAndOr.c index 372f7b1c1..bd0c953d0 100644 --- a/libfreerdp/primitives/test/TestPrimitivesAndOr.c +++ b/libfreerdp/primitives/test/TestPrimitivesAndOr.c @@ -48,8 +48,8 @@ static BOOL test_and_32u_impl(const char* name, fn_andC_32u_t fkt, const UINT32* static BOOL test_and_32u_func(void) { - UINT32 ALIGN(src[FUNC_TEST_SIZE + 3]) = { 0 }; - UINT32 ALIGN(dst[FUNC_TEST_SIZE + 3]) = { 0 }; + UINT32 ALIGN(src[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; + UINT32 ALIGN(dst[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; winpr_RAND(src, sizeof(src)); @@ -72,8 +72,8 @@ static BOOL test_and_32u_func(void) /* ------------------------------------------------------------------------- */ static BOOL test_and_32u_speed(void) { - UINT32 ALIGN(src[MAX_TEST_SIZE + 3]) = { 0 }; - UINT32 ALIGN(dst[MAX_TEST_SIZE + 3]) = { 0 }; + UINT32 ALIGN(src[MAX_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; + UINT32 ALIGN(dst[MAX_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; winpr_RAND(src, sizeof(src)); @@ -107,8 +107,8 @@ static BOOL check(const UINT32* src, const UINT32* dst, UINT32 size, UINT32 valu static BOOL test_or_32u_func(void) { pstatus_t status = 0; - UINT32 ALIGN(src[FUNC_TEST_SIZE + 3]) = { 0 }; - UINT32 ALIGN(dst[FUNC_TEST_SIZE + 3]) = { 0 }; + UINT32 ALIGN(src[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; + UINT32 ALIGN(dst[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; winpr_RAND(src, sizeof(src)); @@ -132,8 +132,8 @@ static BOOL test_or_32u_func(void) /* ------------------------------------------------------------------------- */ static BOOL test_or_32u_speed(void) { - UINT32 ALIGN(src[FUNC_TEST_SIZE + 3]) = { 0 }; - UINT32 ALIGN(dst[FUNC_TEST_SIZE + 3]) = { 0 }; + UINT32 ALIGN(src[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; + UINT32 ALIGN(dst[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; winpr_RAND(src, sizeof(src)); diff --git a/libfreerdp/primitives/test/TestPrimitivesColors.c b/libfreerdp/primitives/test/TestPrimitivesColors.c index 10888005a..c8ef97a43 100644 --- a/libfreerdp/primitives/test/TestPrimitivesColors.c +++ b/libfreerdp/primitives/test/TestPrimitivesColors.c @@ -149,15 +149,15 @@ static BOOL test_RGBToRGB_16s8u_P3AC4R_speed(void) static BOOL test_yCbCrToRGB_16s16s_P3P3_func(void) { pstatus_t status = 0; - INT16 ALIGN(y[4096]) = { 0 }; - INT16 ALIGN(cb[4096]) = { 0 }; - INT16 ALIGN(cr[4096]) = { 0 }; - INT16 ALIGN(r1[4096]) = { 0 }; - INT16 ALIGN(g1[4096]) = { 0 }; - INT16 ALIGN(b1[4096]) = { 0 }; - INT16 ALIGN(r2[4096]) = { 0 }; - INT16 ALIGN(g2[4096]) = { 0 }; - INT16 ALIGN(b2[4096]) = { 0 }; + INT16 ALIGN(y[4096]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(cb[4096]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(cr[4096]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(r1[4096]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(g1[4096]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(b1[4096]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(r2[4096]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(g2[4096]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(b2[4096]) = WINPR_C_ARRAY_INIT; const INT16* in[3]; INT16* out1[3]; INT16* out2[3]; diff --git a/libfreerdp/primitives/test/TestPrimitivesCopy.c b/libfreerdp/primitives/test/TestPrimitivesCopy.c index b32e57e0d..be3e3fecd 100644 --- a/libfreerdp/primitives/test/TestPrimitivesCopy.c +++ b/libfreerdp/primitives/test/TestPrimitivesCopy.c @@ -26,7 +26,7 @@ static BOOL test_copy8u_func(void) { primitives_t* prims = primitives_get(); - BYTE ALIGN(data[COPY_TESTSIZE + 15]) = { 0 }; + BYTE ALIGN(data[COPY_TESTSIZE + 15]) = WINPR_C_ARRAY_INIT; winpr_RAND(data, sizeof(data)); for (int soff = 0; soff < 16; ++soff) @@ -35,7 +35,7 @@ static BOOL test_copy8u_func(void) { for (int length = 1; length <= COPY_TESTSIZE - doff; ++length) { - BYTE ALIGN(dest[COPY_TESTSIZE + 15]) = { 0 }; + BYTE ALIGN(dest[COPY_TESTSIZE + 15]) = WINPR_C_ARRAY_INIT; if (prims->copy_8u(data + soff, dest + doff, length) != PRIMITIVES_SUCCESS) return FALSE; diff --git a/libfreerdp/primitives/test/TestPrimitivesSet.c b/libfreerdp/primitives/test/TestPrimitivesSet.c index c6cefcc79..13946bd8e 100644 --- a/libfreerdp/primitives/test/TestPrimitivesSet.c +++ b/libfreerdp/primitives/test/TestPrimitivesSet.c @@ -117,7 +117,7 @@ static BOOL test_set32s_func(void) for (UINT32 off = 0; off < 16; ++off) { - INT32 dest[1024] = { 0 }; + INT32 dest[1024] = WINPR_C_ARRAY_INIT; for (UINT32 len = 1; len < 48 - off; ++len) { @@ -133,7 +133,7 @@ static BOOL test_set32s_func(void) for (UINT32 off = 0; off < 16; ++off) { - INT32 dest[1024] = { 0 }; + INT32 dest[1024] = WINPR_C_ARRAY_INIT; for (UINT32 len = 1; len < 48 - off; ++len) { @@ -174,7 +174,7 @@ static BOOL test_set32u_func(void) for (UINT32 off = 0; off < 16; ++off) { - UINT32 dest[1024] = { 0 }; + UINT32 dest[1024] = WINPR_C_ARRAY_INIT; for (UINT32 len = 1; len < 48 - off; ++len) { @@ -190,7 +190,7 @@ static BOOL test_set32u_func(void) for (UINT32 off = 0; off < 16; ++off) { - UINT32 dest[1024] = { 0 }; + UINT32 dest[1024] = WINPR_C_ARRAY_INIT; for (UINT32 len = 1; len < 48 - off; ++len) { diff --git a/libfreerdp/primitives/test/TestPrimitivesShift.c b/libfreerdp/primitives/test/TestPrimitivesShift.c index b0d58f2c3..949c63b2b 100644 --- a/libfreerdp/primitives/test/TestPrimitivesShift.c +++ b/libfreerdp/primitives/test/TestPrimitivesShift.c @@ -204,8 +204,8 @@ static BOOL test_rShift_16u_func(void) static BOOL test_ShiftWrapper_16s_func(void) { pstatus_t status = 0; - INT16 ALIGN(src[FUNC_TEST_SIZE + 3]) = { 0 }; - INT16 ALIGN(d1[FUNC_TEST_SIZE + 3]) = { 0 }; + INT16 ALIGN(src[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(d1[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; UINT32 tmp = 0; winpr_RAND(&tmp, sizeof(tmp)); winpr_RAND(src, sizeof(src)); @@ -270,8 +270,8 @@ static BOOL test_ShiftWrapper_16s_func(void) static BOOL test_ShiftWrapper_16u_func(void) { pstatus_t status = 0; - UINT16 ALIGN(src[FUNC_TEST_SIZE + 3]) = { 0 }; - UINT16 ALIGN(d1[FUNC_TEST_SIZE + 3]) = { 0 }; + UINT16 ALIGN(src[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; + UINT16 ALIGN(d1[FUNC_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; UINT32 tmp = 0; winpr_RAND(&tmp, sizeof(tmp)); winpr_RAND(src, sizeof(src)); diff --git a/libfreerdp/primitives/test/TestPrimitivesSign.c b/libfreerdp/primitives/test/TestPrimitivesSign.c index fb9549ae9..fb2169a0a 100644 --- a/libfreerdp/primitives/test/TestPrimitivesSign.c +++ b/libfreerdp/primitives/test/TestPrimitivesSign.c @@ -23,9 +23,9 @@ static BOOL test_sign16s_func(void) { pstatus_t status = 0; - INT16 ALIGN(src[TEST_BUFFER_SIZE + 16]) = { 0 }; - INT16 ALIGN(d1[TEST_BUFFER_SIZE + 16]) = { 0 }; - INT16 ALIGN(d2[TEST_BUFFER_SIZE + 16]) = { 0 }; + INT16 ALIGN(src[TEST_BUFFER_SIZE + 16]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(d1[TEST_BUFFER_SIZE + 16]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(d2[TEST_BUFFER_SIZE + 16]) = WINPR_C_ARRAY_INIT; winpr_RAND(src, sizeof(src)); status = generic->sign_16s(src + 1, d1 + 1, TEST_BUFFER_SIZE); @@ -58,8 +58,8 @@ static BOOL test_sign16s_func(void) static int test_sign16s_speed(void) { - INT16 ALIGN(src[MAX_TEST_SIZE + 3]) = { 0 }; - INT16 ALIGN(dst[MAX_TEST_SIZE + 3]) = { 0 }; + INT16 ALIGN(src[MAX_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; + INT16 ALIGN(dst[MAX_TEST_SIZE + 3]) = WINPR_C_ARRAY_INIT; winpr_RAND(src, sizeof(src)); if (!speed_test("sign16s", "aligned", g_Iterations, (speed_test_fkt)generic->sign_16s, diff --git a/libfreerdp/primitives/test/TestPrimitivesYCbCr.c b/libfreerdp/primitives/test/TestPrimitivesYCbCr.c index ca9e906c3..fce4158bb 100644 --- a/libfreerdp/primitives/test/TestPrimitivesYCbCr.c +++ b/libfreerdp/primitives/test/TestPrimitivesYCbCr.c @@ -1515,7 +1515,7 @@ static int test_bmp_cmp_count(const BYTE* mem1, const BYTE* mem2, size_t size, i static int test_bmp_cmp_dump(const BYTE* actual, const BYTE* expected, size_t size, int channel, int margin) { - int error[3] = { 0 }; + int error[3] = WINPR_C_ARRAY_INIT; int count = 0; size /= 4; actual += channel; diff --git a/libfreerdp/primitives/test/TestPrimitivesYUV.c b/libfreerdp/primitives/test/TestPrimitivesYUV.c index 2bbda85d8..6f5d4e530 100644 --- a/libfreerdp/primitives/test/TestPrimitivesYUV.c +++ b/libfreerdp/primitives/test/TestPrimitivesYUV.c @@ -226,16 +226,16 @@ static BOOL TestPrimitiveYUVCombine(primitives_t* prims, prim_size_t roi) size_t awidth = 0; size_t aheight = 0; BOOL rc = FALSE; - BYTE* luma[3] = { 0 }; - BYTE* chroma[3] = { 0 }; - BYTE* yuv[3] = { 0 }; - BYTE* pmain[3] = { 0 }; - BYTE* paux[3] = { 0 }; - UINT32 lumaStride[3] = { 0 }; - UINT32 chromaStride[3] = { 0 }; - UINT32 yuvStride[3] = { 0 }; + BYTE* luma[3] = WINPR_C_ARRAY_INIT; + BYTE* chroma[3] = WINPR_C_ARRAY_INIT; + BYTE* yuv[3] = WINPR_C_ARRAY_INIT; + BYTE* pmain[3] = WINPR_C_ARRAY_INIT; + BYTE* paux[3] = WINPR_C_ARRAY_INIT; + UINT32 lumaStride[3] = WINPR_C_ARRAY_INIT; + UINT32 chromaStride[3] = WINPR_C_ARRAY_INIT; + UINT32 yuvStride[3] = WINPR_C_ARRAY_INIT; const size_t padding = 10000; - RECTANGLE_16 rect = { 0 }; + RECTANGLE_16 rect = WINPR_C_ARRAY_INIT; PROFILER_DEFINE(yuvCombine) PROFILER_DEFINE(yuvSplit) @@ -438,8 +438,8 @@ static BOOL TestPrimitiveYUV(primitives_t* prims, prim_size_t roi, BOOL use444) BOOL res = FALSE; UINT32 awidth = 0; UINT32 aheight = 0; - BYTE* yuv[3] = { 0 }; - UINT32 yuv_step[3] = { 0 }; + BYTE* yuv[3] = WINPR_C_ARRAY_INIT; + UINT32 yuv_step[3] = WINPR_C_ARRAY_INIT; BYTE* rgb = NULL; BYTE* rgb_dst = NULL; size_t size = 0; @@ -741,10 +741,10 @@ static BOOL TestPrimitiveRgbToLumaChroma(primitives_t* prims, prim_size_t roi, U BOOL res = FALSE; UINT32 awidth = 0; UINT32 aheight = 0; - BYTE* luma[3] = { 0 }; - BYTE* chroma[3] = { 0 }; - BYTE* lumaGeneric[3] = { 0 }; - BYTE* chromaGeneric[3] = { 0 }; + BYTE* luma[3] = WINPR_C_ARRAY_INIT; + BYTE* chroma[3] = WINPR_C_ARRAY_INIT; + BYTE* lumaGeneric[3] = WINPR_C_ARRAY_INIT; + BYTE* chromaGeneric[3] = WINPR_C_ARRAY_INIT; UINT32 yuv_step[3]; BYTE* rgb = NULL; size_t size = 0; @@ -1023,7 +1023,7 @@ static BOOL compare_yuv444_to_rgb(prim_size_t roi, DWORD type) { BOOL rc = FALSE; const UINT32 format = PIXEL_FORMAT_BGRA32; - BYTE* yuv[3] = { 0 }; + BYTE* yuv[3] = WINPR_C_ARRAY_INIT; const UINT32 yuvStep[3] = { roi.width, roi.width, roi.width }; const size_t stride = 4ULL * roi.width; @@ -1131,8 +1131,8 @@ static BOOL compare_rgb_to_yuv444(prim_size_t roi, DWORD type) const UINT32 format = PIXEL_FORMAT_BGRA32; const size_t stride = 4ULL * roi.width; const UINT32 yuvStep[] = { roi.width, roi.width, roi.width }; - BYTE* yuv1[3] = { 0 }; - BYTE* yuv2[3] = { 0 }; + BYTE* yuv1[3] = WINPR_C_ARRAY_INIT; + BYTE* yuv2[3] = WINPR_C_ARRAY_INIT; primitives_t* prims = primitives_get_by_type(type); if (!prims) @@ -1196,7 +1196,7 @@ static BOOL compare_yuv420_to_rgb(prim_size_t roi, DWORD type) { BOOL rc = FALSE; const UINT32 format = PIXEL_FORMAT_BGRA32; - BYTE* yuv[3] = { 0 }; + BYTE* yuv[3] = WINPR_C_ARRAY_INIT; const UINT32 yuvStep[3] = { roi.width, roi.width / 2, roi.width / 2 }; const size_t stride = 4ULL * roi.width; @@ -1328,8 +1328,8 @@ static BOOL compare_rgb_to_yuv420(prim_size_t roi, DWORD type) const UINT32 format = PIXEL_FORMAT_BGRA32; const size_t stride = 4ULL * roi.width; const UINT32 yuvStep[] = { roi.width, roi.width / 2, roi.width / 2 }; - BYTE* yuv1[3] = { 0 }; - BYTE* yuv2[3] = { 0 }; + BYTE* yuv1[3] = WINPR_C_ARRAY_INIT; + BYTE* yuv2[3] = WINPR_C_ARRAY_INIT; primitives_t* prims = primitives_get_by_type(type); if (!prims) @@ -1410,7 +1410,7 @@ int TestPrimitivesYUV(int argc, char* argv[]) int rc = -1; WINPR_UNUSED(argc); WINPR_UNUSED(argv); - prim_size_t roi = { 0 }; + prim_size_t roi = WINPR_C_ARRAY_INIT; if (argc > 1) { diff --git a/libfreerdp/primitives/test/measure.h b/libfreerdp/primitives/test/measure.h index e97091e83..f2f88337d 100644 --- a/libfreerdp/primitives/test/measure.h +++ b/libfreerdp/primitives/test/measure.h @@ -77,8 +77,8 @@ extern void measure_floatprint(float t, char* output, size_t len); { \ int _count = (_count_); \ int _loop; \ - char str1[32] = { 0 }; \ - char str2[32] = { 0 }; \ + char str1[32] = WINPR_C_ARRAY_INIT; \ + char str2[32] = WINPR_C_ARRAY_INIT; \ char* _prefix = _strdup(_prefix_); \ const UINT64 start = winpr_GetTickCount64NS(); \ PROFILER_START(_prefix); \ diff --git a/libfreerdp/utils/helpers.c b/libfreerdp/utils/helpers.c index 122061869..fd4b75f20 100644 --- a/libfreerdp/utils/helpers.c +++ b/libfreerdp/utils/helpers.c @@ -31,10 +31,10 @@ #include "../core/utils.h" static INIT_ONCE s_freerdp_app_details_once = INIT_ONCE_STATIC_INIT; -static char s_freerdp_vendor_string[MAX_PATH] = { 0 }; -static char s_freerdp_product_string[MAX_PATH] = { 0 }; -static char s_freerdp_details_string[3ull * MAX_PATH] = { 0 }; -static WCHAR s_freerdp_details_string_w[3ull * MAX_PATH] = { 0 }; +static char s_freerdp_vendor_string[MAX_PATH] = WINPR_C_ARRAY_INIT; +static char s_freerdp_product_string[MAX_PATH] = WINPR_C_ARRAY_INIT; +static char s_freerdp_details_string[3ull * MAX_PATH] = WINPR_C_ARRAY_INIT; +static WCHAR s_freerdp_details_string_w[3ull * MAX_PATH] = WINPR_C_ARRAY_INIT; static SSIZE_T s_freerdp_version = -1; static BOOL s_freerdp_app_details_are_custom = FALSE; @@ -201,7 +201,7 @@ WINPR_ATTR_MALLOC(free, 1) WINPR_ATTR_NODISCARD static char* freerdp_settings_get_legacy_config_path(const char* filename) { - char product[sizeof(FREERDP_PRODUCT_STRING)] = { 0 }; + char product[sizeof(FREERDP_PRODUCT_STRING)] = WINPR_C_ARRAY_INIT; for (size_t i = 0; i < sizeof(product); i++) product[i] = (char)tolower(FREERDP_PRODUCT_STRING[i]); diff --git a/libfreerdp/utils/http.c b/libfreerdp/utils/http.c index 5cc226653..e25c94d40 100644 --- a/libfreerdp/utils/http.c +++ b/libfreerdp/utils/http.c @@ -96,7 +96,7 @@ BOOL freerdp_http_request(const char* url, const char* body, long* status_code, char* headers = NULL; size_t size = 0; int status = 0; - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; BIO* bio = NULL; SSL_CTX* ssl_ctx = NULL; SSL* ssl = NULL; @@ -244,7 +244,7 @@ BOOL freerdp_http_request(const char* url, const char* body, long* status_code, *status_code = strtol(&buffer[sizeof(header)], NULL, 0); if (errno != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_ERROR, "invalid HTTP status line: %s [%d]", winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); goto out; @@ -267,7 +267,7 @@ BOOL freerdp_http_request(const char* url, const char* body, long* status_code, *response_length = strtoul(val, NULL, 10); if (errno) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_ERROR, "could not parse content length (%s): %s [%d]", val, winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); goto out; diff --git a/libfreerdp/utils/passphrase.c b/libfreerdp/utils/passphrase.c index 795968dec..2ea88b9d3 100644 --- a/libfreerdp/utils/passphrase.c +++ b/libfreerdp/utils/passphrase.c @@ -53,7 +53,7 @@ const char* freerdp_passphrase_read(rdpContext* context, const char* prompt, cha { WCHAR UserNameW[CREDUI_MAX_USERNAME_LENGTH + 1] = { 'p', 'r', 'e', 'f', 'i', 'l', 'l', 'e', 'd', '\0' }; - WCHAR PasswordW[CREDUI_MAX_PASSWORD_LENGTH + 1] = { 0 }; + WCHAR PasswordW[CREDUI_MAX_PASSWORD_LENGTH + 1] = WINPR_C_ARRAY_INIT; BOOL fSave = FALSE; DWORD dwFlags = 0; WCHAR* promptW = ConvertUtf8ToWCharAlloc(prompt, NULL); @@ -90,7 +90,7 @@ static int wait_for_fd(int fd, int timeout) { int status = 0; #if defined(WINPR_HAVE_POLL_H) && !defined(__APPLE__) - struct pollfd pollset = { 0 }; + struct pollfd pollset = WINPR_C_ARRAY_INIT; pollset.fd = fd; pollset.events = POLLIN; pollset.revents = 0; @@ -101,8 +101,8 @@ static int wait_for_fd(int fd, int timeout) } while ((status < 0) && (errno == EINTR)); #else - fd_set rset = { 0 }; - struct timeval tv = { 0 }; + fd_set rset = WINPR_C_ARRAY_INIT; + struct timeval tv = WINPR_C_ARRAY_INIT; FD_ZERO(&rset); FD_SET(fd, &rset); @@ -136,7 +136,7 @@ static const char* freerdp_passphrase_read_tty(rdpContext* context, const char* size_t bufsiz, int from_stdin) { BOOL terminal_needs_reset = FALSE; - char term_name[L_ctermid] = { 0 }; + char term_name[L_ctermid] = WINPR_C_ARRAY_INIT; FILE* fout = NULL; @@ -173,10 +173,10 @@ static const char* freerdp_passphrase_read_tty(rdpContext* context, const char* } } - struct termios orig_flags = { 0 }; + struct termios orig_flags = WINPR_C_ARRAY_INIT; if (tcgetattr(terminal_fildes, &orig_flags) != -1) { - struct termios new_flags = { 0 }; + struct termios new_flags = WINPR_C_ARRAY_INIT; new_flags = orig_flags; new_flags.c_lflag &= (uint32_t)~ECHO; new_flags.c_lflag |= ECHONL; @@ -238,7 +238,7 @@ error: static const char* freerdp_passphrase_read_askpass(const char* prompt, char* buf, size_t bufsiz, char const* askpass_env) { - char command[4096] = { 0 }; + char command[4096] = WINPR_C_ARRAY_INIT; (void)sprintf_s(command, sizeof(command), "%s 'FreeRDP authentication\n%s'", askpass_env, prompt); @@ -282,7 +282,7 @@ BOOL set_termianl_nonblock(int ifd, BOOL nonblock) static int fd = -1; static bool registered = false; static int orig = 0; - static struct termios termios = { 0 }; + static struct termios termios = WINPR_C_ARRAY_INIT; if (ifd >= 0) fd = ifd; @@ -301,7 +301,7 @@ BOOL set_termianl_nonblock(int ifd, BOOL nonblock) const int rc1 = fcntl(fd, F_SETFL, orig | O_NONBLOCK); if (rc1 != 0) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "fcntl(F_SETFL) failed with %s", winpr_strerror(errno, buffer, sizeof(buffer))); return FALSE; @@ -309,7 +309,7 @@ BOOL set_termianl_nonblock(int ifd, BOOL nonblock) const int rc2 = tcgetattr(fd, &termios); if (rc2 != 0) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "tcgetattr() failed with %s", winpr_strerror(errno, buffer, sizeof(buffer))); return FALSE; @@ -320,7 +320,7 @@ BOOL set_termianl_nonblock(int ifd, BOOL nonblock) const int rc3 = tcsetattr(fd, TCSANOW, &now); if (rc3 != 0) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "tcsetattr(TCSANOW) failed with %s", winpr_strerror(errno, buffer, sizeof(buffer))); return FALSE; @@ -331,7 +331,7 @@ BOOL set_termianl_nonblock(int ifd, BOOL nonblock) const int rc1 = tcsetattr(fd, TCSANOW, &termios); if (rc1 != 0) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "tcsetattr(TCSANOW) failed with %s", winpr_strerror(errno, buffer, sizeof(buffer))); return FALSE; @@ -339,7 +339,7 @@ BOOL set_termianl_nonblock(int ifd, BOOL nonblock) const int rc2 = fcntl(fd, F_SETFL, orig); if (rc2 != 0) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "fcntl(F_SETFL) failed with %s", winpr_strerror(errno, buffer, sizeof(buffer))); return FALSE; @@ -417,7 +417,7 @@ SSIZE_T freerdp_interruptible_get_line(rdpContext* context, char** plineptr, siz { const int fd = fileno(stream); - struct termios termios = { 0 }; + struct termios termios = WINPR_C_ARRAY_INIT; /* This might fail if /from-stdin is used. */ if (tcgetattr(fd, &termios) == 0) echo = (termios.c_lflag & ECHO) != 0; diff --git a/libfreerdp/utils/rdpdr_utils.c b/libfreerdp/utils/rdpdr_utils.c index f0532300e..eef4e7c1a 100644 --- a/libfreerdp/utils/rdpdr_utils.c +++ b/libfreerdp/utils/rdpdr_utils.c @@ -315,7 +315,7 @@ static void rdpdr_dump_packet(wLog* log, DWORD lvl, wStream* s, const char* cust break; case PAKID_CORE_CLIENT_NAME: { - char name[256] = { 0 }; + char name[256] = WINPR_C_ARRAY_INIT; UINT32 unicodeFlag = 0; UINT32 codePage = 0; UINT32 computerNameLen = 0; @@ -414,7 +414,7 @@ static void rdpdr_dump_packet(wLog* log, DWORD lvl, wStream* s, const char* cust numCapabilities, pos); for (UINT16 x = 0; x < numCapabilities; x++) { - RDPDR_CAPABILITY_HEADER header = { 0 }; + RDPDR_CAPABILITY_HEADER header = WINPR_C_ARRAY_INIT; const UINT error = rdpdr_read_capset_header(log, s, &header); if (error == CHANNEL_RC_OK) Stream_Seek(s, header.CapabilityLength); @@ -435,7 +435,7 @@ static void rdpdr_dump_packet(wLog* log, DWORD lvl, wStream* s, const char* cust for (UINT32 x = 0; x < count; x++) { - RdpdrDevice device = { 0 }; + RdpdrDevice device = WINPR_C_ARRAY_INIT; offset += 20; if (pos >= offset) @@ -661,7 +661,7 @@ const char* rdpdr_irp_mask2str(UINT32 ioCode1Mask, char* buffer, size_t len) } } - char number[16] = { 0 }; + char number[16] = WINPR_C_ARRAY_INIT; (void)_snprintf(number, sizeof(number), "}[0x%08" PRIx32 "]", ioCode1Mask); if (!winpr_str_append(number, buffer, len, NULL)) return NULL; diff --git a/libfreerdp/utils/signal.c b/libfreerdp/utils/signal.c index 69c2b2819..c956ee46e 100644 --- a/libfreerdp/utils/signal.c +++ b/libfreerdp/utils/signal.c @@ -44,7 +44,7 @@ typedef struct } cleanup_handler_t; static size_t cleanup_handler_count = 0; -static cleanup_handler_t cleanup_handlers[20] = { 0 }; +static cleanup_handler_t cleanup_handlers[20] = WINPR_C_ARRAY_INIT; void fsig_term_handler(int signum) { @@ -60,7 +60,7 @@ void fsig_term_handler(int signum) fsig_lock(); for (size_t x = 0; x < cleanup_handler_count; x++) { - const cleanup_handler_t empty = { 0 }; + const cleanup_handler_t empty = WINPR_C_ARRAY_INIT; cleanup_handler_t* cur = &cleanup_handlers[x]; if (cur->handler) { @@ -105,7 +105,7 @@ BOOL freerdp_del_signal_cleanup_handler(void* context, freerdp_signal_handler_t cleanup_handler_t* cur = &cleanup_handlers[x]; if ((cur->context == context) && (cur->handler == handler)) { - const cleanup_handler_t empty = { 0 }; + const cleanup_handler_t empty = WINPR_C_ARRAY_INIT; for (size_t y = x + 1; y < cleanup_handler_count - 1; y++) { *cur++ = cleanup_handlers[y]; diff --git a/libfreerdp/utils/signal_posix.c b/libfreerdp/utils/signal_posix.c index c74f012d0..5b685c305 100644 --- a/libfreerdp/utils/signal_posix.c +++ b/libfreerdp/utils/signal_posix.c @@ -21,7 +21,7 @@ void fsig_lock(void) const int rc = pthread_mutex_lock(&signal_handler_lock); if (rc != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "[pthread_mutex_lock] failed with %s [%d]", winpr_strerror(rc, ebuffer, sizeof(ebuffer)), rc); } @@ -32,7 +32,7 @@ void fsig_unlock(void) const int rc = pthread_mutex_unlock(&signal_handler_lock); if (rc != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "[pthread_mutex_lock] failed with %s [%d]", winpr_strerror(rc, ebuffer, sizeof(ebuffer)), rc); } @@ -87,8 +87,8 @@ static BOOL register_handlers(const int* signals, size_t count, void (*handler)( WINPR_ASSERT(signals || (count == 0)); WINPR_ASSERT(handler); - sigset_t orig_set = { 0 }; - struct sigaction saction = { 0 }; + sigset_t orig_set = WINPR_C_ARRAY_INIT; + struct sigaction saction = WINPR_C_ARRAY_INIT; pthread_sigmask(SIG_BLOCK, &(saction.sa_mask), &orig_set); @@ -100,7 +100,7 @@ static BOOL register_handlers(const int* signals, size_t count, void (*handler)( for (size_t x = 0; x < count; x++) { - struct sigaction orig_sigaction = { 0 }; + struct sigaction orig_sigaction = WINPR_C_ARRAY_INIT; if (sigaction(signals[x], NULL, &orig_sigaction) == 0) { if (orig_sigaction.sa_handler != SIG_IGN) @@ -119,8 +119,8 @@ static void unregister_handlers(const int* signals, size_t count) { WINPR_ASSERT(signals || (count == 0)); - sigset_t orig_set = { 0 }; - struct sigaction saction = { 0 }; + sigset_t orig_set = WINPR_C_ARRAY_INIT; + struct sigaction saction = WINPR_C_ARRAY_INIT; pthread_sigmask(SIG_BLOCK, &(saction.sa_mask), &orig_set); diff --git a/libfreerdp/utils/smartcard_call.c b/libfreerdp/utils/smartcard_call.c index cfd72e173..317aa27cb 100644 --- a/libfreerdp/utils/smartcard_call.c +++ b/libfreerdp/utils/smartcard_call.c @@ -92,8 +92,8 @@ static LONG smartcard_EstablishContext_Call(scard_call_context* smartcard, wStre SMARTCARD_OPERATION* operation) { LONG status = 0; - SCARDCONTEXT hContext = { 0 }; - EstablishContext_Return ret = { 0 }; + SCARDCONTEXT hContext = WINPR_C_ARRAY_INIT; + EstablishContext_Return ret = WINPR_C_ARRAY_INIT; EstablishContext_Call* call = &operation->call.establishContext; status = ret.ReturnCode = wrap(smartcard, SCardEstablishContext, call->dwScope, NULL, NULL, &hContext); @@ -147,7 +147,7 @@ static LONG smartcard_ReleaseContext_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; WINPR_ASSERT(smartcard); WINPR_ASSERT(out); @@ -170,7 +170,7 @@ static LONG smartcard_IsValidContext_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; WINPR_ASSERT(smartcard); WINPR_ASSERT(out); @@ -185,7 +185,7 @@ static LONG smartcard_ListReaderGroupsA_Call(scard_call_context* smartcard, wStr SMARTCARD_OPERATION* operation) { LONG status = 0; - ListReaderGroups_Return ret = { 0 }; + ListReaderGroups_Return ret = WINPR_C_ARRAY_INIT; LPSTR mszGroups = NULL; DWORD cchGroups = 0; @@ -217,7 +217,7 @@ static LONG smartcard_ListReaderGroupsW_Call(scard_call_context* smartcard, wStr SMARTCARD_OPERATION* operation) { LONG status = 0; - ListReaderGroups_Return ret = { 0 }; + ListReaderGroups_Return ret = WINPR_C_ARRAY_INIT; LPWSTR mszGroups = NULL; DWORD cchGroups = 0; @@ -341,7 +341,7 @@ static DWORD filter_device_by_name_w(wLinkedList* list, LPWSTR* mszReaders, DWOR static LONG smartcard_ListReadersA_Call(scard_call_context* smartcard, wStream* out, SMARTCARD_OPERATION* operation) { - ListReaders_Return ret = { 0 }; + ListReaders_Return ret = WINPR_C_ARRAY_INIT; LPSTR mszReaders = NULL; WINPR_ASSERT(smartcard); @@ -383,7 +383,7 @@ static LONG smartcard_ListReadersW_Call(scard_call_context* smartcard, wStream* SMARTCARD_OPERATION* operation) { LONG status = 0; - ListReaders_Return ret = { 0 }; + ListReaders_Return ret = WINPR_C_ARRAY_INIT; DWORD cchReaders = 0; ListReaders_Call* call = NULL; union @@ -439,7 +439,7 @@ static LONG smartcard_IntroduceReaderGroupA_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; ContextAndStringA_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -457,7 +457,7 @@ static LONG smartcard_IntroduceReaderGroupW_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; ContextAndStringW_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -475,7 +475,7 @@ static LONG smartcard_IntroduceReaderA_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; ContextAndTwoStringA_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -494,7 +494,7 @@ static LONG smartcard_IntroduceReaderW_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; ContextAndTwoStringW_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -513,7 +513,7 @@ static LONG smartcard_ForgetReaderA_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; ContextAndStringA_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -531,7 +531,7 @@ static LONG smartcard_ForgetReaderW_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; ContextAndStringW_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -549,7 +549,7 @@ static LONG smartcard_AddReaderToGroupA_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; ContextAndTwoStringA_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -568,7 +568,7 @@ static LONG smartcard_AddReaderToGroupW_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; ContextAndTwoStringW_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -587,7 +587,7 @@ static LONG smartcard_RemoveReaderFromGroupA_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; ContextAndTwoStringA_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -606,7 +606,7 @@ static LONG smartcard_RemoveReaderFromGroupW_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; ContextAndTwoStringW_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -625,7 +625,7 @@ static LONG smartcard_LocateCardsA_Call(scard_call_context* smartcard, wStream* SMARTCARD_OPERATION* operation) { LONG status = 0; - LocateCards_Return ret = { 0 }; + LocateCards_Return ret = WINPR_C_ARRAY_INIT; LocateCardsA_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -668,7 +668,7 @@ static LONG smartcard_LocateCardsW_Call(scard_call_context* smartcard, wStream* SMARTCARD_OPERATION* operation) { LONG status = 0; - LocateCards_Return ret = { 0 }; + LocateCards_Return ret = WINPR_C_ARRAY_INIT; LocateCardsW_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -712,7 +712,7 @@ static LONG smartcard_ReadCacheA_Call(scard_call_context* smartcard, wStream* ou { LONG status = 0; BOOL autoalloc = 0; - ReadCache_Return ret = { 0 }; + ReadCache_Return ret = WINPR_C_ARRAY_INIT; ReadCacheA_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -762,7 +762,7 @@ static LONG smartcard_ReadCacheW_Call(scard_call_context* smartcard, wStream* ou SMARTCARD_OPERATION* operation) { LONG status = 0; - ReadCache_Return ret = { 0 }; + ReadCache_Return ret = WINPR_C_ARRAY_INIT; ReadCacheW_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -798,7 +798,7 @@ static LONG smartcard_WriteCacheA_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; WriteCacheA_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -819,7 +819,7 @@ static LONG smartcard_WriteCacheW_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; WriteCacheW_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -840,7 +840,7 @@ static LONG smartcard_GetTransmitCount_Call(scard_call_context* smartcard, wStre SMARTCARD_OPERATION* operation) { LONG status = 0; - GetTransmitCount_Return ret = { 0 }; + GetTransmitCount_Return ret = WINPR_C_ARRAY_INIT; WINPR_ASSERT(smartcard); WINPR_ASSERT(out); @@ -872,7 +872,7 @@ static LONG smartcard_GetReaderIcon_Call(scard_call_context* smartcard, wStream* SMARTCARD_OPERATION* operation) { LONG status = 0; - GetReaderIcon_Return ret = { 0 }; + GetReaderIcon_Return ret = WINPR_C_ARRAY_INIT; GetReaderIcon_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -900,7 +900,7 @@ static LONG smartcard_GetDeviceTypeId_Call(scard_call_context* smartcard, wStrea SMARTCARD_OPERATION* operation) { LONG status = 0; - GetDeviceTypeId_Return ret = { 0 }; + GetDeviceTypeId_Return ret = WINPR_C_ARRAY_INIT; GetDeviceTypeId_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -926,7 +926,7 @@ static LONG smartcard_GetStatusChangeA_Call(scard_call_context* smartcard, wStre LONG status = STATUS_NO_MEMORY; DWORD dwTimeOut = 0; const DWORD dwTimeStep = 100; - GetStatusChange_Return ret = { 0 }; + GetStatusChange_Return ret = WINPR_C_ARRAY_INIT; GetStatusChangeA_Call* call = NULL; LPSCARD_READERSTATEA rgReaderStates = NULL; @@ -988,7 +988,7 @@ static LONG smartcard_GetStatusChangeW_Call(scard_call_context* smartcard, wStre LONG status = STATUS_NO_MEMORY; DWORD dwTimeOut = 0; const DWORD dwTimeStep = 100; - GetStatusChange_Return ret = { 0 }; + GetStatusChange_Return ret = WINPR_C_ARRAY_INIT; LPSCARD_READERSTATEW rgReaderStates = NULL; WINPR_ASSERT(smartcard); @@ -1048,7 +1048,7 @@ fail: static LONG smartcard_Cancel_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; WINPR_ASSERT(smartcard); WINPR_ASSERT(out); @@ -1065,7 +1065,7 @@ static LONG smartcard_ConnectA_Call(scard_call_context* smartcard, wStream* out, { LONG status = 0; SCARDHANDLE hCard = 0; - Connect_Return ret = { 0 }; + Connect_Return ret = WINPR_C_ARRAY_INIT; ConnectA_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -1101,7 +1101,7 @@ static LONG smartcard_ConnectW_Call(scard_call_context* smartcard, wStream* out, { LONG status = 0; SCARDHANDLE hCard = 0; - Connect_Return ret = { 0 }; + Connect_Return ret = WINPR_C_ARRAY_INIT; ConnectW_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -1136,7 +1136,7 @@ static LONG smartcard_Reconnect_Call(scard_call_context* smartcard, wStream* out SMARTCARD_OPERATION* operation) { LONG status = 0; - Reconnect_Return ret = { 0 }; + Reconnect_Return ret = WINPR_C_ARRAY_INIT; Reconnect_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -1158,7 +1158,7 @@ static LONG smartcard_Reconnect_Call(scard_call_context* smartcard, wStream* out static LONG smartcard_Disconnect_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; HCardAndDisposition_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -1178,7 +1178,7 @@ static LONG smartcard_BeginTransaction_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; WINPR_ASSERT(smartcard); WINPR_ASSERT(out); @@ -1194,7 +1194,7 @@ static LONG smartcard_EndTransaction_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; HCardAndDisposition_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -1213,7 +1213,7 @@ static LONG smartcard_State_Call(scard_call_context* smartcard, wStream* out, SMARTCARD_OPERATION* operation) { LONG status = 0; - State_Return ret = { 0 }; + State_Return ret = WINPR_C_ARRAY_INIT; WINPR_ASSERT(smartcard); WINPR_ASSERT(out); @@ -1235,7 +1235,7 @@ static LONG smartcard_StatusA_Call(scard_call_context* smartcard, wStream* out, SMARTCARD_OPERATION* operation) { LONG status = 0; - Status_Return ret = { 0 }; + Status_Return ret = WINPR_C_ARRAY_INIT; DWORD cchReaderLen = 0; DWORD cbAtrLen = 0; LPSTR mszReaderNames = NULL; @@ -1289,7 +1289,7 @@ static LONG smartcard_StatusW_Call(scard_call_context* smartcard, wStream* out, SMARTCARD_OPERATION* operation) { LONG status = 0; - Status_Return ret = { 0 }; + Status_Return ret = WINPR_C_ARRAY_INIT; LPWSTR mszReaderNames = NULL; Status_Call* call = NULL; DWORD cbAtrLen = 0; @@ -1351,7 +1351,7 @@ static LONG smartcard_Transmit_Call(scard_call_context* smartcard, wStream* out, SMARTCARD_OPERATION* operation) { LONG status = 0; - Transmit_Return ret = { 0 }; + Transmit_Return ret = WINPR_C_ARRAY_INIT; Transmit_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -1393,7 +1393,7 @@ static LONG smartcard_Control_Call(scard_call_context* smartcard, wStream* out, SMARTCARD_OPERATION* operation) { LONG status = 0; - Control_Return ret = { 0 }; + Control_Return ret = WINPR_C_ARRAY_INIT; Control_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -1426,7 +1426,7 @@ static LONG smartcard_GetAttrib_Call(scard_call_context* smartcard, wStream* out LONG status = 0; DWORD cbAttrLen = 0; LPBYTE pbAttr = NULL; - GetAttrib_Return ret = { 0 }; + GetAttrib_Return ret = WINPR_C_ARRAY_INIT; const GetAttrib_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -1469,7 +1469,7 @@ static LONG smartcard_GetAttrib_Call(scard_call_context* smartcard, wStream* out static LONG smartcard_SetAttrib_Call(scard_call_context* smartcard, WINPR_ATTR_UNUSED wStream* out, SMARTCARD_OPERATION* operation) { - Long_Return ret = { 0 }; + Long_Return ret = WINPR_C_ARRAY_INIT; SetAttrib_Call* call = NULL; WINPR_ASSERT(smartcard); @@ -1509,7 +1509,7 @@ static LONG smartcard_LocateCardsByATRA_Call(scard_call_context* smartcard, wStr SMARTCARD_OPERATION* operation) { LONG status = 0; - GetStatusChange_Return ret = { 0 }; + GetStatusChange_Return ret = WINPR_C_ARRAY_INIT; LPSCARD_READERSTATEA states = NULL; LocateCardsByATRA_Call* call = NULL; diff --git a/libfreerdp/utils/smartcard_operations.c b/libfreerdp/utils/smartcard_operations.c index 1b442ca82..b7a754831 100644 --- a/libfreerdp/utils/smartcard_operations.c +++ b/libfreerdp/utils/smartcard_operations.c @@ -1030,7 +1030,7 @@ void smartcard_operation_free(SMARTCARD_OPERATION* op, BOOL allocated) } { - SMARTCARD_OPERATION empty = { 0 }; + SMARTCARD_OPERATION empty = WINPR_C_ARRAY_INIT; *op = empty; } diff --git a/libfreerdp/utils/smartcard_pack.c b/libfreerdp/utils/smartcard_pack.c index b016b26a3..50b2d18e0 100644 --- a/libfreerdp/utils/smartcard_pack.c +++ b/libfreerdp/utils/smartcard_pack.c @@ -491,7 +491,7 @@ fail: static void smartcard_log_redir_handle(wLog* log, const REDIR_SCARDHANDLE* pHandle) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pHandle); WLog_Print(log, g_LogLevel, " hContext: %s", @@ -500,7 +500,7 @@ static void smartcard_log_redir_handle(wLog* log, const REDIR_SCARDHANDLE* pHand static void smartcard_log_context(wLog* log, const REDIR_SCARDCONTEXT* phContext) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(phContext); WLog_Print( @@ -526,7 +526,7 @@ static void smartcard_trace_context_and_string_call_w(wLog* log, const char* nam const REDIR_SCARDCONTEXT* phContext, const WCHAR* sz) { - char tmp[1024] = { 0 }; + char tmp[1024] = WINPR_C_ARRAY_INIT; if (!WLog_IsLevelActive(log, g_LogLevel)) return; @@ -575,7 +575,7 @@ static void dump_reader_states_return(wLog* log, const ReaderState_Return* rgRea WINPR_ASSERT(rgReaderStates || (cReaders == 0)); for (UINT32 index = 0; index < cReaders; index++) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; const ReaderState_Return* readerState = &rgReaderStates[index]; char* szCurrentState = SCardGetReaderStateString(readerState->dwCurrentState); @@ -600,7 +600,7 @@ static void dump_reader_states_a(wLog* log, const SCARD_READERSTATEA* rgReaderSt WINPR_ASSERT(rgReaderStates || (cReaders == 0)); for (UINT32 index = 0; index < cReaders; index++) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; const SCARD_READERSTATEA* readerState = &rgReaderStates[index]; @@ -628,7 +628,7 @@ static void dump_reader_states_w(wLog* log, const SCARD_READERSTATEW* rgReaderSt WINPR_ASSERT(rgReaderStates || (cReaders == 0)); for (UINT32 index = 0; index < cReaders; index++) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; const SCARD_READERSTATEW* readerState = &rgReaderStates[index]; (void)ConvertWCharToUtf8(readerState->szReader, buffer, sizeof(buffer)); @@ -726,7 +726,7 @@ static void smartcard_trace_locate_cards_by_atr_a_call(wLog* log, static void smartcard_trace_locate_cards_a_call(wLog* log, const LocateCardsA_Call* call) { - char buffer[8192] = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(call); @@ -812,7 +812,7 @@ static void smartcard_trace_read_cache_return(wLog* log, const ReadCache_Return* if (ret->ReturnCode == SCARD_S_SUCCESS) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_Print(log, g_LogLevel, " cbDataLen=%" PRIu32, ret->cbDataLen); WLog_Print(log, g_LogLevel, " cbData: %s", smartcard_array_dump(ret->pbData, ret->cbDataLen, buffer, sizeof(buffer))); @@ -823,7 +823,7 @@ static void smartcard_trace_read_cache_return(wLog* log, const ReadCache_Return* static void smartcard_trace_locate_cards_w_call(wLog* log, const LocateCardsW_Call* call) { WINPR_ASSERT(call); - char buffer[8192] = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; if (!WLog_IsLevelActive(log, g_LogLevel)) return; @@ -894,7 +894,7 @@ static void smartcard_trace_get_status_change_return(wLog* log, const GetStatusC { for (UINT32 index = 0; index < ret->cReaders; index++) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; const ReaderState_Return* rgReaderState = &(ret->rgReaderStates[index]); char* szCurrentState = SCardGetReaderStateString(rgReaderState->dwCurrentState); char* szEventState = SCardGetReaderStateString(rgReaderState->dwEventState); @@ -933,8 +933,8 @@ static void smartcard_trace_context_and_two_strings_w_call(wLog* log, const ContextAndTwoStringW_Call* call) { WINPR_ASSERT(call); - char sz1[1024] = { 0 }; - char sz2[1024] = { 0 }; + char sz1[1024] = WINPR_C_ARRAY_INIT; + char sz2[1024] = WINPR_C_ARRAY_INIT; if (!WLog_IsLevelActive(log, g_LogLevel)) return; @@ -967,7 +967,7 @@ static void smartcard_trace_get_transmit_count_call(wLog* log, const GetTransmit static void smartcard_trace_write_cache_a_call(wLog* log, const WriteCacheA_Call* call) { WINPR_ASSERT(call); - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; if (!WLog_IsLevelActive(log, g_LogLevel)) return; @@ -991,8 +991,8 @@ static void smartcard_trace_write_cache_a_call(wLog* log, const WriteCacheA_Call static void smartcard_trace_write_cache_w_call(wLog* log, const WriteCacheW_Call* call) { WINPR_ASSERT(call); - char tmp[1024] = { 0 }; - char buffer[1024] = { 0 }; + char tmp[1024] = WINPR_C_ARRAY_INIT; + char buffer[1024] = WINPR_C_ARRAY_INIT; if (!WLog_IsLevelActive(log, g_LogLevel)) return; @@ -1018,7 +1018,7 @@ static void smartcard_trace_write_cache_w_call(wLog* log, const WriteCacheW_Call static void smartcard_trace_read_cache_a_call(wLog* log, const ReadCacheA_Call* call) { WINPR_ASSERT(call); - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; if (!WLog_IsLevelActive(log, g_LogLevel)) return; @@ -1040,8 +1040,8 @@ static void smartcard_trace_read_cache_a_call(wLog* log, const ReadCacheA_Call* static void smartcard_trace_read_cache_w_call(wLog* log, const ReadCacheW_Call* call) { WINPR_ASSERT(call); - char tmp[1024] = { 0 }; - char buffer[1024] = { 0 }; + char tmp[1024] = WINPR_C_ARRAY_INIT; + char buffer[1024] = WINPR_C_ARRAY_INIT; if (!WLog_IsLevelActive(log, g_LogLevel)) return; @@ -1084,7 +1084,7 @@ static void smartcard_trace_transmit_call(wLog* log, const Transmit_Call* call) if (cbExtraBytes) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_Print(log, g_LogLevel, "pbExtraBytes: %s", smartcard_array_dump(pbExtraBytes, cbExtraBytes, buffer, sizeof(buffer))); } @@ -1098,7 +1098,7 @@ static void smartcard_trace_transmit_call(wLog* log, const Transmit_Call* call) if (call->pbSendBuffer) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_Print( log, g_LogLevel, "pbSendBuffer: %s", smartcard_array_dump(call->pbSendBuffer, call->cbSendLength, buffer, sizeof(buffer))); @@ -1117,7 +1117,7 @@ static void smartcard_trace_transmit_call(wLog* log, const Transmit_Call* call) if (cbExtraBytes) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_Print(log, g_LogLevel, "pbExtraBytes: %s", smartcard_array_dump(pbExtraBytes, cbExtraBytes, buffer, sizeof(buffer))); } @@ -1172,7 +1172,7 @@ static void smartcard_trace_transmit_return(wLog* log, const Transmit_Return* re if (cbExtraBytes) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_Print(log, g_LogLevel, " pbExtraBytes: %s", smartcard_array_dump(pbExtraBytes, cbExtraBytes, buffer, sizeof(buffer))); } @@ -1186,7 +1186,7 @@ static void smartcard_trace_transmit_return(wLog* log, const Transmit_Return* re if (ret->pbRecvBuffer) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_Print( log, g_LogLevel, " pbRecvBuffer: %s", smartcard_array_dump(ret->pbRecvBuffer, ret->cbRecvLength, buffer, sizeof(buffer))); @@ -1214,7 +1214,7 @@ static void smartcard_trace_control_return(wLog* log, const Control_Return* ret) if (ret->pvOutBuffer) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_Print( log, g_LogLevel, "pvOutBuffer: %s", smartcard_array_dump(ret->pvOutBuffer, ret->cbOutBufferSize, buffer, sizeof(buffer))); @@ -1246,7 +1246,7 @@ static void smartcard_trace_control_call(wLog* log, const Control_Call* call) if (call->pvInBuffer) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WLog_Print( log, WLOG_DEBUG, "pbInBuffer: %s", smartcard_array_dump(call->pvInBuffer, call->cbInBufferSize, buffer, sizeof(buffer))); @@ -1262,7 +1262,7 @@ static void smartcard_trace_control_call(wLog* log, const Control_Call* call) static void smartcard_trace_set_attrib_call(wLog* log, const SetAttrib_Call* call) { WINPR_ASSERT(call); - char buffer[8192] = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; if (!WLog_IsLevelActive(log, g_LogLevel)) return; @@ -1281,7 +1281,7 @@ static void smartcard_trace_get_attrib_return(wLog* log, const GetAttrib_Return* DWORD dwAttrId) { WINPR_ASSERT(ret); - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; if (!WLog_IsLevelActive(log, g_LogLevel)) return; @@ -1338,7 +1338,7 @@ static void smartcard_trace_status_return(wLog* log, const Status_Return* ret, B { WINPR_ASSERT(ret); char* mszReaderNamesA = NULL; - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; DWORD cBytes = 0; if (!WLog_IsLevelActive(log, g_LogLevel)) @@ -1370,7 +1370,7 @@ static void smartcard_trace_status_return(wLog* log, const Status_Return* ret, B static void smartcard_trace_state_return(wLog* log, const State_Return* ret) { WINPR_ASSERT(ret); - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; char* state = NULL; if (!WLog_IsLevelActive(log, g_LogLevel)) @@ -1429,7 +1429,7 @@ static void smartcard_trace_connect_a_call(wLog* log, const ConnectA_Call* call) static void smartcard_trace_connect_w_call(wLog* log, const ConnectW_Call* call) { WINPR_ASSERT(call); - char szReaderA[1024] = { 0 }; + char szReaderA[1024] = WINPR_C_ARRAY_INIT; if (!WLog_IsLevelActive(log, g_LogLevel)) return; @@ -1741,7 +1741,7 @@ LONG smartcard_pack_write_size_align(wStream* s, size_t size, UINT32 alignment) SCARDCONTEXT smartcard_scard_context_native_from_redir(REDIR_SCARDCONTEXT* context) { - SCARDCONTEXT hContext = { 0 }; + SCARDCONTEXT hContext = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); if ((context->cbContext != sizeof(ULONG_PTR)) && (context->cbContext != 0)) diff --git a/libfreerdp/utils/string.c b/libfreerdp/utils/string.c index 06f08355e..18745e5b6 100644 --- a/libfreerdp/utils/string.c +++ b/libfreerdp/utils/string.c @@ -103,7 +103,7 @@ const char* rdp_cluster_info_flags_to_string(UINT32 flags, char* buffer, size_t } winpr_str_append(str, buffer, size, "|"); { - char msg[32] = { 0 }; + char msg[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(msg, sizeof(msg), "[0x%08" PRIx32 "]", flags); winpr_str_append(msg, buffer, size, ""); } diff --git a/libfreerdp/utils/test/TestEncodedTypes.c b/libfreerdp/utils/test/TestEncodedTypes.c index 6ed82e835..58e754fbd 100644 --- a/libfreerdp/utils/test/TestEncodedTypes.c +++ b/libfreerdp/utils/test/TestEncodedTypes.c @@ -36,8 +36,8 @@ static BOOL test_signed_integer_read_write_equal(INT32 value) { INT32 rvalue = 0; - BYTE buffer[32] = { 0 }; - wStream sbuffer = { 0 }; + BYTE buffer[32] = WINPR_C_ARRAY_INIT; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&sbuffer, buffer, sizeof(buffer)); WINPR_ASSERT(s); @@ -68,8 +68,8 @@ static BOOL test_signed_integer_read_write_equal(INT32 value) static BOOL test_signed_integer_write_oor(INT32 value) { - BYTE buffer[32] = { 0 }; - wStream sbuffer = { 0 }; + BYTE buffer[32] = WINPR_C_ARRAY_INIT; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&sbuffer, buffer, sizeof(buffer)); WINPR_ASSERT(s); @@ -120,8 +120,8 @@ static BOOL test_float_read_write_equal(double value) { BYTE exp = 0; double rvalue = FP_NAN; - BYTE buffer[32] = { 0 }; - wStream sbuffer = { 0 }; + BYTE buffer[32] = WINPR_C_ARRAY_INIT; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&sbuffer, buffer, sizeof(buffer)); WINPR_ASSERT(s); @@ -153,8 +153,8 @@ static BOOL test_float_read_write_equal(double value) static BOOL test_floag_write_oor(double value) { - BYTE buffer[32] = { 0 }; - wStream sbuffer = { 0 }; + BYTE buffer[32] = WINPR_C_ARRAY_INIT; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticInit(&sbuffer, buffer, sizeof(buffer)); WINPR_ASSERT(s); diff --git a/libfreerdp/utils/test/TestPodArrays.c b/libfreerdp/utils/test/TestPodArrays.c index f14e8cf8f..dc4f7e7c3 100644 --- a/libfreerdp/utils/test/TestPodArrays.c +++ b/libfreerdp/utils/test/TestPodArrays.c @@ -64,10 +64,10 @@ int TestPodArrays(int argc, char* argv[]) int rc = -1; UINT32 sum = 0; UINT32 foreach_index = 0; - ArrayUINT32 uint32s = { 0 }; + ArrayUINT32 uint32s = WINPR_C_ARRAY_INIT; UINT32* ptr = NULL; const UINT32* cptr = NULL; - ArrayBasicStruct basicStructs = { 0 }; + ArrayBasicStruct basicStructs = WINPR_C_ARRAY_INIT; BasicStruct basicStruct = { 1, 2 }; array_uint32_init(&uint32s); diff --git a/rdtk/librdtk/rdtk_font.c b/rdtk/librdtk/rdtk_font.c index 745e1b0b8..a41fd1016 100644 --- a/rdtk/librdtk/rdtk_font.c +++ b/rdtk/librdtk/rdtk_font.c @@ -484,7 +484,7 @@ static int rdtk_font_parse_descriptor_buffer(rdtkFont* font, char* buffer, p += sizeof("offset=\"") - 1; - char* tok[4] = { 0 }; + char* tok[4] = WINPR_C_ARRAY_INIT; { char* q = strchr(p, '"'); diff --git a/server/Mac/mf_event.c b/server/Mac/mf_event.c index a032ae101..5fba6ed2b 100644 --- a/server/Mac/mf_event.c +++ b/server/Mac/mf_event.c @@ -35,7 +35,7 @@ static int mf_is_event_set(mfEventQueue* event_queue) { fd_set rfds; int num_set; - struct timeval time = { 0 }; + struct timeval time = WINPR_C_ARRAY_INIT; FD_ZERO(&rfds); FD_SET(event_queue->pipe_fd[0], &rfds); diff --git a/server/Mac/mf_peer.c b/server/Mac/mf_peer.c index dcc26414b..7dbbb69f0 100644 --- a/server/Mac/mf_peer.c +++ b/server/Mac/mf_peer.c @@ -95,7 +95,7 @@ static void mf_peer_rfx_update(freerdp_peer* client) RFX_RECT rect; rdpUpdate* update; mfPeerContext* mfp; - SURFACE_BITS_COMMAND cmd = { 0 }; + SURFACE_BITS_COMMAND cmd = WINPR_C_ARRAY_INIT; WINPR_ASSERT(client); @@ -437,7 +437,7 @@ static void* mf_peer_main_loop(void* arg) while (1) { DWORD status; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD count = client->GetEventHandles(client, handles, ARRAYSIZE(handles)); if ((count == 0) || (count == MAXIMUM_WAIT_OBJECTS)) diff --git a/server/Mac/mfreerdp.c b/server/Mac/mfreerdp.c index 8a3fffdd6..7d0983d46 100644 --- a/server/Mac/mfreerdp.c +++ b/server/Mac/mfreerdp.c @@ -55,7 +55,7 @@ static void mf_server_main_loop(freerdp_listener* instance) while (1) { DWORD status; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD count = instance->GetEventHandles(instance, handles, ARRAYSIZE(handles)); if (count == 0) diff --git a/server/Sample/sfreerdp.c b/server/Sample/sfreerdp.c index 198ebebf8..0c1bbf8db 100644 --- a/server/Sample/sfreerdp.c +++ b/server/Sample/sfreerdp.c @@ -179,7 +179,7 @@ static wStream* test_peer_stream_init(testPeerContext* context) static void test_peer_begin_frame(freerdp_peer* client) { rdpUpdate* update = NULL; - SURFACE_FRAME_MARKER fm = { 0 }; + SURFACE_FRAME_MARKER fm = WINPR_C_ARRAY_INIT; testPeerContext* context = NULL; WINPR_ASSERT(client); @@ -201,7 +201,7 @@ static void test_peer_begin_frame(freerdp_peer* client) static void test_peer_end_frame(freerdp_peer* client) { rdpUpdate* update = NULL; - SURFACE_FRAME_MARKER fm = { 0 }; + SURFACE_FRAME_MARKER fm = WINPR_C_ARRAY_INIT; testPeerContext* context = NULL; WINPR_ASSERT(client); @@ -230,7 +230,7 @@ static BOOL stream_surface_bits_supported(const rdpSettings* settings) static BOOL test_peer_draw_background(freerdp_peer* client, const RFX_RECT* rect) { - SURFACE_BITS_COMMAND cmd = { 0 }; + SURFACE_BITS_COMMAND cmd = WINPR_C_ARRAY_INIT; BOOL ret = FALSE; const UINT32 colorFormat = PIXEL_FORMAT_RGB24; const size_t bpp = FreeRDPGetBytesPerPixel(colorFormat); @@ -413,7 +413,7 @@ static void test_send_cursor_update(freerdp_peer* client, UINT32 x, UINT32 y) if (y + context->image->height > h) return; - SURFACE_BITS_COMMAND cmd = { 0 }; + SURFACE_BITS_COMMAND cmd = WINPR_C_ARRAY_INIT; if (RemoteFxCodec && stream_surface_bits_supported(settings)) { const UINT32 RemoteFxCodecId = @@ -551,7 +551,7 @@ static BOOL tf_peer_dump_rfx(freerdp_peer* client) UINT32 prev_useconds = 0; rdpUpdate* update = NULL; rdpPcap* pcap_rfx = NULL; - pcap_record record = { 0 }; + pcap_record record = WINPR_C_ARRAY_INIT; WINPR_ASSERT(client); WINPR_ASSERT(client->context); @@ -638,7 +638,7 @@ static DWORD WINAPI tf_debug_channel_thread_func(LPVOID arg) { DWORD status = 0; DWORD nCount = 0; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; handles[nCount++] = context->event; handles[nCount++] = freerdp_abort_event(&context->_p); @@ -1121,7 +1121,7 @@ static DWORD WINAPI test_peer_mainloop(LPVOID arg) { BOOL rc = 0; DWORD error = CHANNEL_RC_OK; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD count = 0; DWORD status = 0; testPeerContext* context = NULL; @@ -1344,7 +1344,7 @@ static BOOL test_peer_accepted(freerdp_listener* instance, freerdp_peer* client) static void test_server_mainloop(freerdp_listener* instance) { - HANDLE handles[32] = { 0 }; + HANDLE handles[32] = WINPR_C_ARRAY_INIT; DWORD count = 0; DWORD status = 0; @@ -1400,7 +1400,7 @@ WINPR_PRAGMA_DIAG_IGNORED_FORMAT_NONLITERAL WINPR_ATTR_FORMAT_ARG(2, 0) static void print_entry(FILE* fp, WINPR_FORMAT_ARG const char* fmt, const char* what, size_t size) { - char buffer[32] = { 0 }; + char buffer[32] = WINPR_C_ARRAY_INIT; strncpy(buffer, what, MIN(size, sizeof(buffer) - 1)); (void)fprintf(fp, fmt, buffer); } @@ -1427,13 +1427,13 @@ int main(int argc, char* argv[]) { int rc = -1; BOOL started = FALSE; - WSADATA wsaData = { 0 }; + WSADATA wsaData = WINPR_C_ARRAY_INIT; freerdp_listener* instance = NULL; char* file = NULL; - char name[MAX_PATH] = { 0 }; + char name[MAX_PATH] = WINPR_C_ARRAY_INIT; long port = 3389; BOOL localOnly = FALSE; - struct server_info info = { 0 }; + struct server_info info = WINPR_C_ARRAY_INIT; const char* app = argv[0]; info.test_dump_rfx_realtime = TRUE; diff --git a/server/Windows/cli/wfreerdp.c b/server/Windows/cli/wfreerdp.c index 110bce3a5..eb0582d89 100644 --- a/server/Windows/cli/wfreerdp.c +++ b/server/Windows/cli/wfreerdp.c @@ -70,7 +70,7 @@ int main(int argc, char* argv[]) for (int i = 0;; i++) { - _TCHAR name[128] = { 0 }; + _TCHAR name[128] = WINPR_C_ARRAY_INIT; if (get_screen_info(i, name, ARRAYSIZE(name), &width, &height, &bpp) != 0) { if ((width * height * bpp) == 0) @@ -143,7 +143,7 @@ int main(int argc, char* argv[]) for (int i = 0;; i++) { - _TCHAR name[128] = { 0 }; + _TCHAR name[128] = WINPR_C_ARRAY_INIT; if (get_screen_info(i, name, ARRAYSIZE(name), &width, &height, &bpp) != 0) { if ((width * height * bpp) == 0) diff --git a/server/Windows/wf_dxgi.c b/server/Windows/wf_dxgi.c index 899cb55e4..627da473b 100644 --- a/server/Windows/wf_dxgi.c +++ b/server/Windows/wf_dxgi.c @@ -107,7 +107,7 @@ int wf_dxgi_getDuplication(wfInfo* wfi) { HRESULT status; UINT dTop, i = 0; - DXGI_OUTPUT_DESC desc = { 0 }; + DXGI_OUTPUT_DESC desc = WINPR_C_ARRAY_INIT; IDXGIOutput* pOutput; IDXGIDevice* DxgiDevice = NULL; IDXGIAdapter* DxgiAdapter = NULL; diff --git a/server/Windows/wf_input.c b/server/Windows/wf_input.c index ece39ee2a..fbb715caa 100644 --- a/server/Windows/wf_input.c +++ b/server/Windows/wf_input.c @@ -65,7 +65,7 @@ BOOL wf_peer_unicode_keyboard_event(rdpInput* input, UINT16 flags, UINT16 code) BOOL wf_peer_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y) { - INPUT mouse_event = { 0 }; + INPUT mouse_event = WINPR_C_ARRAY_INIT; float width, height; WINPR_UNUSED(input); @@ -143,7 +143,7 @@ BOOL wf_peer_extended_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT1 { if ((flags & PTR_XFLAGS_BUTTON1) || (flags & PTR_XFLAGS_BUTTON2)) { - INPUT mouse_event = { 0 }; + INPUT mouse_event = WINPR_C_ARRAY_INIT; mouse_event.type = INPUT_MOUSE; if (flags & PTR_FLAGS_MOVE) diff --git a/server/Windows/wf_interface.c b/server/Windows/wf_interface.c index 37923bf00..c541c0cd7 100644 --- a/server/Windows/wf_interface.c +++ b/server/Windows/wf_interface.c @@ -47,7 +47,7 @@ static cbCallback cbEvent = NULL; int get_screen_info(int id, _TCHAR* name, size_t length, int* width, int* height, int* bpp) { - DISPLAY_DEVICE dd = { 0 }; + DISPLAY_DEVICE dd = WINPR_C_ARRAY_INIT; dd.cb = sizeof(DISPLAY_DEVICE); @@ -107,7 +107,7 @@ static DWORD WINAPI wf_server_main_loop(LPVOID lpParam) while (wfi->force_all_disconnect == FALSE) { DWORD status; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD count = instance->GetEventHandles(instance, handles, ARRAYSIZE(handles)); if (count == 0) diff --git a/server/Windows/wf_peer.c b/server/Windows/wf_peer.c index 69ccaea6f..edd32cdcc 100644 --- a/server/Windows/wf_peer.c +++ b/server/Windows/wf_peer.c @@ -201,7 +201,7 @@ static DWORD WINAPI wf_peer_socket_listener(LPVOID lpParam) while (1) { DWORD status; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD count = client->GetEventHandles(client, handles, ARRAYSIZE(handles)); if (count == 0) diff --git a/server/proxy/channels/pf_channel_drdynvc.c b/server/proxy/channels/pf_channel_drdynvc.c index 317211ee4..33f24ee0b 100644 --- a/server/proxy/channels/pf_channel_drdynvc.c +++ b/server/proxy/channels/pf_channel_drdynvc.c @@ -136,7 +136,7 @@ static void dyn_log_(wLog* log, DWORD level, const pServerDynamicChannelContext* getDirection(isBackData), channelName, drdynvc_get_packet_type(cmd), channelId); - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); (void)winpr_vasprintf(&msg, &msglen, fmt, ap); va_end(ap); @@ -374,7 +374,7 @@ static PfChannelResult DynvcTrackerHandleCreateBack(ChannelStateTracker* tracker DynChannelContext* dynChannelContext, UINT64 dynChannelId) { - proxyChannelDataEventInfo dev = { 0 }; + proxyChannelDataEventInfo dev = WINPR_C_ARRAY_INIT; const char* name = Stream_ConstPointer(s); const size_t nameLen = Stream_GetRemainingLength(s); const size_t len = strnlen(name, nameLen); @@ -383,7 +383,7 @@ static PfChannelResult DynvcTrackerHandleCreateBack(ChannelStateTracker* tracker if ((len == 0) || (len == nameLen) || (dynChannelId > UINT16_MAX)) { - char namebuffer[64] = { 0 }; + char namebuffer[64] = WINPR_C_ARRAY_INIT; (void)_snprintf(namebuffer, sizeof(namebuffer) - 1, "%s", name); DynvcTrackerLog(dynChannelContext->log, WLOG_ERROR, dynChannel, cmd, isBackData, diff --git a/server/proxy/channels/pf_channel_rdpdr.c b/server/proxy/channels/pf_channel_rdpdr.c index 65efa5926..503d8b704 100644 --- a/server/proxy/channels/pf_channel_rdpdr.c +++ b/server/proxy/channels/pf_channel_rdpdr.c @@ -607,7 +607,7 @@ static UINT rdpdr_process_server_core_capability_request(pf_channel_client_conte for (UINT16 i = 0; i < numCapabilities; i++) { - RDPDR_CAPABILITY_HEADER header = { 0 }; + RDPDR_CAPABILITY_HEADER header = WINPR_C_ARRAY_INIT; UINT error = rdpdr_read_capset_header(rdpdr->log, s, &header); if (error != CHANNEL_RC_OK) return error; @@ -777,7 +777,7 @@ static UINT rdpdr_process_client_capability_response(pf_channel_server_context* for (UINT16 x = 0; x < numCapabilities; x++) { - RDPDR_CAPABILITY_HEADER header = { 0 }; + RDPDR_CAPABILITY_HEADER header = WINPR_C_ARRAY_INIT; UINT error = rdpdr_read_capset_header(rdpdr->log, s, &header); if (error != CHANNEL_RC_OK) return error; @@ -1092,7 +1092,7 @@ static BOOL pf_channel_rdpdr_rewrite_device_list_to(wStream* s, UINT32 fromVersi for (UINT32 x = 0; x < count; x++) { - RdpdrDevice device = { 0 }; + RdpdrDevice device = WINPR_C_ARRAY_INIT; const size_t charCount = ARRAYSIZE(device.PreferredDosName); if (Stream_GetRemainingLength(clone) < 20) goto fail; diff --git a/server/proxy/channels/pf_channel_smartcard.c b/server/proxy/channels/pf_channel_smartcard.c index bbfe82e0d..06e854f66 100644 --- a/server/proxy/channels/pf_channel_smartcard.c +++ b/server/proxy/channels/pf_channel_smartcard.c @@ -172,7 +172,7 @@ BOOL pf_channel_smartcard_client_handle(wLog* log, pClientContext* pc, wStream* UINT32 FileId = 0; UINT32 CompletionId = 0; NTSTATUS ioStatus = 0; - pf_channel_client_queue_element e = { 0 }; + pf_channel_client_queue_element e = WINPR_C_ARRAY_INIT; pf_channel_client_context* scard = scard_get_client_context(pc); WINPR_ASSERT(log); diff --git a/server/proxy/pf_channel.c b/server/proxy/pf_channel.c index 5eccf1c63..8fe1847f2 100644 --- a/server/proxy/pf_channel.c +++ b/server/proxy/pf_channel.c @@ -201,7 +201,7 @@ PfChannelResult channelTracker_flushCurrent(ChannelStateTracker* t, BOOL first, if (toBack) { - proxyChannelDataEventInfo ev = { 0 }; + proxyChannelDataEventInfo ev = WINPR_C_ARRAY_INIT; ev.channel_id = WINPR_ASSERTING_INT_CAST(UINT16, channel->front_channel_id); ev.channel_name = channel->channel_name; @@ -231,7 +231,7 @@ static PfChannelResult pf_channel_generic_back_data(proxyData* pdata, const BYTE* xdata, size_t xsize, UINT32 flags, size_t totalSize) { - proxyChannelDataEventInfo ev = { 0 }; + proxyChannelDataEventInfo ev = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pdata); WINPR_ASSERT(channel); @@ -266,7 +266,7 @@ static PfChannelResult pf_channel_generic_front_data(proxyData* pdata, const BYTE* xdata, size_t xsize, UINT32 flags, size_t totalSize) { - proxyChannelDataEventInfo ev = { 0 }; + proxyChannelDataEventInfo ev = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pdata); WINPR_ASSERT(channel); diff --git a/server/proxy/pf_client.c b/server/proxy/pf_client.c index b374c2a06..8c3269735 100644 --- a/server/proxy/pf_client.c +++ b/server/proxy/pf_client.c @@ -397,7 +397,7 @@ static BOOL pf_client_load_channels(freerdp* instance) for (; x < size;) { CHANNEL_DEF* cur = &channels[x]; - proxyChannelDataEventInfo dev = { 0 }; + proxyChannelDataEventInfo dev = WINPR_C_ARRAY_INIT; dev.channel_name = cur->name; dev.flags = cur->options; @@ -800,7 +800,7 @@ static DWORD WINAPI pf_client_thread_proc(pClientContext* pc) proxyData* pdata = NULL; DWORD nCount = 0; DWORD status = 0; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pc); diff --git a/server/proxy/pf_config.c b/server/proxy/pf_config.c index 7e0eb86ae..c8902df0e 100644 --- a/server/proxy/pf_config.c +++ b/server/proxy/pf_config.c @@ -417,7 +417,7 @@ static char* pf_config_decode_base64(const char* data, const char* name, size_t* /* Extract header for log message * expected format is '----- SOMETEXT -----' */ - char hdr[128] = { 0 }; + char hdr[128] = WINPR_C_ARRAY_INIT; const char* end = strchr(&data[5], '-'); if (end) { @@ -1326,7 +1326,7 @@ static BOOL config_plugin_channel_create(proxyPlugin* plugin, WINPR_ATTR_UNUSED BOOL pf_config_plugin(proxyPluginsManager* plugins_manager, void* userdata) { struct config_plugin_data* custom = NULL; - proxyPlugin plugin = { 0 }; + proxyPlugin plugin = WINPR_C_ARRAY_INIT; plugin.name = config_plugin_name; plugin.description = config_plugin_desc; diff --git a/server/proxy/pf_context.c b/server/proxy/pf_context.c index 20902d2a2..91ee332b1 100644 --- a/server/proxy/pf_context.c +++ b/server/proxy/pf_context.c @@ -306,7 +306,7 @@ out_fail: pClientContext* pf_context_create_client_context(const rdpSettings* clientSettings) { - RDP_CLIENT_ENTRY_POINTS clientEntryPoints = { 0 }; + RDP_CLIENT_ENTRY_POINTS clientEntryPoints = WINPR_C_ARRAY_INIT; WINPR_ASSERT(clientSettings); diff --git a/server/proxy/pf_input.c b/server/proxy/pf_input.c index 234b35cbe..727337385 100644 --- a/server/proxy/pf_input.c +++ b/server/proxy/pf_input.c @@ -69,7 +69,7 @@ WINPR_ATTR_NODISCARD static BOOL pf_server_keyboard_event(rdpInput* input, UINT16 flags, UINT8 code) { const proxyConfig* config = NULL; - proxyKeyboardEventInfo event = { 0 }; + proxyKeyboardEventInfo event = WINPR_C_ARRAY_INIT; pServerContext* ps = NULL; pClientContext* pc = NULL; @@ -103,7 +103,7 @@ WINPR_ATTR_NODISCARD static BOOL pf_server_unicode_keyboard_event(rdpInput* input, UINT16 flags, UINT16 code) { const proxyConfig* config = NULL; - proxyUnicodeEventInfo event = { 0 }; + proxyUnicodeEventInfo event = WINPR_C_ARRAY_INIT; pServerContext* ps = NULL; pClientContext* pc = NULL; @@ -134,7 +134,7 @@ static BOOL pf_server_unicode_keyboard_event(rdpInput* input, UINT16 flags, UINT WINPR_ATTR_NODISCARD static BOOL pf_server_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y) { - proxyMouseEventInfo event = { 0 }; + proxyMouseEventInfo event = WINPR_C_ARRAY_INIT; const proxyConfig* config = NULL; pServerContext* ps = NULL; pClientContext* pc = NULL; @@ -170,7 +170,7 @@ WINPR_ATTR_NODISCARD static BOOL pf_server_extended_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y) { const proxyConfig* config = NULL; - proxyMouseExEventInfo event = { 0 }; + proxyMouseExEventInfo event = WINPR_C_ARRAY_INIT; pServerContext* ps = NULL; pClientContext* pc = NULL; diff --git a/server/proxy/pf_modules.c b/server/proxy/pf_modules.c index a8aad5b65..3f245d832 100644 --- a/server/proxy/pf_modules.c +++ b/server/proxy/pf_modules.c @@ -419,7 +419,7 @@ WINPR_ATTR_NODISCARD static BOOL pf_modules_register_plugin(proxyPluginsManager* mgr, const proxyPlugin* plugin_to_register) { - proxyPlugin internal = { 0 }; + proxyPlugin internal = WINPR_C_ARRAY_INIT; proxyModule* module = (proxyModule*)mgr; WINPR_ASSERT(module); @@ -512,7 +512,7 @@ static BOOL pf_modules_load_static_module(const char* module_name, proxyModule* return FALSE; } - char name[256] = { 0 }; + char name[256] = WINPR_C_ARRAY_INIT; (void)_snprintf(name, sizeof(name), "%s_%s", module_name, MODULE_ENTRY_POINT); for (size_t x = 0; x < strnlen(name, sizeof(name)); x++) { @@ -604,7 +604,7 @@ static BOOL pf_modules_load_module(const char* module_path, const char* module_n if (pf_modules_load_static_module(module_name, module, userdata)) return TRUE; - char names[5][MAX_PATH] = { 0 }; + char names[5][MAX_PATH] = WINPR_C_ARRAY_INIT; (void)_snprintf(names[0], sizeof(names[0]), "proxy-%s-plugin%s", module_name, FREERDP_SHARED_LIBRARY_SUFFIX); (void)_snprintf(names[1], sizeof(names[1]), "%sproxy-%s-plugin%s", diff --git a/server/proxy/pf_server.c b/server/proxy/pf_server.c index 9171680ea..80effa054 100644 --- a/server/proxy/pf_server.c +++ b/server/proxy/pf_server.c @@ -114,7 +114,7 @@ static BOOL pf_server_get_target_info(rdpContext* context, rdpSettings* settings const proxyConfig* config) { pServerContext* ps = (pServerContext*)context; - proxyFetchTargetEventInfo ev = { 0 }; + proxyFetchTargetEventInfo ev = WINPR_C_ARRAY_INIT; WINPR_ASSERT(settings); WINPR_ASSERT(ps); @@ -380,7 +380,7 @@ static BOOL pf_server_logon(freerdp_peer* peer, const SEC_WINNT_AUTH_IDENTITY* i { pServerContext* ps = NULL; proxyData* pdata = NULL; - proxyServerPeerLogon info = { 0 }; + proxyServerPeerLogon info = WINPR_C_ARRAY_INIT; WINPR_ASSERT(peer); @@ -446,7 +446,7 @@ static BOOL pf_server_receive_channel_data_hook(freerdp_peer* peer, UINT16 chann { case PF_CHANNEL_RESULT_PASS: { - proxyChannelDataEventInfo ev = { 0 }; + proxyChannelDataEventInfo ev = WINPR_C_ARRAY_INIT; ev.channel_id = channelId; ev.channel_name = channel->channel_name; @@ -584,7 +584,7 @@ static BOOL pf_server_initialize_peer_connection(freerdp_peer* peer) WINPR_ATTR_NODISCARD static DWORD WINAPI pf_server_handle_peer(LPVOID arg) { - HANDLE eventHandles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE eventHandles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; pServerContext* ps = NULL; proxyData* pdata = NULL; peer_thread_args* args = arg; @@ -1007,7 +1007,7 @@ out: BOOL pf_server_run(proxyServer* server) { BOOL rc = TRUE; - HANDLE eventHandles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE eventHandles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD eventCount = 0; DWORD status = 0; freerdp_listener* listener = NULL; diff --git a/server/shadow/Win/win_dxgi.c b/server/shadow/Win/win_dxgi.c index 9ea8e2bc5..c96790071 100644 --- a/server/shadow/Win/win_dxgi.c +++ b/server/shadow/Win/win_dxgi.c @@ -297,7 +297,7 @@ int win_shadow_dxgi_init_duplication(winShadowSubsystem* subsystem) HRESULT hr; UINT dTop, i = 0; IDXGIOutput* pOutput; - DXGI_OUTPUT_DESC outputDesc = { 0 }; + DXGI_OUTPUT_DESC outputDesc = WINPR_C_ARRAY_INIT; DXGI_OUTPUT_DESC* pOutputDesc; D3D11_TEXTURE2D_DESC textureDesc; IDXGIDevice* dxgiDevice = NULL; diff --git a/server/shadow/Win/win_rdp.c b/server/shadow/Win/win_rdp.c index 3332f1e64..a83dd0942 100644 --- a/server/shadow/Win/win_rdp.c +++ b/server/shadow/Win/win_rdp.c @@ -190,7 +190,7 @@ static DWORD WINAPI shw_client_thread(LPVOID arg) while (1) { DWORD status; - HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD count = freerdp_get_event_handles(instance->context, handles, ARRAYSIZE(handles)); if ((count == 0) || (count == MAXIMUM_WAIT_OBJECTS)) @@ -388,7 +388,7 @@ int shw_RdpClientEntry(RDP_CLIENT_ENTRY_POINTS* pEntryPoints) int win_shadow_rdp_init(winShadowSubsystem* subsystem) { rdpContext* context; - RDP_CLIENT_ENTRY_POINTS clientEntryPoints = { 0 }; + RDP_CLIENT_ENTRY_POINTS clientEntryPoints = WINPR_C_ARRAY_INIT; clientEntryPoints.Size = sizeof(RDP_CLIENT_ENTRY_POINTS); clientEntryPoints.Version = RDP_CLIENT_INTERFACE_VERSION; diff --git a/server/shadow/Win/win_shadow.c b/server/shadow/Win/win_shadow.c index 2a6d62347..533bd19ec 100644 --- a/server/shadow/Win/win_shadow.c +++ b/server/shadow/Win/win_shadow.c @@ -95,7 +95,7 @@ static BOOL win_shadow_input_mouse_event(rdpShadowSubsystem* subsystem, rdpShado UINT16 flags, UINT16 x, UINT16 y) { UINT rc = 1; - INPUT event = { 0 }; + INPUT event = WINPR_C_ARRAY_INIT; float width; float height; @@ -180,7 +180,7 @@ static BOOL win_shadow_input_extended_mouse_event(rdpShadowSubsystem* subsystem, UINT16 y) { UINT rc = 1; - INPUT event = { 0 }; + INPUT event = WINPR_C_ARRAY_INIT; float width; float height; @@ -426,7 +426,7 @@ static UINT32 win_shadow_enum_monitors(MONITOR_DEF* monitors, UINT32 maxMonitors DWORD iDevNum = 0; int numMonitors = 0; MONITOR_DEF* monitor; - DISPLAY_DEVICE displayDevice = { 0 }; + DISPLAY_DEVICE displayDevice = WINPR_C_ARRAY_INIT; displayDevice.cb = sizeof(DISPLAY_DEVICE); diff --git a/server/shadow/Win/win_wds.c b/server/shadow/Win/win_wds.c index 39c498056..de9edaea9 100644 --- a/server/shadow/Win/win_wds.c +++ b/server/shadow/Win/win_wds.c @@ -478,7 +478,7 @@ int win_shadow_wds_wnd_init(winShadowSubsystem* subsystem) { HMODULE hModule; HINSTANCE hInstance; - WNDCLASSEX wndClassEx = { 0 }; + WNDCLASSEX wndClassEx = WINPR_C_ARRAY_INIT; hModule = GetModuleHandle(NULL); wndClassEx.cbSize = sizeof(WNDCLASSEX); diff --git a/server/shadow/X11/x11_shadow.c b/server/shadow/X11/x11_shadow.c index 73eda36bf..f30bf7aa2 100644 --- a/server/shadow/X11/x11_shadow.c +++ b/server/shadow/X11/x11_shadow.c @@ -140,7 +140,7 @@ static BOOL x11_shadow_pam_get_service_name(SHADOW_PAM_AUTH_INFO* info) for (size_t x = 0; x < ARRAYSIZE(hints); x++) { - char path[MAX_PATH] = { 0 }; + char path[MAX_PATH] = WINPR_C_ARRAY_INIT; const char* hint = hints[x]; (void)_snprintf(path, sizeof(path), "%s/%s", base, hint); @@ -160,7 +160,7 @@ static int x11_shadow_pam_authenticate(rdpShadowSubsystem* subsystem, rdpShadowC const char* user, const char* domain, const char* password) { int pam_status = 0; - SHADOW_PAM_AUTH_INFO info = { 0 }; + SHADOW_PAM_AUTH_INFO info = WINPR_C_ARRAY_INIT; WINPR_UNUSED(subsystem); WINPR_UNUSED(client); @@ -486,7 +486,7 @@ static int x11_shadow_pointer_position_update(x11ShadowSubsystem* subsystem) { UINT32 msgId = SHADOW_MSG_OUT_POINTER_POSITION_UPDATE_ID; rdpShadowServer* server = NULL; - SHADOW_MSG_OUT_POINTER_POSITION_UPDATE templateMsg = { 0 }; + SHADOW_MSG_OUT_POINTER_POSITION_UPDATE templateMsg = WINPR_C_ARRAY_INIT; int count = 0; if (!subsystem || !subsystem->common.server || !subsystem->common.server->clients) @@ -917,7 +917,7 @@ static int x11_shadow_screen_grab(x11ShadowSubsystem* subsystem) WINPR_ASSERT(subsystem); - RECTANGLE_16 surfaceRect = { 0 }; + RECTANGLE_16 surfaceRect = WINPR_C_ARRAY_INIT; rdpShadowServer* server = subsystem->common.server; WINPR_ASSERT(server); @@ -937,7 +937,7 @@ static int x11_shadow_screen_grab(x11ShadowSubsystem* subsystem) } XImage* image = NULL; - RECTANGLE_16 invalidRect = { 0 }; + RECTANGLE_16 invalidRect = WINPR_C_ARRAY_INIT; int status = -1; { XLockDisplay(subsystem->display); @@ -1395,7 +1395,7 @@ static int x11_shadow_subsystem_init(rdpShadowSubsystem* sub) int pf_count = 0; int vi_count = 0; int nextensions = 0; - XVisualInfo xtemplate = { 0 }; + XVisualInfo xtemplate = WINPR_C_ARRAY_INIT; XPixmapFormatValues* pf = NULL; x11ShadowSubsystem* subsystem = (x11ShadowSubsystem*)sub; diff --git a/server/shadow/cli/shadow.c b/server/shadow/cli/shadow.c index 2b8975226..8e2297c74 100644 --- a/server/shadow/cli/shadow.c +++ b/server/shadow/cli/shadow.c @@ -174,7 +174,7 @@ int main(int argc, char** argv) #ifdef _WIN32 { - MSG msg = { 0 }; + MSG msg = WINPR_C_ARRAY_INIT; while (GetMessage(&msg, 0, 0, 0)) { TranslateMessage(&msg); diff --git a/server/shadow/shadow_capture.c b/server/shadow/shadow_capture.c index ee8ee8c66..41c6b02ce 100644 --- a/server/shadow/shadow_capture.c +++ b/server/shadow/shadow_capture.c @@ -234,7 +234,7 @@ int shadow_capture_compare_with_format(const BYTE* WINPR_RESTRICT pData1, UINT32 UINT32 b = 0; const size_t bppA = FreeRDPGetBytesPerPixel(format1); const size_t bppB = FreeRDPGetBytesPerPixel(format2); - const RECTANGLE_16 empty = { 0 }; + const RECTANGLE_16 empty = WINPR_C_ARRAY_INIT; WINPR_ASSERT(rect); *rect = empty; diff --git a/server/shadow/shadow_client.c b/server/shadow/shadow_client.c index 444e4db71..8389c5492 100644 --- a/server/shadow/shadow_client.c +++ b/server/shadow/shadow_client.c @@ -86,7 +86,7 @@ static BOOL BitmapUpdateProxyEx(rdpShadowClient* client, const BITMAP_UPDATE* bi { for (UINT32 x = 0; x < bitmap->number; x++) { - BITMAP_UPDATE cur = { 0 }; + BITMAP_UPDATE cur = WINPR_C_ARRAY_INIT; BITMAP_DATA* bmp = &bitmap->rectangles[x]; cur.rectangles = bmp; cur.number = 1; @@ -181,7 +181,7 @@ WINPR_ATTR_NODISCARD static inline BOOL shadow_client_rdpgfx_reset_graphic(rdpShadowClient* client) { UINT error = CHANNEL_RC_OK; - RDPGFX_RESET_GRAPHICS_PDU pdu = { 0 }; + RDPGFX_RESET_GRAPHICS_PDU pdu = WINPR_C_ARRAY_INIT; RdpgfxServerContext* context = NULL; rdpSettings* settings = NULL; @@ -373,7 +373,7 @@ static inline void shadow_client_mark_invalid(rdpShadowClient* client, UINT32 nu } else { - RECTANGLE_16 screenRegion = { 0 }; + RECTANGLE_16 screenRegion = WINPR_C_ARRAY_INIT; WINPR_ASSERT(freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth) <= UINT16_MAX); WINPR_ASSERT(freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight) <= UINT16_MAX); screenRegion.right = (UINT16)freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth); @@ -398,7 +398,7 @@ static inline BOOL shadow_client_recalc_desktop_size(rdpShadowClient* client) INT32 height = 0; rdpShadowServer* server = NULL; rdpSettings* settings = NULL; - RECTANGLE_16 viewport = { 0 }; + RECTANGLE_16 viewport = WINPR_C_ARRAY_INIT; WINPR_ASSERT(client); server = client->server; @@ -637,7 +637,7 @@ static inline void shadow_client_convert_rects(rdpShadowClient* client, RECTANGL WINPR_ATTR_NODISCARD static BOOL shadow_client_refresh_request(rdpShadowClient* client) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; wMessagePipe* MsgPipe = NULL; WINPR_ASSERT(client); @@ -929,7 +929,7 @@ static BOOL shadow_client_caps_test_version(RdpgfxServerContext* context, rdpSha BOOL avc420 = FALSE; BOOL progressive = FALSE; RDPGFX_CAPSET caps = *currentCaps; - RDPGFX_CAPS_CONFIRM_PDU pdu = { 0 }; + RDPGFX_CAPS_CONFIRM_PDU pdu = WINPR_C_ARRAY_INIT; pdu.capsSet = ∩︀ flags = pdu.capsSet->flags; @@ -1176,10 +1176,10 @@ static BOOL shadow_client_send_surface_gfx(rdpShadowClient* client, const BYTE* const rdpContext* context = (const rdpContext*)client; const rdpSettings* settings = NULL; rdpShadowEncoder* encoder = NULL; - RDPGFX_SURFACE_COMMAND cmd = { 0 }; - RDPGFX_START_FRAME_PDU cmdstart = { 0 }; - RDPGFX_END_FRAME_PDU cmdend = { 0 }; - SYSTEMTIME sTime = { 0 }; + RDPGFX_SURFACE_COMMAND cmd = WINPR_C_ARRAY_INIT; + RDPGFX_START_FRAME_PDU cmdstart = WINPR_C_ARRAY_INIT; + RDPGFX_END_FRAME_PDU cmdend = WINPR_C_ARRAY_INIT; + SYSTEMTIME sTime = WINPR_C_ARRAY_INIT; if (!context || !pSrcData) return FALSE; @@ -1222,8 +1222,8 @@ static BOOL shadow_client_send_surface_gfx(rdpShadowClient* client, const BYTE* if (GfxAVC444 || GfxAVC444v2) { INT32 rc = 0; - RDPGFX_AVC444_BITMAP_STREAM avc444 = { 0 }; - RECTANGLE_16 regionRect = { 0 }; + RDPGFX_AVC444_BITMAP_STREAM avc444 = WINPR_C_ARRAY_INIT; + RECTANGLE_16 regionRect = WINPR_C_ARRAY_INIT; BYTE version = GfxAVC444v2 ? 2 : 1; if (shadow_encoder_prepare(encoder, FREERDP_CODEC_AVC444) < 0) @@ -1272,7 +1272,7 @@ static BOOL shadow_client_send_surface_gfx(rdpShadowClient* client, const BYTE* else if (GfxH264) { INT32 rc = 0; - RDPGFX_AVC420_BITMAP_STREAM avc420 = { 0 }; + RDPGFX_AVC420_BITMAP_STREAM avc420 = WINPR_C_ARRAY_INIT; RECTANGLE_16 regionRect; if (shadow_encoder_prepare(encoder, FREERDP_CODEC_AVC420) < 0) @@ -1543,7 +1543,7 @@ static BOOL shadow_client_send_surface_bits(rdpShadowClient* client, BYTE* pSrcD rdpContext* context = (rdpContext*)client; rdpSettings* settings = NULL; rdpShadowEncoder* encoder = NULL; - SURFACE_BITS_COMMAND cmd = { 0 }; + SURFACE_BITS_COMMAND cmd = WINPR_C_ARRAY_INIT; if (!context || !pSrcData) return FALSE; @@ -1564,7 +1564,7 @@ static BOOL shadow_client_send_surface_bits(rdpShadowClient* client, BYTE* pSrcD if (stream_surface_bits_supported(settings) && freerdp_settings_get_bool(settings, FreeRDP_RemoteFxCodec) && (rfxID != 0)) { - RFX_RECT rect = { 0 }; + RFX_RECT rect = WINPR_C_ARRAY_INIT; if (shadow_encoder_prepare(encoder, FREERDP_CODEC_REMOTEFX) < 0) { @@ -1709,7 +1709,7 @@ static BOOL shadow_client_send_bitmap_update(rdpShadowClient* client, BYTE* pSrc UINT32 totalBitmapSize = 0; UINT32 updateSizeEstimate = 0; BITMAP_DATA* bitmapData = NULL; - BITMAP_UPDATE bitmapUpdate = { 0 }; + BITMAP_UPDATE bitmapUpdate = WINPR_C_ARRAY_INIT; if (!context || !pSrcData) return FALSE; @@ -2213,9 +2213,9 @@ static int shadow_client_subsystem_process_message(rdpShadowClient* client, wMes case SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE_ID: { - POINTER_NEW_UPDATE pointerNew = { 0 }; - POINTER_COLOR_UPDATE* pointerColor = { 0 }; - POINTER_CACHED_UPDATE pointerCached = { 0 }; + POINTER_NEW_UPDATE pointerNew = WINPR_C_ARRAY_INIT; + POINTER_COLOR_UPDATE* pointerColor = WINPR_C_ARRAY_INIT; + POINTER_CACHED_UPDATE pointerCached = WINPR_C_ARRAY_INIT; const SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE* msg = (const SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE*)message->wParam; @@ -2245,7 +2245,7 @@ static int shadow_client_subsystem_process_message(rdpShadowClient* client, wMes } else { - POINTER_SYSTEM_UPDATE pointer_system = { 0 }; + POINTER_SYSTEM_UPDATE pointer_system = WINPR_C_ARRAY_INIT; pointer_system.type = SYSPTR_NULL; if (!IFCALLRESULT(TRUE, update->pointer->PointerSystem, context, &pointer_system)) @@ -2308,10 +2308,10 @@ static DWORD WINAPI shadow_client_thread(LPVOID arg) rdpShadowClient* client = (rdpShadowClient*)arg; BOOL rc = FALSE; DWORD status = 0; - wMessage message = { 0 }; - wMessage pointerPositionMsg = { 0 }; - wMessage pointerAlphaMsg = { 0 }; - wMessage audioVolumeMsg = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; + wMessage pointerPositionMsg = WINPR_C_ARRAY_INIT; + wMessage pointerAlphaMsg = WINPR_C_ARRAY_INIT; + wMessage audioVolumeMsg = WINPR_C_ARRAY_INIT; HANDLE ChannelEvent = 0; void* UpdateSubscriber = NULL; HANDLE UpdateEvent = 0; @@ -2322,7 +2322,7 @@ static DWORD WINAPI shadow_client_thread(LPVOID arg) rdpShadowSubsystem* subsystem = NULL; wMessageQueue* MsgQueue = NULL; /* This should only be visited in client thread */ - SHADOW_GFX_STATUS gfxstatus = { 0 }; + SHADOW_GFX_STATUS gfxstatus = WINPR_C_ARRAY_INIT; rdpUpdate* update = NULL; WINPR_ASSERT(client); @@ -2382,7 +2382,7 @@ static DWORD WINAPI shadow_client_thread(LPVOID arg) WINPR_ASSERT(rc); while (1) { - HANDLE events[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE events[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD nCount = 0; events[nCount++] = UpdateEvent; { @@ -2756,7 +2756,7 @@ static BOOL shadow_client_dispatch_msg(rdpShadowClient* client, wMessage* messag BOOL shadow_client_post_msg(rdpShadowClient* client, void* context, UINT32 type, SHADOW_MSG_OUT* msg, void* lParam) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; message.context = context; message.id = type; message.wParam = (void*)msg; @@ -2768,7 +2768,7 @@ BOOL shadow_client_post_msg(rdpShadowClient* client, void* context, UINT32 type, int shadow_client_boardcast_msg(rdpShadowServer* server, void* context, UINT32 type, SHADOW_MSG_OUT* msg, void* lParam) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; int count = 0; WINPR_ASSERT(server); diff --git a/server/shadow/shadow_lobby.c b/server/shadow/shadow_lobby.c index 36e3a973d..a85f8e619 100644 --- a/server/shadow/shadow_lobby.c +++ b/server/shadow/shadow_lobby.c @@ -32,7 +32,7 @@ BOOL shadow_client_init_lobby(rdpShadowServer* server) { BOOL rc = FALSE; - RECTANGLE_16 invalidRect = { 0 }; + RECTANGLE_16 invalidRect = WINPR_C_ARRAY_INIT; WINPR_ASSERT(server); rdpShadowSurface* lobby = server->lobby; diff --git a/server/shadow/shadow_server.c b/server/shadow/shadow_server.c index ce90cabc2..9703d0121 100644 --- a/server/shadow/shadow_server.c +++ b/server/shadow/shadow_server.c @@ -571,7 +571,7 @@ int shadow_server_parse_command_line(rdpShadowServer* server, int argc, char** a if (arg && (arg->Flags & COMMAND_LINE_ARGUMENT_PRESENT)) { UINT32 numMonitors = 0; - MONITOR_DEF monitors[16] = { 0 }; + MONITOR_DEF monitors[16] = WINPR_C_ARRAY_INIT; numMonitors = shadow_enum_monitors(monitors, 16); if (arg->Flags & COMMAND_LINE_VALUE_PRESENT) @@ -626,7 +626,7 @@ static DWORD WINAPI shadow_server_thread(LPVOID arg) while (running) { - HANDLE events[MAXIMUM_WAIT_OBJECTS] = { 0 }; + HANDLE events[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; DWORD nCount = 0; events[nCount++] = server->StopEvent; nCount += listener->GetEventHandles(listener, &events[nCount], ARRAYSIZE(events) - nCount); diff --git a/server/shadow/shadow_subsystem.c b/server/shadow/shadow_subsystem.c index a09747eed..d756c56f2 100644 --- a/server/shadow/shadow_subsystem.c +++ b/server/shadow/shadow_subsystem.c @@ -46,7 +46,7 @@ static int shadow_subsystem_load_entry_points(RDP_SHADOW_ENTRY_POINTS* pEntryPoi rdpShadowSubsystem* shadow_subsystem_new(void) { - RDP_SHADOW_ENTRY_POINTS ep = { 0 }; + RDP_SHADOW_ENTRY_POINTS ep = WINPR_C_ARRAY_INIT; if (shadow_subsystem_load_entry_points(&ep) < 0) return NULL; diff --git a/uwac/libuwac/uwac-clipboard.c b/uwac/libuwac/uwac-clipboard.c index d22b5bcca..3852fd200 100644 --- a/uwac/libuwac/uwac-clipboard.c +++ b/uwac/libuwac/uwac-clipboard.c @@ -230,7 +230,7 @@ void* UwacClipboardDataGet(UwacSeat* seat, const char* mime, size_t* size) size_t alloc = 0; size_t pos = 0; char* data = NULL; - int pipefd[2] = { 0 }; + int pipefd[2] = WINPR_C_ARRAY_INIT; if (!seat || !mime || !size || !seat->offer) return NULL; diff --git a/uwac/libuwac/uwac-display.c b/uwac/libuwac/uwac-display.c index fe9f232be..5f080cf9a 100644 --- a/uwac/libuwac/uwac-display.c +++ b/uwac/libuwac/uwac-display.c @@ -54,7 +54,7 @@ static const char* event_names[] = { static bool uwac_default_error_handler(UwacDisplay* display, UwacReturnCode code, const char* msg, ...) { - va_list args = { 0 }; + va_list args = WINPR_C_ARRAY_INIT; va_start(args, msg); (void)vfprintf(stderr, "%s", args); va_end(args); @@ -402,7 +402,7 @@ UwacDisplay* UwacOpenDisplay(const char* name, UwacReturnCode* err) if (ret->display == NULL) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; (void)fprintf(stderr, "failed to connect to Wayland display %s: %s\n", name, uwac_strerror(errno, buffer, sizeof(buffer))); *err = UWAC_ERROR_UNABLE_TO_CONNECT; diff --git a/uwac/libuwac/uwac-input.c b/uwac/libuwac/uwac-input.c index c57994633..f339b64a1 100644 --- a/uwac/libuwac/uwac-input.c +++ b/uwac/libuwac/uwac-input.c @@ -77,7 +77,7 @@ static struct wl_buffer* create_pointer_buffer(UwacSeat* seat, const void* src, if (munmap(data, size) < 0) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; (void)fprintf(stderr, "%s: munmap(%p, %zu) failed with [%d] %s\n", __func__, data, size, errno, uwac_strerror(errno, buffer, sizeof(buffer))); } @@ -278,7 +278,7 @@ static void keyboard_handle_enter(void* data, struct wl_keyboard* keyboard, uint static void keyboard_handle_leave(void* data, struct wl_keyboard* keyboard, uint32_t serial, struct wl_surface* surface) { - struct itimerspec its = { 0 }; + struct itimerspec its = WINPR_C_ARRAY_INIT; uint32_t* pressedKey = NULL; size_t i = 0; diff --git a/winpr/include/winpr/platform.h b/winpr/include/winpr/platform.h index 34aaa2a87..7bfe95ccf 100644 --- a/winpr/include/winpr/platform.h +++ b/winpr/include/winpr/platform.h @@ -79,6 +79,14 @@ #define WINPR_FALLTHROUGH (void)0; #endif +#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 202003L)) || defined(__cplusplus) +#define WINPR_C_ARRAY_INIT \ + { \ + } /** @since version 3.24.0 */ +#else +#define WINPR_C_ARRAY_INIT { 0 } /** @since version 3.24.0 */ +#endif + #if defined(WINPR_DEFINE_ATTR_NODISCARD) #if defined(__cplusplus) && (__cplusplus >= 201703L) #define WINPR_ATTR_NODISCARD [[nodiscard]] @@ -105,8 +113,9 @@ #if defined(__clang__) #define WINPR_PRAGMA_DIAG_PUSH WINPR_DO_PRAGMA(clang diagnostic push) -#define WINPR_PRAGMA_DIAG_IGNORED_OVERLENGTH_STRINGS \ - WINPR_DO_PRAGMA(clang diagnostic ignored "-Woverlength-strings") /** @since version 3.9.0 */ +#define WINPR_PRAGMA_DIAG_IGNORED_OVERLENGTH_STRINGS \ + WINPR_DO_PRAGMA(clang diagnostic ignored "-Woverlength-strings") /** @since version 3.9.0 \ + */ #define WINPR_PRAGMA_DIAG_IGNORED_QUALIFIERS /* unsupported by clang WINPR_DO_PRAGMA(clang diagnostic ignored "-Wdiscarded-qualifiers") */ /** @since version 3.9.0 */ #define WINPR_PRAGMA_DIAG_IGNORED_PEDANTIC WINPR_DO_PRAGMA(clang diagnostic ignored "-Wpedantic") @@ -152,10 +161,11 @@ #define WINPR_PRAGMA_DIAG_TAUTOLOGICAL_VALUE_RANGE_COMPARE #endif -#define WINPR_PRAGMA_DIAG_IGNORED_FORMAT_NONLITERAL \ - WINPR_DO_PRAGMA(clang diagnostic ignored "-Wformat-nonliteral") /** @since version 3.9.0 */ -#define WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC /** @since version 3.3.0 */ /* not supported \ - WINPR_DO_PRAGMA(clang diagnostic ignored "-Wmismatched-dealloc") */ +#define WINPR_PRAGMA_DIAG_IGNORED_FORMAT_NONLITERAL \ + WINPR_DO_PRAGMA(clang diagnostic ignored "-Wformat-nonliteral") /** @since version 3.9.0 \ + */ +#define WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC /** @since version 3.3.0 */ /* not \ + supported WINPR_DO_PRAGMA(clang diagnostic ignored "-Wmismatched-dealloc") */ #define WINPR_PRAGMA_DIAG_POP WINPR_DO_PRAGMA(clang diagnostic pop) #define WINPR_PRAGMA_UNROLL_LOOP \ _Pragma("clang loop vectorize_width(8) interleave_count(8)") /** @since version 3.6.0 \ @@ -164,16 +174,18 @@ #define WINPR_PRAGMA_DIAG_PUSH WINPR_DO_PRAGMA(GCC diagnostic push) #define WINPR_PRAGMA_DIAG_IGNORED_OVERLENGTH_STRINGS \ WINPR_DO_PRAGMA(GCC diagnostic ignored "-Woverlength-strings") /** @since version 3.9.0 */ -#define WINPR_PRAGMA_DIAG_IGNORED_QUALIFIERS \ - WINPR_DO_PRAGMA(GCC diagnostic ignored "-Wdiscarded-qualifiers") /** @since version 3.9.0 */ +#define WINPR_PRAGMA_DIAG_IGNORED_QUALIFIERS \ + WINPR_DO_PRAGMA(GCC diagnostic ignored "-Wdiscarded-qualifiers") /** @since version 3.9.0 \ + */ #define WINPR_PRAGMA_DIAG_IGNORED_PEDANTIC WINPR_DO_PRAGMA(GCC diagnostic ignored "-Wpedantic") #define WINPR_PRAGMA_DIAG_IGNORED_MISSING_PROTOTYPES \ WINPR_DO_PRAGMA(GCC diagnostic ignored "-Wmissing-prototypes") #define WINPR_PRAGMA_DIAG_IGNORED_STRICT_PROTOTYPES \ WINPR_DO_PRAGMA(GCC diagnostic ignored "-Wstrict-prototypes") -#define WINPR_PRAGMA_DIAG_IGNORED_RESERVED_ID_MACRO /* not supported WINPR_DO_PRAGMA(GCC \ - diagnostic ignored "-Wreserved-id-macro") \ - */ +#define WINPR_PRAGMA_DIAG_IGNORED_RESERVED_ID_MACRO /* not supported WINPR_DO_PRAGMA(GCC \ + diagnostic ignored \ + "-Wreserved-id-macro") \ + */ #define WINPR_PRAGMA_DIAG_IGNORED_UNUSED_MACRO \ WINPR_DO_PRAGMA(GCC diagnostic ignored "-Wunused-macros") #define WINPR_PRAGMA_DIAG_IGNORED_UNKNOWN_PRAGMAS \ @@ -184,9 +196,9 @@ #define WINPR_PRAGMA_DIAG_IGNORED_RESERVED_IDENTIFIER /* not supported WINPR_DO_PRAGMA(GCC diagnostic ignored "-Wreserved-identifier") */ -#define WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST /* not supported WINPR_DO_PRAGMA(GCC diagnostic \ - ignored \ - "-Watomic-implicit-seq-cst") */ +#define WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST /* not supported WINPR_DO_PRAGMA(GCC \ + diagnostic ignored \ + "-Watomic-implicit-seq-cst") */ #define WINPR_PRAGMA_DIAG_IGNORED_UNUSED_CONST_VAR \ WINPR_DO_PRAGMA(GCC diagnostic ignored "-Wunused-const-variable") #define WINPR_PRAGMA_DIAG_IGNORED_FORMAT_SECURITY \ @@ -221,7 +233,8 @@ #define WINPR_PRAGMA_DIAG_IGNORED_ATOMIC_SEQ_CST #define WINPR_PRAGMA_DIAG_IGNORED_UNUSED_CONST_VAR #define WINPR_PRAGMA_DIAG_IGNORED_FORMAT_SECURITY -#define WINPR_PRAGMA_DIAG_TAUTOLOGICAL_CONSTANT_OUT_OF_RANGE_COMPARE /** @since version 3.9.0 */ +#define WINPR_PRAGMA_DIAG_TAUTOLOGICAL_CONSTANT_OUT_OF_RANGE_COMPARE /** @since version 3.9.0 \ + */ #define WINPR_PRAGMA_DIAG_TAUTOLOGICAL_VALUE_RANGE_COMPARE /** @since version 3.10.0 */ #define WINPR_PRAGMA_DIAG_IGNORED_FORMAT_NONLITERAL /** @since version 3.9.0 */ #define WINPR_PRAGMA_DIAG_IGNORED_MISMATCHED_DEALLOC /** @since version 3.3.0 */ @@ -611,7 +624,7 @@ WINPR_PRAGMA_DIAG_POP [[gnu::malloc, nodiscard]] /** @since version 3.3.0 */ #else #define WINPR_ATTR_MALLOC(deallocator, ptrindex) \ - [[gnu::malloc, nodiscard]] /** @since version 3.3.0 */ + __attribute__((malloc, warn_unused_result)) /** @since version 3.3.0 */ #endif #elif defined(__GNUC__) && (__GNUC__ > 10) #if defined(__cplusplus) && (__cplusplus >= 201703L) diff --git a/winpr/include/winpr/pool.h b/winpr/include/winpr/pool.h index 41531be75..478282f2b 100644 --- a/winpr/include/winpr/pool.h +++ b/winpr/include/winpr/pool.h @@ -249,7 +249,7 @@ extern "C" static inline VOID InitializeThreadpoolEnvironment(PTP_CALLBACK_ENVIRON pcbe) { - const TP_CALLBACK_ENVIRON empty = { 0 }; + const TP_CALLBACK_ENVIRON empty = WINPR_C_ARRAY_INIT; *pcbe = empty; pcbe->Version = 1; } diff --git a/winpr/include/winpr/wlog.h b/winpr/include/winpr/wlog.h index 765822187..35d2e5016 100644 --- a/winpr/include/winpr/wlog.h +++ b/winpr/include/winpr/wlog.h @@ -273,11 +273,7 @@ extern "C" if (WLog_IsLevelActive(log_cached_ptr, log_level)) { -#if defined(__cplusplus) - va_list ap = {}; -#else - va_list ap = { 0 }; -#endif + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap); va_end(ap); diff --git a/winpr/libwinpr/clipboard/synthetic.c b/winpr/libwinpr/clipboard/synthetic.c index f92654fe9..f95ce5f02 100644 --- a/winpr/libwinpr/clipboard/synthetic.c +++ b/winpr/libwinpr/clipboard/synthetic.c @@ -314,8 +314,8 @@ static void* clipboard_synthesize_cf_dib(wClipboard* clipboard, UINT32 formatId, #endif if (is_format_bitmap(clipboard, formatId)) { - WINPR_BITMAP_FILE_HEADER pFileHeader = { 0 }; - wStream sbuffer = { 0 }; + WINPR_BITMAP_FILE_HEADER pFileHeader = WINPR_C_ARRAY_INIT; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, data, SrcSize); if (!readBitmapFileHeader(s, &pFileHeader)) return NULL; @@ -408,7 +408,7 @@ static void* clipboard_prepend_bmp_header(const WINPR_BITMAP_INFO_HEADER* pInfoH if (!s) return NULL; - WINPR_BITMAP_FILE_HEADER fileHeader = { 0 }; + WINPR_BITMAP_FILE_HEADER fileHeader = WINPR_C_ARRAY_INIT; fileHeader.bfType[0] = 'B'; fileHeader.bfType[1] = 'M'; fileHeader.bfSize = (UINT32)DstSize; @@ -455,9 +455,9 @@ static void* clipboard_synthesize_image_bmp(WINPR_ATTR_UNUSED wClipboard* clipbo if (SrcSize < sizeof(BITMAPINFOHEADER)) return NULL; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; size_t offset = 0; - WINPR_BITMAP_INFO_HEADER header = { 0 }; + WINPR_BITMAP_INFO_HEADER header = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, data, SrcSize); if (!readBitmapInfoHeader(s, &header, &offset)) return NULL; @@ -638,7 +638,7 @@ static void* clipboard_synthesize_html_format(wClipboard* clipboard, UINT32 form const size_t SrcSize = (size_t)*pSize; const size_t DstSize = SrcSize + 200; char* body = NULL; - char num[20] = { 0 }; + char num[20] = WINPR_C_ARRAY_INIT; /* Create a copy, we modify the input data */ pSrcData.pv = calloc(1, SrcSize + 1); @@ -739,7 +739,7 @@ static char* html_pre_write(wStream* s, const char* what) static void html_fill_number(char* pos, size_t val) { - char str[11] = { 0 }; + char str[11] = WINPR_C_ARRAY_INIT; (void)_snprintf(str, sizeof(str), "%010" PRIuz, val); memcpy(pos, str, 10); } diff --git a/winpr/libwinpr/clipboard/synthetic_file.c b/winpr/libwinpr/clipboard/synthetic_file.c index 0793daf39..04165457f 100644 --- a/winpr/libwinpr/clipboard/synthetic_file.c +++ b/winpr/libwinpr/clipboard/synthetic_file.c @@ -74,7 +74,7 @@ void free_synthetic_file(struct synthetic_file* file); static struct synthetic_file* make_synthetic_file(const WCHAR* local_name, const WCHAR* remote_name) { struct synthetic_file* file = NULL; - WIN32_FIND_DATAW fd = { 0 }; + WIN32_FIND_DATAW fd = WINPR_C_ARRAY_INIT; HANDLE hFind = NULL; WINPR_ASSERT(local_name); @@ -158,7 +158,7 @@ static WCHAR* convert_local_name_component_to_remote(wClipboard* clipboard, cons */ if (!delegate->IsFileNameComponentValid(remote_name)) { - char name[MAX_PATH] = { 0 }; + char name[MAX_PATH] = WINPR_C_ARRAY_INIT; ConvertWCharToUtf8(local_name, name, sizeof(name) - 1); WLog_ERR(TAG, "invalid file name component: %s", name); goto error; @@ -205,8 +205,8 @@ static BOOL add_directory_entry_to_list(wClipboard* clipboard, const WCHAR* loca WCHAR* remote_name = NULL; WCHAR* remote_base_name = NULL; - WCHAR dotbuffer[6] = { 0 }; - WCHAR dotdotbuffer[6] = { 0 }; + WCHAR dotbuffer[6] = WINPR_C_ARRAY_INIT; + WCHAR dotdotbuffer[6] = WINPR_C_ARRAY_INIT; const WCHAR* dot = InitializeConstWCharFromUtf8(".", dotbuffer, ARRAYSIZE(dotbuffer)); const WCHAR* dotdot = InitializeConstWCharFromUtf8("..", dotdotbuffer, ARRAYSIZE(dotdotbuffer)); @@ -248,7 +248,7 @@ static BOOL do_add_directory_contents_to_list(wClipboard* clipboard, const WCHAR WINPR_ASSERT(files); WINPR_ASSERT(namebuf); - WIN32_FIND_DATAW FindData = { 0 }; + WIN32_FIND_DATAW FindData = WINPR_C_ARRAY_INIT; HANDLE hFind = FindFirstFileW(namebuf, &FindData); if (INVALID_HANDLE_VALUE == hFind) { @@ -728,7 +728,7 @@ static void* convert_filedescriptors_to_file_list(wClipboard* clipboard, UINT32 if (baseLength < 1) return NULL; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, data, *pSize); if (!Stream_CheckAndLogRequiredLength(TAG, s, 4)) return NULL; @@ -785,7 +785,7 @@ static void* convert_filedescriptors_to_file_list(wClipboard* clipboard, UINT32 continue; } int rc = -1; - char curName[520] = { 0 }; + char curName[520] = WINPR_C_ARRAY_INIT; const char* stop_at = NULL; const char* previous_at = NULL; @@ -1067,13 +1067,13 @@ static UINT file_get_range(struct synthetic_file* file, UINT64 offset, UINT32 si if (INVALID_HANDLE_VALUE == file->fd) { - BY_HANDLE_FILE_INFORMATION FileInfo = { 0 }; + BY_HANDLE_FILE_INFORMATION FileInfo = WINPR_C_ARRAY_INIT; file->fd = CreateFileW(file->local_name, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (INVALID_HANDLE_VALUE == file->fd) { - char name[MAX_PATH] = { 0 }; + char name[MAX_PATH] = WINPR_C_ARRAY_INIT; ConvertWCharToUtf8(file->local_name, name, sizeof(name) - 1); error = GetLastError(); WLog_ERR(TAG, "failed to open file %s: 0x%08" PRIx32, name, error); @@ -1082,7 +1082,7 @@ static UINT file_get_range(struct synthetic_file* file, UINT64 offset, UINT32 si if (!GetFileInformationByHandle(file->fd, &FileInfo)) { - char name[MAX_PATH] = { 0 }; + char name[MAX_PATH] = WINPR_C_ARRAY_INIT; ConvertWCharToUtf8(file->local_name, name, sizeof(name) - 1); (void)CloseHandle(file->fd); file->fd = INVALID_HANDLE_VALUE; diff --git a/winpr/libwinpr/comm/comm.c b/winpr/libwinpr/comm/comm.c index 5c7ca262a..d1b3ef4cb 100644 --- a/winpr/libwinpr/comm/comm.c +++ b/winpr/libwinpr/comm/comm.c @@ -68,7 +68,7 @@ typedef struct comm_device COMM_DEVICE; /* _CommDevices is a NULL-terminated array with a maximum of COMM_DEVICE_MAX COMM_DEVICE */ #define COMM_DEVICE_MAX 128 static COMM_DEVICE** sCommDevices = NULL; -static CRITICAL_SECTION sCommDevicesLock = { 0 }; +static CRITICAL_SECTION sCommDevicesLock = WINPR_C_ARRAY_INIT; static pthread_once_t sCommInitialized = PTHREAD_ONCE_INIT; @@ -205,7 +205,7 @@ void CommLog_PrintEx(DWORD level, const char* file, size_t line, const char* fkt if (!WLog_IsLevelActive(sLog, level)) return; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); WLog_PrintTextMessageVA(sLog, level, line, file, fkt, fmt, ap); va_end(ap); @@ -510,7 +510,7 @@ BOOL GetCommState(HANDLE hFile, LPDCB lpDCB) lpLocalDcb->XoffLim = WINPR_ASSERTING_INT_CAST(WORD, handflow.XoffLimit); { - SERIAL_LINE_CONTROL lineControl = { 0 }; + SERIAL_LINE_CONTROL lineControl = WINPR_C_ARRAY_INIT; if (!CommDeviceIoControl(pComm, IOCTL_SERIAL_GET_LINE_CONTROL, NULL, 0, &lineControl, sizeof(SERIAL_LINE_CONTROL), &bytesReturned, NULL)) @@ -525,7 +525,7 @@ BOOL GetCommState(HANDLE hFile, LPDCB lpDCB) } { - SERIAL_CHARS serialChars = { 0 }; + SERIAL_CHARS serialChars = WINPR_C_ARRAY_INIT; if (!CommDeviceIoControl(pComm, IOCTL_SERIAL_GET_CHARS, NULL, 0, &serialChars, sizeof(SERIAL_CHARS), &bytesReturned, NULL)) @@ -561,7 +561,7 @@ error_handle: */ BOOL SetCommState(HANDLE hFile, LPDCB lpDCB) { - struct termios upcomingTermios = { 0 }; + struct termios upcomingTermios = WINPR_C_ARRAY_INIT; WINPR_COMM* pComm = (WINPR_COMM*)hFile; DWORD bytesReturned = 0; @@ -624,7 +624,7 @@ BOOL SetCommState(HANDLE hFile, LPDCB lpDCB) return FALSE; } - SERIAL_HANDFLOW handflow = { 0 }; + SERIAL_HANDFLOW handflow = WINPR_C_ARRAY_INIT; if (lpDCB->fOutxCtsFlow) { @@ -1262,10 +1262,10 @@ HANDLE CommCreateFileA(LPCSTR lpDeviceName, DWORD dwDesiredAccess, DWORD dwShare LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) { - CHAR devicePath[MAX_PATH] = { 0 }; - struct stat deviceStat = { 0 }; + CHAR devicePath[MAX_PATH] = WINPR_C_ARRAY_INIT; + struct stat deviceStat = WINPR_C_ARRAY_INIT; WINPR_COMM* pComm = NULL; - struct termios upcomingTermios = { 0 }; + struct termios upcomingTermios = WINPR_C_ARRAY_INIT; if (!CommInitialized()) return INVALID_HANDLE_VALUE; @@ -1808,7 +1808,7 @@ static BOOL CommStatusErrorEx(WINPR_COMM* pComm, unsigned long int ctl, const ch WINPR_ASSERT(pComm); BOOL rc = pComm->permissive ? TRUE : FALSE; const DWORD level = rc ? WLOG_DEBUG : WLOG_WARN; - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; const char* str = CommIoCtlToStr(ctl); if (CommInitialized()) @@ -1920,7 +1920,7 @@ const char* CommSerialEvString(ULONG status, char* buffer, size_t size) } } - char number[32] = { 0 }; + char number[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(number, sizeof(number), "}[0x%08" PRIx32 "]", status); winpr_str_append(number, buffer, size, ""); return buffer; diff --git a/winpr/libwinpr/comm/comm_io.c b/winpr/libwinpr/comm/comm_io.c index 05517fedd..b8a68b74d 100644 --- a/winpr/libwinpr/comm/comm_io.c +++ b/winpr/libwinpr/comm/comm_io.c @@ -245,7 +245,7 @@ BOOL CommReadFile(HANDLE hDevice, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, if (nbFds < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "select() failure, errno=[%d] %s\n", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); SetLastError(ERROR_IO_DEVICE); @@ -275,7 +275,7 @@ BOOL CommReadFile(HANDLE hDevice, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, } else { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "unexpected error on reading fd_read_event, errno=[%d] %s\n", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); @@ -301,7 +301,7 @@ BOOL CommReadFile(HANDLE hDevice, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, if ((nbRead < 0) || (nbRead > nNumberOfBytesToRead)) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "CommReadFile failed, ReadIntervalTimeout=%" PRIu32 ", ReadTotalTimeoutMultiplier=%" PRIu32 @@ -455,7 +455,7 @@ BOOL CommWriteFile(HANDLE hDevice, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite if (nbFds < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "select() failure, errno=[%d] %s\n", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); SetLastError(ERROR_IO_DEVICE); @@ -485,7 +485,7 @@ BOOL CommWriteFile(HANDLE hDevice, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite } else { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "unexpected error on reading fd_write_event, errno=[%d] %s\n", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); @@ -516,7 +516,7 @@ BOOL CommWriteFile(HANDLE hDevice, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite if (nbWritten < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "CommWriteFile failed after %" PRIu32 " bytes written, errno=[%d] %s\n", diff --git a/winpr/libwinpr/comm/comm_ioctl.c b/winpr/libwinpr/comm/comm_ioctl.c index 5e4bd594d..89ae87eb3 100644 --- a/winpr/libwinpr/comm/comm_ioctl.c +++ b/winpr/libwinpr/comm/comm_ioctl.c @@ -54,7 +54,7 @@ static BOOL s_CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped) { - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; WINPR_COMM* pComm = (WINPR_COMM*)hDevice; const SERIAL_DRIVER* pServerSerialDriver = NULL; @@ -679,14 +679,14 @@ BOOL CommDeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffe int comm_ioctl_tcsetattr(int fd, int optional_actions, const struct termios* termios_p) { - struct termios currentState = { 0 }; + struct termios currentState = WINPR_C_ARRAY_INIT; size_t count = 0; do { const int src = tcsetattr(fd, optional_actions, termios_p); if (src < 0) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "[%" PRIuz "] tcsetattr failure, errno: %s [%d]", count, winpr_strerror(errno, buffer, sizeof(buffer)), errno); return src; @@ -696,7 +696,7 @@ int comm_ioctl_tcsetattr(int fd, int optional_actions, const struct termios* ter const int rrc = tcgetattr(fd, ¤tState); if (rrc < 0) { - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "[%" PRIuz "] tcgetattr failure, errno: %s [%d]", count, winpr_strerror(errno, buffer, sizeof(buffer)), errno); return rrc; @@ -751,7 +751,7 @@ const char* comm_ioctl_modem_status_string(ULONG status, char* buffer, size_t si } } - char number[32] = { 0 }; + char number[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(number, sizeof(number), "}[0x%08" PRIx32 "]", status); winpr_str_append(number, buffer, size, ""); return buffer; diff --git a/winpr/libwinpr/comm/comm_serial_sys.c b/winpr/libwinpr/comm/comm_serial_sys.c index 295456bc7..4439a5995 100644 --- a/winpr/libwinpr/comm/comm_serial_sys.c +++ b/winpr/libwinpr/comm/comm_serial_sys.c @@ -196,7 +196,7 @@ static const char* get_modem_status_str(int status, char* buffer, size_t size) } } - char number[32] = { 0 }; + char number[32] = WINPR_C_ARRAY_INIT; (void)_snprintf(number, sizeof(number), "}[0x%08x]", (unsigned)status); winpr_str_append(number, buffer, size, ""); return buffer; @@ -270,7 +270,7 @@ static BOOL get_properties(WINPR_ATTR_UNUSED WINPR_COMM* pComm, COMMPROP* pPrope static BOOL set_baud_rate(WINPR_COMM* pComm, const SERIAL_BAUD_RATE* pBaudRate) { speed_t newSpeed = 0; - struct termios futureState = { 0 }; + struct termios futureState = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); WINPR_ASSERT(pBaudRate); @@ -316,7 +316,7 @@ static BOOL set_baud_rate(WINPR_COMM* pComm, const SERIAL_BAUD_RATE* pBaudRate) static BOOL get_baud_rate(WINPR_COMM* pComm, SERIAL_BAUD_RATE* pBaudRate) { speed_t currentSpeed = 0; - struct termios currentState = { 0 }; + struct termios currentState = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); WINPR_ASSERT(pBaudRate); @@ -356,7 +356,7 @@ static BOOL get_baud_rate(WINPR_COMM* pComm, SERIAL_BAUD_RATE* pBaudRate) static BOOL set_serial_chars(WINPR_COMM* pComm, const SERIAL_CHARS* pSerialChars) { BOOL result = TRUE; - struct termios upcomingTermios = { 0 }; + struct termios upcomingTermios = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); WINPR_ASSERT(pSerialChars); @@ -429,7 +429,7 @@ static BOOL set_serial_chars(WINPR_COMM* pComm, const SERIAL_CHARS* pSerialChars static BOOL get_serial_chars(WINPR_COMM* pComm, SERIAL_CHARS* pSerialChars) { - struct termios currentTermios = { 0 }; + struct termios currentTermios = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); WINPR_ASSERT(pSerialChars); @@ -461,7 +461,7 @@ static BOOL get_serial_chars(WINPR_COMM* pComm, SERIAL_CHARS* pSerialChars) static BOOL set_line_control(WINPR_COMM* pComm, const SERIAL_LINE_CONTROL* pLineControl) { BOOL result = TRUE; - struct termios upcomingTermios = { 0 }; + struct termios upcomingTermios = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); WINPR_ASSERT(pLineControl); @@ -577,7 +577,7 @@ static BOOL set_line_control(WINPR_COMM* pComm, const SERIAL_LINE_CONTROL* pLine static BOOL get_line_control(WINPR_COMM* pComm, SERIAL_LINE_CONTROL* pLineControl) { - struct termios currentTermios = { 0 }; + struct termios currentTermios = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); WINPR_ASSERT(pLineControl); @@ -626,7 +626,7 @@ static BOOL get_line_control(WINPR_COMM* pComm, SERIAL_LINE_CONTROL* pLineContro static BOOL set_handflow(WINPR_COMM* pComm, const SERIAL_HANDFLOW* pHandflow) { BOOL result = TRUE; - struct termios upcomingTermios = { 0 }; + struct termios upcomingTermios = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); WINPR_ASSERT(pHandflow); @@ -810,7 +810,7 @@ static BOOL set_handflow(WINPR_COMM* pComm, const SERIAL_HANDFLOW* pHandflow) static BOOL get_handflow(WINPR_COMM* pComm, SERIAL_HANDFLOW* pHandflow) { - struct termios currentTermios = { 0 }; + struct termios currentTermios = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); WINPR_ASSERT(pHandflow); @@ -941,7 +941,7 @@ static BOOL clear_lines(WINPR_COMM* pComm, UINT32 lines) static BOOL set_dtr(WINPR_COMM* pComm) { - SERIAL_HANDFLOW handflow = { 0 }; + SERIAL_HANDFLOW handflow = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); if (!get_handflow(pComm, &handflow)) @@ -961,7 +961,7 @@ static BOOL set_dtr(WINPR_COMM* pComm) static BOOL clear_dtr(WINPR_COMM* pComm) { - SERIAL_HANDFLOW handflow = { 0 }; + SERIAL_HANDFLOW handflow = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); if (!get_handflow(pComm, &handflow)) @@ -981,7 +981,7 @@ static BOOL clear_dtr(WINPR_COMM* pComm) static BOOL set_rts(WINPR_COMM* pComm) { - SERIAL_HANDFLOW handflow = { 0 }; + SERIAL_HANDFLOW handflow = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); if (!get_handflow(pComm, &handflow)) @@ -998,7 +998,7 @@ static BOOL set_rts(WINPR_COMM* pComm) static BOOL clear_rts(WINPR_COMM* pComm) { - SERIAL_HANDFLOW handflow = { 0 }; + SERIAL_HANDFLOW handflow = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); if (!get_handflow(pComm, &handflow)) return FALSE; @@ -1019,7 +1019,7 @@ static BOOL get_raw_modemstatus(WINPR_COMM* pComm, int* pRegister) const BOOL rc = CommIoCtl(pComm, TIOCMGET, pRegister); - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_DEBUG, "status %s", get_modem_status_str(*pRegister, buffer, sizeof(buffer))); return rc; @@ -1190,7 +1190,7 @@ static BOOL purge(WINPR_COMM* pComm, const ULONG* pPurgeMask) { if (errno != EAGAIN) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "eventfd_write failed, errno=[%d] %s", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); } @@ -1208,7 +1208,7 @@ static BOOL purge(WINPR_COMM* pComm, const ULONG* pPurgeMask) { if (errno != EAGAIN) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "eventfd_write failed, errno=[%d] %s", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); } @@ -1224,7 +1224,7 @@ static BOOL purge(WINPR_COMM* pComm, const ULONG* pPurgeMask) if (tcflush(pComm->fd, TCOFLUSH) < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "tcflush(TCOFLUSH) failure, errno=[%d] %s", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); SetLastError(ERROR_CANCELLED); @@ -1238,7 +1238,7 @@ static BOOL purge(WINPR_COMM* pComm, const ULONG* pPurgeMask) if (tcflush(pComm->fd, TCIFLUSH) < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "tcflush(TCIFLUSH) failure, errno=[%d] %s", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); SetLastError(ERROR_CANCELLED); @@ -1258,7 +1258,7 @@ static BOOL get_commstatus(WINPR_COMM* pComm, SERIAL_STATUS* pCommstatus) BOOL rc = FALSE; /* http://msdn.microsoft.com/en-us/library/jj673022%28v=vs.85%29.aspx */ #if defined(WINPR_HAVE_COMM_COUNTERS) - struct serial_icounter_struct currentCounters = { 0 }; + struct serial_icounter_struct currentCounters = WINPR_C_ARRAY_INIT; #endif WINPR_ASSERT(pComm); WINPR_ASSERT(pCommstatus); @@ -1419,7 +1419,7 @@ fail: static BOOL refresh_PendingEvents(WINPR_COMM* pComm) { - SERIAL_STATUS serialStatus = { 0 }; + SERIAL_STATUS serialStatus = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pComm); @@ -1537,7 +1537,7 @@ static BOOL set_xoff(WINPR_COMM* pComm) // NOLINTNEXTLINE(concurrency-mt-unsafe) if (tcflow(pComm->fd, TCIOFF) < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "TCIOFF failure, errno=[%d] %s", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); SetLastError(ERROR_IO_DEVICE); @@ -1553,7 +1553,7 @@ static BOOL set_xon(WINPR_COMM* pComm) // NOLINTNEXTLINE(concurrency-mt-unsafe) if (tcflow(pComm->fd, TCION) < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; CommLog_Print(WLOG_WARN, "TCION failure, errno=[%d] %s", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); SetLastError(ERROR_IO_DEVICE); diff --git a/winpr/libwinpr/comm/test/TestCommConfig.c b/winpr/libwinpr/comm/test/TestCommConfig.c index fcba6efbc..27c4ccbcd 100644 --- a/winpr/libwinpr/comm/test/TestCommConfig.c +++ b/winpr/libwinpr/comm/test/TestCommConfig.c @@ -28,11 +28,11 @@ int TestCommConfig(int argc, char* argv[]) { - DCB dcb = { 0 }; + DCB dcb = WINPR_C_ARRAY_INIT; BOOL success = FALSE; LPCSTR lpFileName = "\\\\.\\COM1"; - COMMPROP commProp = { 0 }; - struct stat statbuf = { 0 }; + COMMPROP commProp = WINPR_C_ARRAY_INIT; + struct stat statbuf = WINPR_C_ARRAY_INIT; HANDLE hComm = CreateFileA(lpFileName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); diff --git a/winpr/libwinpr/comm/test/TestCommDevice.c b/winpr/libwinpr/comm/test/TestCommDevice.c index 370fdb03d..c3113b724 100644 --- a/winpr/libwinpr/comm/test/TestCommDevice.c +++ b/winpr/libwinpr/comm/test/TestCommDevice.c @@ -24,7 +24,7 @@ static int test_CommDevice(LPCTSTR lpDeviceName, BOOL expectedResult) { - TCHAR lpTargetPath[MAX_PATH] = { 0 }; + TCHAR lpTargetPath[MAX_PATH] = WINPR_C_ARRAY_INIT; BOOL result = DefineCommDevice(lpDeviceName, _T("/dev/test")); if ((!expectedResult && result) || (expectedResult && !result)) /* logical XOR */ diff --git a/winpr/libwinpr/comm/test/TestCommMonitor.c b/winpr/libwinpr/comm/test/TestCommMonitor.c index 33c722df9..be5584c7b 100644 --- a/winpr/libwinpr/comm/test/TestCommMonitor.c +++ b/winpr/libwinpr/comm/test/TestCommMonitor.c @@ -11,7 +11,7 @@ int TestCommMonitor(int argc, char* argv[]) DWORD dwError = 0; BOOL fSuccess = 0; DWORD dwEvtMask = 0; - OVERLAPPED overlapped = { 0 }; + OVERLAPPED overlapped = WINPR_C_ARRAY_INIT; LPCSTR lpFileName = "\\\\.\\COM1"; hComm = CreateFileA(lpFileName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, diff --git a/winpr/libwinpr/comm/test/TestControlSettings.c b/winpr/libwinpr/comm/test/TestControlSettings.c index 1a1ad269b..8a5ec4555 100644 --- a/winpr/libwinpr/comm/test/TestControlSettings.c +++ b/winpr/libwinpr/comm/test/TestControlSettings.c @@ -28,10 +28,10 @@ int TestControlSettings(int argc, char* argv[]) { - struct stat statbuf = { 0 }; + struct stat statbuf = WINPR_C_ARRAY_INIT; BOOL result = 0; HANDLE hComm = NULL; - DCB dcb = { 0 }; + DCB dcb = WINPR_C_ARRAY_INIT; if (stat("/dev/ttyS0", &statbuf) < 0) { diff --git a/winpr/libwinpr/comm/test/TestGetCommState.c b/winpr/libwinpr/comm/test/TestGetCommState.c index 914911053..b820374b6 100644 --- a/winpr/libwinpr/comm/test/TestGetCommState.c +++ b/winpr/libwinpr/comm/test/TestGetCommState.c @@ -27,7 +27,7 @@ static BOOL test_generic(HANDLE hComm) { - DCB dcb = { 0 }; + DCB dcb = WINPR_C_ARRAY_INIT; DCB* pDcb = NULL; BOOL result = 0; @@ -77,7 +77,7 @@ static BOOL test_generic(HANDLE hComm) int TestGetCommState(int argc, char* argv[]) { - struct stat statbuf = { 0 }; + struct stat statbuf = WINPR_C_ARRAY_INIT; BOOL result = 0; HANDLE hComm = NULL; diff --git a/winpr/libwinpr/comm/test/TestHandflow.c b/winpr/libwinpr/comm/test/TestHandflow.c index 6e7f7330f..531ef0ed9 100644 --- a/winpr/libwinpr/comm/test/TestHandflow.c +++ b/winpr/libwinpr/comm/test/TestHandflow.c @@ -37,7 +37,7 @@ static BOOL test_SerialSys(HANDLE hComm) int TestHandflow(int argc, char* argv[]) { - struct stat statbuf = { 0 }; + struct stat statbuf = WINPR_C_ARRAY_INIT; BOOL result = 0; HANDLE hComm = NULL; diff --git a/winpr/libwinpr/comm/test/TestSerialChars.c b/winpr/libwinpr/comm/test/TestSerialChars.c index aebcbfce3..9d024aee5 100644 --- a/winpr/libwinpr/comm/test/TestSerialChars.c +++ b/winpr/libwinpr/comm/test/TestSerialChars.c @@ -31,11 +31,11 @@ static BOOL test_SerCxSys(HANDLE hComm) { - DCB dcb = { 0 }; + DCB dcb = WINPR_C_ARRAY_INIT; UCHAR XonChar = 0; UCHAR XoffChar = 0; - struct termios currentTermios = { 0 }; + struct termios currentTermios = WINPR_C_ARRAY_INIT; if (tcgetattr(((WINPR_COMM*)hComm)->fd, ¤tTermios) < 0) { @@ -111,7 +111,7 @@ static BOOL test_SerCxSys(HANDLE hComm) static BOOL test_SerCx2Sys(HANDLE hComm) { - DCB dcb = { 0 }; + DCB dcb = WINPR_C_ARRAY_INIT; dcb.DCBlength = sizeof(DCB); if (!GetCommState(hComm, &dcb)) @@ -132,7 +132,7 @@ static BOOL test_SerCx2Sys(HANDLE hComm) int TestSerialChars(int argc, char* argv[]) { - struct stat statbuf = { 0 }; + struct stat statbuf = WINPR_C_ARRAY_INIT; BOOL result = 0; HANDLE hComm = NULL; diff --git a/winpr/libwinpr/comm/test/TestSetCommState.c b/winpr/libwinpr/comm/test/TestSetCommState.c index 5b5d298d5..aafdd083a 100644 --- a/winpr/libwinpr/comm/test/TestSetCommState.c +++ b/winpr/libwinpr/comm/test/TestSetCommState.c @@ -37,7 +37,7 @@ static void init_empty_dcb(DCB* pDcb) static BOOL test_fParity(HANDLE hComm) { - DCB dcb = { 0 }; + DCB dcb = WINPR_C_ARRAY_INIT; BOOL result = 0; init_empty_dcb(&dcb); @@ -122,7 +122,7 @@ static BOOL test_fParity(HANDLE hComm) static BOOL test_SerialSys(HANDLE hComm) { - DCB dcb = { 0 }; + DCB dcb = WINPR_C_ARRAY_INIT; BOOL result = 0; init_empty_dcb(&dcb); @@ -208,8 +208,8 @@ static BOOL test_SerCx2Sys(HANDLE hComm) static BOOL test_generic(HANDLE hComm) { - DCB dcb = { 0 }; - DCB dcb2 = { 0 }; + DCB dcb = WINPR_C_ARRAY_INIT; + DCB dcb2 = WINPR_C_ARRAY_INIT; BOOL result = 0; init_empty_dcb(&dcb); @@ -259,7 +259,7 @@ static BOOL test_generic(HANDLE hComm) int TestSetCommState(int argc, char* argv[]) { - struct stat statbuf = { 0 }; + struct stat statbuf = WINPR_C_ARRAY_INIT; BOOL result = 0; HANDLE hComm = NULL; diff --git a/winpr/libwinpr/comm/test/TestTimeouts.c b/winpr/libwinpr/comm/test/TestTimeouts.c index 76a5dec24..d4aa0329e 100644 --- a/winpr/libwinpr/comm/test/TestTimeouts.c +++ b/winpr/libwinpr/comm/test/TestTimeouts.c @@ -31,8 +31,8 @@ static BOOL test_generic(HANDLE hComm) { - COMMTIMEOUTS timeouts = { 0 }; - COMMTIMEOUTS timeouts2 = { 0 }; + COMMTIMEOUTS timeouts = WINPR_C_ARRAY_INIT; + COMMTIMEOUTS timeouts2 = WINPR_C_ARRAY_INIT; timeouts.ReadIntervalTimeout = 1; timeouts.ReadTotalTimeoutMultiplier = 2; diff --git a/winpr/libwinpr/credentials/credentials.c b/winpr/libwinpr/credentials/credentials.c index d1c28cb27..0b6bebbce 100644 --- a/winpr/libwinpr/credentials/credentials.c +++ b/winpr/libwinpr/credentials/credentials.c @@ -192,8 +192,8 @@ BOOL CredMarshalCredentialA(CRED_MARSHAL_TYPE CredType, PVOID Credential, { case CertCredential: { - char buffer[3ULL + (sizeof(cert->rgbHashOfCert) * 4 / 3) + - 1ULL /* rounding error */] = { 0 }; + char buffer[3ULL + (sizeof(cert->rgbHashOfCert) * 4 / 3) + 1ULL /* rounding error */] = + WINPR_C_ARRAY_INIT; const char c = WINPR_ASSERTING_INT_CAST(char, 'A' + CredType); (void)_snprintf(buffer, sizeof(buffer), "@@%c", c); @@ -247,7 +247,7 @@ BOOL CredUnmarshalCredentialA(LPCSTR cred, PCRED_MARSHAL_TYPE CredType, PVOID* C { case CertCredential: { - BYTE hash[CERT_HASH_LENGTH] = { 0 }; + BYTE hash[CERT_HASH_LENGTH] = WINPR_C_ARRAY_INIT; if ((len != 30) || !cred_decode(&cred[3], len - 3, hash)) { diff --git a/winpr/libwinpr/crt/string.c b/winpr/libwinpr/crt/string.c index 0e4bbb638..8947ca384 100644 --- a/winpr/libwinpr/crt/string.c +++ b/winpr/libwinpr/crt/string.c @@ -173,7 +173,7 @@ BOOL winpr_str_append(const char* what, char* buffer, size_t size, const char* s WINPR_ATTR_FORMAT_ARG(3, 4) int winpr_asprintf(char** s, size_t* slen, WINPR_FORMAT_ARG const char* templ, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, templ); int rc = winpr_vasprintf(s, slen, templ, ap); @@ -184,7 +184,7 @@ int winpr_asprintf(char** s, size_t* slen, WINPR_FORMAT_ARG const char* templ, . WINPR_ATTR_FORMAT_ARG(3, 0) int winpr_vasprintf(char** s, size_t* slen, WINPR_FORMAT_ARG const char* templ, va_list oap) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; *s = NULL; *slen = 0; diff --git a/winpr/libwinpr/crt/test/TestString.c b/winpr/libwinpr/crt/test/TestString.c index e77bf02da..b7a979300 100644 --- a/winpr/libwinpr/crt/test/TestString.c +++ b/winpr/libwinpr/crt/test/TestString.c @@ -121,7 +121,7 @@ int TestString(int argc, char* argv[]) return -1; /* _wcslen */ - WCHAR testStringW[ARRAYSIZE(testStringA)] = { 0 }; + WCHAR testStringW[ARRAYSIZE(testStringA)] = WINPR_C_ARRAY_INIT; (void)ConvertUtf8NToWChar(testStringA, ARRAYSIZE(testStringA), testStringW, ARRAYSIZE(testStringW)); const size_t testStringW_Length = testStringA_Length; @@ -171,15 +171,15 @@ int TestString(int argc, char* argv[]) } /* wcstok_s */ - WCHAR testDelimiterW[ARRAYSIZE(testDelimiterA)] = { 0 }; - WCHAR testTokensW[ARRAYSIZE(testTokensA)] = { 0 }; + WCHAR testDelimiterW[ARRAYSIZE(testDelimiterA)] = WINPR_C_ARRAY_INIT; + WCHAR testTokensW[ARRAYSIZE(testTokensA)] = WINPR_C_ARRAY_INIT; (void)ConvertUtf8NToWChar(testTokensA, ARRAYSIZE(testTokensA), testTokensW, ARRAYSIZE(testTokensW)); (void)ConvertUtf8NToWChar(testDelimiterA, ARRAYSIZE(testDelimiterA), testDelimiterW, ARRAYSIZE(testDelimiterW)); p = wcstok_s(testTokensW, testDelimiterW, &context); - WCHAR testToken1W[ARRAYSIZE(testToken1A)] = { 0 }; + WCHAR testToken1W[ARRAYSIZE(testToken1A)] = WINPR_C_ARRAY_INIT; (void)ConvertUtf8NToWChar(testToken1A, ARRAYSIZE(testToken1A), testToken1W, ARRAYSIZE(testToken1W)); if (memcmp(p, testToken1W, sizeof(testToken1W)) != 0) @@ -190,7 +190,7 @@ int TestString(int argc, char* argv[]) p = wcstok_s(NULL, testDelimiterW, &context); - WCHAR testToken2W[ARRAYSIZE(testToken2A)] = { 0 }; + WCHAR testToken2W[ARRAYSIZE(testToken2A)] = WINPR_C_ARRAY_INIT; (void)ConvertUtf8NToWChar(testToken2A, ARRAYSIZE(testToken2A), testToken2W, ARRAYSIZE(testToken2W)); if (memcmp(p, testToken2W, sizeof(testToken2W)) != 0) @@ -201,7 +201,7 @@ int TestString(int argc, char* argv[]) p = wcstok_s(NULL, testDelimiterW, &context); - WCHAR testToken3W[ARRAYSIZE(testToken3A)] = { 0 }; + WCHAR testToken3W[ARRAYSIZE(testToken3A)] = WINPR_C_ARRAY_INIT; (void)ConvertUtf8NToWChar(testToken3A, ARRAYSIZE(testToken3A), testToken3W, ARRAYSIZE(testToken3W)); if (memcmp(p, testToken3W, sizeof(testToken3W)) != 0) diff --git a/winpr/libwinpr/crt/test/TestUnicodeConversion.c b/winpr/libwinpr/crt/test/TestUnicodeConversion.c index 91e817f5f..bde4476eb 100644 --- a/winpr/libwinpr/crt/test/TestUnicodeConversion.c +++ b/winpr/libwinpr/crt/test/TestUnicodeConversion.c @@ -78,7 +78,7 @@ static BOOL check_short_buffer(const char* prefix, int rc, size_t buffersize, static BOOL compare_utf16_int(const WCHAR* what, size_t buffersize, SSIZE_T rc, SSIZE_T inputlen, const testcase_t* test, const char* fkt, size_t line) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), buffersize, rc, inputlen, test, fkt, line); WINPR_ASSERT(what || (buffersize == 0)); @@ -133,7 +133,7 @@ static BOOL compare_utf16_int(const WCHAR* what, size_t buffersize, SSIZE_T rc, static BOOL compare_utf8_int(const char* what, size_t buffersize, SSIZE_T rc, SSIZE_T inputlen, const testcase_t* test, const char* fkt, size_t line) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), buffersize, rc, inputlen, test, fkt, line); WINPR_ASSERT(what || (buffersize == 0)); @@ -193,7 +193,7 @@ static BOOL test_convert_to_utf16(const testcase_t* test) const size_t wlen = _wcsnlen(test->utf16, test->utf16len); if ((rc2 < 0) || ((size_t)rc2 != wlen)) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), 0, rc2, -1, test, __func__, __LINE__); (void)fprintf(stderr, "%s ConvertUtf8ToWChar(%s, NULL, 0) expected %" PRIuz ", got %" PRIdz "\n", @@ -202,7 +202,7 @@ static BOOL test_convert_to_utf16(const testcase_t* test) } for (size_t x = 0; x < max; x++) { - WCHAR buffer[TESTCASE_BUFFER_SIZE] = { 0 }; + WCHAR buffer[TESTCASE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; const SSIZE_T rc = ConvertUtf8ToWChar(test->utf8, buffer, len[x]); if (!compare_utf16(buffer, len[x], rc, -1, test)) return FALSE; @@ -221,7 +221,7 @@ static BOOL test_convert_to_utf16_n(const testcase_t* test) const size_t wlen = _wcsnlen(test->utf16, test->utf16len); if ((rc2 < 0) || ((size_t)rc2 != wlen)) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), 0, rc2, WINPR_ASSERTING_INT_CAST(SSIZE_T, test->utf8len), test, __func__, __LINE__); (void)fprintf(stderr, @@ -239,7 +239,7 @@ static BOOL test_convert_to_utf16_n(const testcase_t* test) for (size_t y = 0; y < imax; y++) { - WCHAR buffer[TESTCASE_BUFFER_SIZE] = { 0 }; + WCHAR buffer[TESTCASE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; SSIZE_T rc = ConvertUtf8NToWChar(test->utf8, ilen[x], buffer, len[x]); if (!compare_utf16(buffer, len[x], rc, ilen[x], test)) return FALSE; @@ -258,7 +258,7 @@ static BOOL test_convert_to_utf8(const testcase_t* test) const size_t wlen = strnlen(test->utf8, test->utf8len); if ((rc2 < 0) || ((size_t)rc2 != wlen)) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), 0, rc2, -1, test, __func__, __LINE__); (void)fprintf(stderr, "%s ConvertWCharToUtf8(%s, NULL, 0) expected %" PRIuz ", got %" PRIdz "\n", @@ -268,7 +268,7 @@ static BOOL test_convert_to_utf8(const testcase_t* test) for (size_t x = 0; x < max; x++) { - char buffer[TESTCASE_BUFFER_SIZE] = { 0 }; + char buffer[TESTCASE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; SSIZE_T rc = ConvertWCharToUtf8(test->utf16, buffer, len[x]); if (!compare_utf8(buffer, len[x], rc, -1, test)) return FALSE; @@ -287,7 +287,7 @@ static BOOL test_convert_to_utf8_n(const testcase_t* test) const size_t wlen = strnlen(test->utf8, test->utf8len); if ((rc2 < 0) || ((size_t)rc2 != wlen)) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), 0, rc2, WINPR_ASSERTING_INT_CAST(SSIZE_T, test->utf16len), test, __func__, __LINE__); (void)fprintf(stderr, @@ -305,7 +305,7 @@ static BOOL test_convert_to_utf8_n(const testcase_t* test) for (size_t y = 0; y < imax; y++) { - char buffer[TESTCASE_BUFFER_SIZE] = { 0 }; + char buffer[TESTCASE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; SSIZE_T rc = ConvertWCharNToUtf8(test->utf16, ilen[x], buffer, len[x]); if (!compare_utf8(buffer, len[x], rc, ilen[x], test)) return FALSE; @@ -342,7 +342,7 @@ static BOOL test_conversion(const testcase_t* testcases, size_t count) static BOOL compare_win_utf16_int(const WCHAR* what, size_t buffersize, int rc, int inputlen, const testcase_t* test, const char* fkt, size_t line) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), buffersize, rc, inputlen, test, fkt, line); WINPR_ASSERT(what || (buffersize == 0)); @@ -413,7 +413,7 @@ static BOOL compare_win_utf16_int(const WCHAR* what, size_t buffersize, int rc, static BOOL compare_win_utf8_int(const char* what, size_t buffersize, SSIZE_T rc, SSIZE_T inputlen, const testcase_t* test, const char* fkt, size_t line) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), buffersize, rc, inputlen, test, fkt, line); WINPR_ASSERT(what || (buffersize == 0)); @@ -487,7 +487,7 @@ static BOOL test_win_convert_to_utf16(const testcase_t* test) const size_t wlen = _wcsnlen(test->utf16, test->utf16len); if (rc2 != wlen + 1) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), 0, rc2, -1, test, __func__, __LINE__); (void)fprintf(stderr, "%s MultiByteToWideChar(CP_UTF8, 0, %s, [-1], NULL, 0) expected %" PRIuz @@ -497,7 +497,7 @@ static BOOL test_win_convert_to_utf16(const testcase_t* test) } for (size_t x = 0; x < max; x++) { - WCHAR buffer[TESTCASE_BUFFER_SIZE] = { 0 }; + WCHAR buffer[TESTCASE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; const int rc = MultiByteToWideChar(CP_UTF8, 0, test->utf8, -1, buffer, len[x]); if (!compare_win_utf16(buffer, len[x], rc, -1, test)) return FALSE; @@ -520,7 +520,7 @@ static BOOL test_win_convert_to_utf16_n(const testcase_t* test) if (rc2 != wlen) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), 0, rc2, test->utf8len, test, __func__, __LINE__); (void)fprintf(stderr, "%s MultiByteToWideChar(CP_UTF8, 0, %s, %" PRIuz ", NULL, 0) expected %" PRIuz @@ -537,8 +537,8 @@ static BOOL test_win_convert_to_utf16_n(const testcase_t* test) for (size_t y = 0; y < imax; y++) { - char mbuffer[TESTCASE_BUFFER_SIZE] = { 0 }; - WCHAR buffer[TESTCASE_BUFFER_SIZE] = { 0 }; + char mbuffer[TESTCASE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; + WCHAR buffer[TESTCASE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; strncpy(mbuffer, test->utf8, test->utf8len); const int rc = MultiByteToWideChar(CP_UTF8, 0, mbuffer, ilen[x], buffer, len[x]); if (!compare_win_utf16(buffer, len[x], rc, ilen[x], test)) @@ -560,7 +560,7 @@ static BOOL test_win_convert_to_utf8(const testcase_t* test) const size_t wlen = strnlen(test->utf8, test->utf8len) + 1; if (rc2 != wlen) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), 0, rc2, -1, test, __func__, __LINE__); (void)fprintf( stderr, @@ -572,7 +572,7 @@ static BOOL test_win_convert_to_utf8(const testcase_t* test) for (size_t x = 0; x < max; x++) { - char buffer[TESTCASE_BUFFER_SIZE] = { 0 }; + char buffer[TESTCASE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; int rc = WideCharToMultiByte(CP_UTF8, 0, test->utf16, -1, buffer, len[x], NULL, NULL); if (!compare_win_utf8(buffer, len[x], rc, -1, test)) return FALSE; @@ -596,7 +596,7 @@ static BOOL test_win_convert_to_utf8_n(const testcase_t* test) if (rc2 != wlen) { - char prefix[8192] = { 0 }; + char prefix[8192] = WINPR_C_ARRAY_INIT; create_prefix(prefix, ARRAYSIZE(prefix), 0, rc2, test->utf16len, test, __func__, __LINE__); (void)fprintf(stderr, "%s WideCharToMultiByte(CP_UTF8, 0, %s, %" PRIuz @@ -613,8 +613,8 @@ static BOOL test_win_convert_to_utf8_n(const testcase_t* test) for (size_t y = 0; y < imax; y++) { - WCHAR wbuffer[TESTCASE_BUFFER_SIZE] = { 0 }; - char buffer[TESTCASE_BUFFER_SIZE] = { 0 }; + WCHAR wbuffer[TESTCASE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; + char buffer[TESTCASE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; memcpy(wbuffer, test->utf16, test->utf16len * sizeof(WCHAR)); const int rc = WideCharToMultiByte(CP_UTF8, 0, wbuffer, ilen[x], buffer, len[x], NULL, NULL); @@ -1055,7 +1055,7 @@ static BOOL test_ConvertToUnicode_wrapper(void) char name[] = "someteststring"; const BYTE cmp[] = { 's', 0, 'o', 0, 'm', 0, 'e', 0, 't', 0, 'e', 0, 's', 0, 't', 0, 's', 0, 't', 0, 'r', 0, 'i', 0, 'n', 0, 'g', 0, 0, 0 }; - WCHAR xname[128] = { 0 }; + WCHAR xname[128] = WINPR_C_ARRAY_INIT; LPWSTR aname = NULL; LPWSTR wname = &xname[0]; const size_t len = strnlen(name, ARRAYSIZE(name) - 1); diff --git a/winpr/libwinpr/crypto/crypto.c b/winpr/libwinpr/crypto/crypto.c index fc384d32d..d6210bc8e 100644 --- a/winpr/libwinpr/crypto/crypto.c +++ b/winpr/libwinpr/crypto/crypto.c @@ -149,7 +149,7 @@ BOOL CryptProtectMemory(LPVOID pData, DWORD cbData, DWORD dwFlags) size_t cbOut = 0; size_t cbFinal = 0; WINPR_CIPHER_CTX* enc = NULL; - BYTE randomKey[256] = { 0 }; + BYTE randomKey[256] = WINPR_C_ARRAY_INIT; WINPR_PROTECTED_MEMORY_BLOCK* pMemBlock = NULL; if (dwFlags != CRYPTPROTECTMEMORY_SAME_PROCESS) diff --git a/winpr/libwinpr/crypto/hmac_md5.c b/winpr/libwinpr/crypto/hmac_md5.c index 100c212f1..8a123de89 100644 --- a/winpr/libwinpr/crypto/hmac_md5.c +++ b/winpr/libwinpr/crypto/hmac_md5.c @@ -6,9 +6,9 @@ void hmac_md5_init(WINPR_HMAC_MD5_CTX* ctx, const unsigned char* key, size_t key_len) { - const WINPR_HMAC_MD5_CTX empty = { 0 }; - unsigned char k_ipad[KEY_IOPAD_SIZE] = { 0 }; - unsigned char k_opad[KEY_IOPAD_SIZE] = { 0 }; + const WINPR_HMAC_MD5_CTX empty = WINPR_C_ARRAY_INIT; + unsigned char k_ipad[KEY_IOPAD_SIZE] = WINPR_C_ARRAY_INIT; + unsigned char k_opad[KEY_IOPAD_SIZE] = WINPR_C_ARRAY_INIT; assert(ctx); *ctx = empty; @@ -20,7 +20,7 @@ void hmac_md5_init(WINPR_HMAC_MD5_CTX* ctx, const unsigned char* key, size_t key } else { - WINPR_MD5_CTX lctx = { 0 }; + WINPR_MD5_CTX lctx = WINPR_C_ARRAY_INIT; winpr_MD5_Init(&lctx); winpr_MD5_Update(&lctx, key, key_len); diff --git a/winpr/libwinpr/crypto/test/TestCryptoCipher.c b/winpr/libwinpr/crypto/test/TestCryptoCipher.c index bb512db76..38991a8bd 100644 --- a/winpr/libwinpr/crypto/test/TestCryptoCipher.c +++ b/winpr/libwinpr/crypto/test/TestCryptoCipher.c @@ -9,8 +9,8 @@ static BOOL test_crypto_cipher_aes_128_cbc(BOOL ex) BOOL result = FALSE; BYTE key[16] = "0123456789abcdeF"; BYTE iv[16] = "1234567887654321"; - BYTE ibuf[1024] = { 0 }; - BYTE obuf[1024] = { 0 }; + BYTE ibuf[1024] = WINPR_C_ARRAY_INIT; + BYTE obuf[1024] = WINPR_C_ARRAY_INIT; size_t ilen = 0; size_t olen = 0; size_t xlen = 0; @@ -192,8 +192,8 @@ static const BYTE* TEST_CIPHER_IV = static BOOL test_crypto_cipher_key(void) { int status = 0; - BYTE key[32] = { 0 }; - BYTE iv[16] = { 0 }; + BYTE key[32] = WINPR_C_ARRAY_INIT; + BYTE iv[16] = WINPR_C_ARRAY_INIT; BYTE salt[8] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77 }; status = winpr_Cipher_BytesToKey(WINPR_CIPHER_AES_256_CBC, WINPR_MD_SHA1, salt, TEST_RAND_DATA, diff --git a/winpr/libwinpr/crypto/test/TestCryptoHash.c b/winpr/libwinpr/crypto/test/TestCryptoHash.c index 2d068855e..3e7fe9831 100644 --- a/winpr/libwinpr/crypto/test/TestCryptoHash.c +++ b/winpr/libwinpr/crypto/test/TestCryptoHash.c @@ -11,7 +11,7 @@ static const BYTE TEST_MD5_HASH[] = static BOOL test_crypto_hash_md5(void) { BOOL result = FALSE; - BYTE hash[WINPR_MD5_DIGEST_LENGTH] = { 0 }; + BYTE hash[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; WINPR_DIGEST_CTX* ctx = NULL; if (!(ctx = winpr_Digest_New())) @@ -64,7 +64,7 @@ static const BYTE TEST_MD4_HASH[] = static BOOL test_crypto_hash_md4(void) { BOOL result = FALSE; - BYTE hash[WINPR_MD4_DIGEST_LENGTH] = { 0 }; + BYTE hash[WINPR_MD4_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; WINPR_DIGEST_CTX* ctx = NULL; if (!(ctx = winpr_Digest_New())) @@ -117,7 +117,7 @@ static const BYTE TEST_SHA1_HASH[] = static BOOL test_crypto_hash_sha1(void) { BOOL result = FALSE; - BYTE hash[WINPR_SHA1_DIGEST_LENGTH] = { 0 }; + BYTE hash[WINPR_SHA1_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; WINPR_DIGEST_CTX* ctx = NULL; if (!(ctx = winpr_Digest_New())) @@ -172,7 +172,7 @@ static const BYTE TEST_HMAC_MD5_HASH[] = static BOOL test_crypto_hash_hmac_md5(void) { - BYTE hash[WINPR_MD5_DIGEST_LENGTH] = { 0 }; + BYTE hash[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; WINPR_HMAC_CTX* ctx = NULL; BOOL result = FALSE; @@ -236,7 +236,7 @@ static const BYTE TEST_HMAC_SHA1_HASH[] = static BOOL test_crypto_hash_hmac_sha1(void) { - BYTE hash[WINPR_SHA1_DIGEST_LENGTH] = { 0 }; + BYTE hash[WINPR_SHA1_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; WINPR_HMAC_CTX* ctx = NULL; BOOL result = FALSE; diff --git a/winpr/libwinpr/crypto/test/TestCryptoRand.c b/winpr/libwinpr/crypto/test/TestCryptoRand.c index 3935d7e7f..129517127 100644 --- a/winpr/libwinpr/crypto/test/TestCryptoRand.c +++ b/winpr/libwinpr/crypto/test/TestCryptoRand.c @@ -6,7 +6,7 @@ int TestCryptoRand(int argc, char* argv[]) { char* str = NULL; - BYTE rnd[16] = { 0 }; + BYTE rnd[16] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/dsparse/test/TestDsMakeSpn.c b/winpr/libwinpr/dsparse/test/TestDsMakeSpn.c index 91aa87923..c8d549a27 100644 --- a/winpr/libwinpr/dsparse/test/TestDsMakeSpn.c +++ b/winpr/libwinpr/dsparse/test/TestDsMakeSpn.c @@ -11,7 +11,7 @@ static BOOL test_DsMakeSpnA(void) LPCSTR testServiceName = "LAB1-W2K8R2-GW.lab1.awake.local"; LPCSTR testSpn = "HTTP/LAB1-W2K8R2-GW.lab1.awake.local"; BOOL rc = FALSE; - CHAR Spn[100] = { 0 }; + CHAR Spn[100] = WINPR_C_ARRAY_INIT; DWORD status = 0; DWORD SpnLength = -1; @@ -67,12 +67,12 @@ static BOOL test_DsMakeSpnW(void) const CHAR ctestSpn[] = { 'H', 'T', 'T', 'P', '/', 'L', 'A', 'B', '1', '-', 'W', '2', 'K', '8', 'R', '2', '-', 'G', 'W', '.', 'l', 'a', 'b', '1', '.', 'a', 'w', 'a', 'k', 'e', '.', 'l', 'o', 'c', 'a', 'l', '\0' }; - WCHAR testServiceClass[ARRAYSIZE(ctestServiceClass)] = { 0 }; - WCHAR testServiceName[ARRAYSIZE(ctestServiceName)] = { 0 }; - WCHAR testSpn[ARRAYSIZE(ctestSpn)] = { 0 }; + WCHAR testServiceClass[ARRAYSIZE(ctestServiceClass)] = WINPR_C_ARRAY_INIT; + WCHAR testServiceName[ARRAYSIZE(ctestServiceName)] = WINPR_C_ARRAY_INIT; + WCHAR testSpn[ARRAYSIZE(ctestSpn)] = WINPR_C_ARRAY_INIT; BOOL rc = FALSE; - WCHAR Spn[100] = { 0 }; + WCHAR Spn[100] = WINPR_C_ARRAY_INIT; DWORD status = 0; DWORD SpnLength = -1; @@ -115,8 +115,8 @@ static BOOL test_DsMakeSpnW(void) if (_wcscmp(Spn, testSpn) != 0) { - char buffer1[8192] = { 0 }; - char buffer2[8192] = { 0 }; + char buffer1[8192] = WINPR_C_ARRAY_INIT; + char buffer2[8192] = WINPR_C_ARRAY_INIT; char* SpnA = buffer1; char* testSpnA = buffer2; @@ -127,7 +127,7 @@ static BOOL test_DsMakeSpnW(void) } { - char buffer[8192] = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; char* SpnA = buffer; (void)ConvertWCharToUtf8(Spn, SpnA, ARRAYSIZE(buffer)); diff --git a/winpr/libwinpr/environment/environment.c b/winpr/libwinpr/environment/environment.c index b9419ec15..a39b6163d 100644 --- a/winpr/libwinpr/environment/environment.c +++ b/winpr/libwinpr/environment/environment.c @@ -708,8 +708,8 @@ DWORD GetEnvironmentVariableX(const char* lpName, char* lpBuffer, DWORD nSize) if (!lpBuffer) { - char lpBufferMaxA[WINPR_MAX_ENVIRONMENT_LENGTH] = { 0 }; - WCHAR lpBufferMaxW[WINPR_MAX_ENVIRONMENT_LENGTH] = { 0 }; + char lpBufferMaxA[WINPR_MAX_ENVIRONMENT_LENGTH] = WINPR_C_ARRAY_INIT; + WCHAR lpBufferMaxW[WINPR_MAX_ENVIRONMENT_LENGTH] = WINPR_C_ARRAY_INIT; LPSTR lpTmpBuffer = lpBufferMaxA; nSizeW = ARRAYSIZE(lpBufferMaxW); diff --git a/winpr/libwinpr/file/file.c b/winpr/libwinpr/file/file.c index 051a397cc..85bf09d7c 100644 --- a/winpr/libwinpr/file/file.c +++ b/winpr/libwinpr/file/file.c @@ -114,7 +114,7 @@ static BOOL FileCloseHandle(HANDLE handle) static BOOL log_error_(const char* name, const WINPR_FILE* pFile, const char* file, const char* fkt, size_t line) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(name); WINPR_ASSERT(pFile); @@ -479,7 +479,7 @@ static BOOL FileLockFileEx(HANDLE hFile, DWORD dwFlags, WINPR_ATTR_UNUSED DWORD if (fcntl(fileno(pFile->fp), lckcmd, &lock) == -1) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "F_SETLK failed with %s [0x%08X]", winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); SetLastError(map_posix_err(errno)); @@ -593,7 +593,7 @@ static struct timespec filetimeToTimespec(const FILETIME* ftime) { WINPR_ASSERT(ftime); INT64 tmp = FileTimeToUS(ftime); - struct timespec ts = { 0 }; + struct timespec ts = WINPR_C_ARRAY_INIT; ts.tv_sec = tmp / 1000000LL; ts.tv_nsec = (tmp % 1000000LL) * 1000LL; return ts; @@ -619,7 +619,7 @@ static BOOL FileSetFileTime(HANDLE hFile, WINPR_ATTR_UNUSED const FILETIME* lpCr const int rc = futimens(fileno(pFile->fp), times); if (rc != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "futimens failed: %s [%d]", winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); SetLastError(map_posix_err(errno)); @@ -633,7 +633,7 @@ static struct timeval filetimeToTimeval(const FILETIME* ftime) { WINPR_ASSERT(ftime); UINT64 tmp = FileTimeToUS(ftime); - struct timeval tv = { 0 }; + struct timeval tv = WINPR_C_ARRAY_INIT; tv.tv_sec = tmp / 1000000ULL; tv.tv_usec = tmp % 1000000ULL; return tv; @@ -642,7 +642,7 @@ static struct timeval filetimeToTimeval(const FILETIME* ftime) static struct timeval statToTimeval(const struct stat* sval) { WINPR_ASSERT(sval); - struct timeval tv = { 0 }; + struct timeval tv = WINPR_C_ARRAY_INIT; #if defined(__FreeBSD__) || defined(__APPLE__) || defined(KFREEBSD) tv.tv_sec = sval->st_atime; #ifdef _POSIX_SOURCE @@ -660,7 +660,7 @@ static struct timeval statToTimeval(const struct stat* sval) static BOOL FileSetFileTime(HANDLE hFile, const FILETIME* lpCreationTime, const FILETIME* lpLastAccessTime, const FILETIME* lpLastWriteTime) { - struct stat buf = { 0 }; + struct stat buf = WINPR_C_ARRAY_INIT; /* OpenBSD, NetBSD and DragonflyBSD support POSIX futimens */ WINPR_FILE* pFile = (WINPR_FILE*)hFile; @@ -670,7 +670,7 @@ static BOOL FileSetFileTime(HANDLE hFile, const FILETIME* lpCreationTime, const int rc = fstat(fileno(pFile->fp), &buf); if (rc < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "fstat failed: %s [%d]", winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); SetLastError(map_posix_err(errno)); @@ -689,7 +689,7 @@ static BOOL FileSetFileTime(HANDLE hFile, const FILETIME* lpCreationTime, const int res = utimes(pFile->lpFileName, timevals); if (res != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "utimes failed: %s [%d]", winpr_strerror(errno, ebuffer, sizeof(ebuffer)), errno); SetLastError(map_posix_err(errno)); @@ -841,7 +841,7 @@ UINT32 map_posix_err(int fs_errno) default: { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "Missing ERRNO mapping %s [%d]", winpr_strerror(fs_errno, ebuffer, sizeof(ebuffer)), fs_errno); rc = STATUS_UNSUCCESSFUL; @@ -1030,7 +1030,7 @@ const HANDLE_CREATOR* GetFileHandleCreator(void) static WINPR_FILE* FileHandle_New(FILE* fp) { WINPR_FILE* pFile = NULL; - char name[MAX_PATH] = { 0 }; + char name[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)_snprintf(name, sizeof(name), "device_%d", fileno(fp)); pFile = (WINPR_FILE*)calloc(1, sizeof(WINPR_FILE)); @@ -1099,7 +1099,7 @@ BOOL GetDiskFreeSpaceA(LPCSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWO #define STATVFS statvfs #endif - struct STATVFS svfst = { 0 }; + struct STATVFS svfst = WINPR_C_ARRAY_INIT; STATVFS(lpRootPathName, &svfst); *lpSectorsPerCluster = (UINT32)MIN(svfst.f_frsize, UINT32_MAX); *lpBytesPerSector = 1; @@ -1217,7 +1217,7 @@ HANDLE CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) { HANDLE hFile; - CREATEFILE2_EXTENDED_PARAMETERS params = { 0 }; + CREATEFILE2_EXTENDED_PARAMETERS params = WINPR_C_ARRAY_INIT; params.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS); diff --git a/winpr/libwinpr/file/generic.c b/winpr/libwinpr/file/generic.c index 0f4b55ac9..fea29c9c3 100644 --- a/winpr/libwinpr/file/generic.c +++ b/winpr/libwinpr/file/generic.c @@ -483,11 +483,11 @@ BOOL WINAPI GetFileAttributesExA(LPCSTR lpFileName, if (!fd) return FALSE; - struct stat fileStat = { 0 }; + struct stat fileStat = WINPR_C_ARRAY_INIT; if (stat(lpFileName, &fileStat) != 0) return FALSE; - WIN32_FIND_DATAA findFileData = { 0 }; + WIN32_FIND_DATAA findFileData = WINPR_C_ARRAY_INIT; if (!FindDataFromStat(lpFileName, &fileStat, &findFileData)) return FALSE; @@ -521,7 +521,7 @@ BOOL WINAPI GetFileAttributesExW(LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInf DWORD WINAPI GetFileAttributesA(LPCSTR lpFileName) { - struct stat fileStat = { 0 }; + struct stat fileStat = WINPR_C_ARRAY_INIT; if (stat(lpFileName, &fileStat) != 0) return INVALID_FILE_ATTRIBUTES; @@ -573,7 +573,7 @@ static char* append(char* buffer, size_t size, const char* append) static const char* flagsToStr(char* buffer, size_t size, DWORD flags) { - char strflags[32] = { 0 }; + char strflags[32] = WINPR_C_ARRAY_INIT; if (flags & FILE_ATTRIBUTE_READONLY) append(buffer, size, "FILE_ATTRIBUTE_READONLY"); if (flags & FILE_ATTRIBUTE_HIDDEN) @@ -617,7 +617,7 @@ BOOL SetFileAttributesA(LPCSTR lpFileName, DWORD dwFileAttributes) const uint32_t mask = ~(FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_NORMAL); if (dwFileAttributes & mask) { - char buffer[8192] = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; const char* flags = flagsToStr(buffer, sizeof(buffer), dwFileAttributes & mask); WLog_WARN(TAG, "Unsupported flags %s, ignoring!", flags); } @@ -626,7 +626,7 @@ BOOL SetFileAttributesA(LPCSTR lpFileName, DWORD dwFileAttributes) if (fd < 0) return FALSE; - struct stat st = { 0 }; + struct stat st = WINPR_C_ARRAY_INIT; if (fstat(fd, &st) != 0) goto fail; @@ -894,7 +894,7 @@ static WIN32_FILE_SEARCH* file_search_new(const char* name, size_t namelen, cons * parent directories are not accessible, so if we have a directory without pattern * try to open it directly and set pattern to '*' */ - struct stat fileStat = { 0 }; + struct stat fileStat = WINPR_C_ARRAY_INIT; if (stat(name, &fileStat) == 0) { if (S_ISDIR(fileStat.st_mode)) @@ -998,7 +998,7 @@ HANDLE FindFirstFileA(LPCSTR lpFileName, LPWIN32_FIND_DATAA lpFindFileData) return INVALID_HANDLE_VALUE; } - const WIN32_FIND_DATAA empty = { 0 }; + const WIN32_FIND_DATAA empty = WINPR_C_ARRAY_INIT; *lpFindFileData = empty; WIN32_FILE_SEARCH* pFileSearch = NULL; @@ -1122,7 +1122,7 @@ BOOL FindNextFileA(HANDLE hFindFile, LPWIN32_FIND_DATAA lpFindFileData) if (!lpFindFileData) return FALSE; - const WIN32_FIND_DATAA empty = { 0 }; + const WIN32_FIND_DATAA empty = WINPR_C_ARRAY_INIT; *lpFindFileData = empty; if (!is_valid_file_search_handle(hFindFile)) @@ -1156,7 +1156,7 @@ BOOL FindNextFileA(HANDLE hFindFile, LPWIN32_FIND_DATAA lpFindFileData) memcpy(fullpath + pathlen, pDirent->d_name, namelen); fullpath[pathlen + namelen] = 0; - struct stat fileStat = { 0 }; + struct stat fileStat = WINPR_C_ARRAY_INIT; if (stat(fullpath, &fileStat) != 0) { free(fullpath); diff --git a/winpr/libwinpr/file/namedPipeClient.c b/winpr/libwinpr/file/namedPipeClient.c index 32dda3f29..0f4ed4605 100644 --- a/winpr/libwinpr/file/namedPipeClient.c +++ b/winpr/libwinpr/file/namedPipeClient.c @@ -124,7 +124,7 @@ NamedPipeClientCreateFileA(LPCSTR lpFileName, WINPR_ATTR_UNUSED DWORD dwDesiredA DWORD dwFlagsAndAttributes, WINPR_ATTR_UNUSED HANDLE hTemplateFile) { int status = 0; - struct sockaddr_un s = { 0 }; + struct sockaddr_un s = WINPR_C_ARRAY_INIT; if (dwFlagsAndAttributes & FILE_FLAG_OVERLAPPED) { diff --git a/winpr/libwinpr/file/test/TestFileDeleteFile.c b/winpr/libwinpr/file/test/TestFileDeleteFile.c index 7448ae3df..d1073a2b7 100644 --- a/winpr/libwinpr/file/test/TestFileDeleteFile.c +++ b/winpr/libwinpr/file/test/TestFileDeleteFile.c @@ -30,7 +30,7 @@ int TestFileDeleteFile(int argc, char* argv[]) char validW[] = "/tmp/valid-test-file-XXXXXX"; WCHAR* validWW = NULL; const char invalidA[] = "/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; - WCHAR invalidW[sizeof(invalidA)] = { 0 }; + WCHAR invalidW[sizeof(invalidA)] = WINPR_C_ARRAY_INIT; (void)ConvertUtf8NToWChar(invalidA, ARRAYSIZE(invalidA), invalidW, ARRAYSIZE(invalidW)); diff --git a/winpr/libwinpr/file/test/TestFileFindFirstFile.c b/winpr/libwinpr/file/test/TestFileFindFirstFile.c index 6d61a4864..c190325fd 100644 --- a/winpr/libwinpr/file/test/TestFileFindFirstFile.c +++ b/winpr/libwinpr/file/test/TestFileFindFirstFile.c @@ -34,10 +34,10 @@ static BOOL create_layout_files(size_t level, const char* BasePath, wArrayList* { for (size_t x = 0; x < 10; x++) { - CHAR FilePath[PATHCCH_MAX_CCH] = { 0 }; + CHAR FilePath[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; strncpy(FilePath, BasePath, ARRAYSIZE(FilePath)); - CHAR name[64] = { 0 }; + CHAR name[64] = WINPR_C_ARRAY_INIT; (void)_snprintf(name, ARRAYSIZE(name), "%zd-TestFile%zd", level, x); NativePathCchAppendA(FilePath, PATHCCH_MAX_CCH, name); @@ -53,7 +53,7 @@ static BOOL create_layout_directories(size_t level, size_t max_level, const char if (level >= max_level) return TRUE; - CHAR FilePath[PATHCCH_MAX_CCH] = { 0 }; + CHAR FilePath[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; strncpy(FilePath, BasePath, ARRAYSIZE(FilePath)); PathCchConvertStyleA(FilePath, ARRAYSIZE(FilePath), PATH_STYLE_NATIVE); if (!winpr_PathMakePath(FilePath, NULL)) @@ -65,12 +65,12 @@ static BOOL create_layout_directories(size_t level, size_t max_level, const char for (size_t x = 0; x < 10; x++) { - CHAR CurFilePath[PATHCCH_MAX_CCH] = { 0 }; + CHAR CurFilePath[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; strncpy(CurFilePath, FilePath, ARRAYSIZE(CurFilePath)); PathCchConvertStyleA(CurFilePath, ARRAYSIZE(CurFilePath), PATH_STYLE_NATIVE); - CHAR name[64] = { 0 }; + CHAR name[64] = WINPR_C_ARRAY_INIT; (void)_snprintf(name, ARRAYSIZE(name), "%zd-TestPath%zd", level, x); NativePathCchAppendA(CurFilePath, PATHCCH_MAX_CCH, name); @@ -82,7 +82,7 @@ static BOOL create_layout_directories(size_t level, size_t max_level, const char static BOOL create_layout(const char* BasePath, wArrayList* files) { - CHAR BasePathNative[PATHCCH_MAX_CCH] = { 0 }; + CHAR BasePathNative[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; memcpy(BasePathNative, BasePath, sizeof(BasePathNative)); PathCchConvertStyleA(BasePathNative, ARRAYSIZE(BasePathNative), PATH_STYLE_NATIVE); @@ -97,7 +97,7 @@ static void cleanup_layout(const char* BasePath) static BOOL find_first_file_success(const char* FilePath) { BOOL rc = FALSE; - WIN32_FIND_DATAA FindData = { 0 }; + WIN32_FIND_DATAA FindData = WINPR_C_ARRAY_INIT; HANDLE hFind = FindFirstFileA(FilePath, &FindData); if (hFind == INVALID_HANDLE_VALUE) { @@ -122,11 +122,11 @@ fail: static BOOL list_directory_dot(const char* BasePath, wArrayList* files) { BOOL rc = FALSE; - CHAR BasePathDot[PATHCCH_MAX_CCH] = { 0 }; + CHAR BasePathDot[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; memcpy(BasePathDot, BasePath, ARRAYSIZE(BasePathDot)); PathCchConvertStyleA(BasePathDot, ARRAYSIZE(BasePathDot), PATH_STYLE_NATIVE); NativePathCchAppendA(BasePathDot, PATHCCH_MAX_CCH, "."); - WIN32_FIND_DATAA FindData = { 0 }; + WIN32_FIND_DATAA FindData = WINPR_C_ARRAY_INIT; HANDLE hFind = FindFirstFileA(BasePathDot, &FindData); if (hFind == INVALID_HANDLE_VALUE) return FALSE; @@ -149,11 +149,11 @@ fail: static BOOL list_directory_star(const char* BasePath, wArrayList* files) { - CHAR BasePathDot[PATHCCH_MAX_CCH] = { 0 }; + CHAR BasePathDot[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; memcpy(BasePathDot, BasePath, ARRAYSIZE(BasePathDot)); PathCchConvertStyleA(BasePathDot, ARRAYSIZE(BasePathDot), PATH_STYLE_NATIVE); NativePathCchAppendA(BasePathDot, PATHCCH_MAX_CCH, "*"); - WIN32_FIND_DATAA FindData = { 0 }; + WIN32_FIND_DATAA FindData = WINPR_C_ARRAY_INIT; HANDLE hFind = FindFirstFileA(BasePathDot, &FindData); if (hFind == INVALID_HANDLE_VALUE) return FALSE; @@ -197,7 +197,7 @@ static BOOL list_directory_star(const char* BasePath, wArrayList* files) static BOOL find_first_file_fail(const char* FilePath) { - WIN32_FIND_DATAA FindData = { 0 }; + WIN32_FIND_DATAA FindData = WINPR_C_ARRAY_INIT; HANDLE hFind = FindFirstFileA(FilePath, &FindData); if (hFind == INVALID_HANDLE_VALUE) return TRUE; @@ -214,13 +214,13 @@ static int TestFileFindFirstFileA(const char* str) if (!str) return -1; - CHAR BasePath[PATHCCH_MAX_CCH] = { 0 }; + CHAR BasePath[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; strncpy(BasePath, str, ARRAYSIZE(BasePath)); const size_t length = strnlen(BasePath, PATHCCH_MAX_CCH - 1); - CHAR FilePath[PATHCCH_MAX_CCH] = { 0 }; + CHAR FilePath[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; CopyMemory(FilePath, BasePath, length * sizeof(CHAR)); PathCchConvertStyleA(BasePath, length, PATH_STYLE_WINDOWS); @@ -248,7 +248,7 @@ static int TestFileFindFirstFileA(const char* str) if (!find_first_file_success(FilePath)) goto fail; - CHAR BasePathInvalid[PATHCCH_MAX_CCH] = { 0 }; + CHAR BasePathInvalid[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; memcpy(BasePathInvalid, BasePath, ARRAYSIZE(BasePathInvalid)); PathCchAddBackslashA(BasePathInvalid, PATHCCH_MAX_CCH); @@ -291,20 +291,20 @@ static int printf2W(const char* WINPR_FORMAT_ARG fmt, const WCHAR* arg1, const W static int TestFileFindFirstFileW(const char* str) { - WCHAR buffer[32] = { 0 }; + WCHAR buffer[32] = WINPR_C_ARRAY_INIT; const WCHAR* testFile1W = InitializeConstWCharFromUtf8("TestFile1W", buffer, ARRAYSIZE(buffer)); int rc = -1; if (!str) return -1; - WCHAR BasePath[PATHCCH_MAX_CCH] = { 0 }; + WCHAR BasePath[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; printf("[%s] basepath: '%s'\n", __func__, str); (void)ConvertUtf8ToWChar(str, BasePath, ARRAYSIZE(BasePath)); const size_t length = _wcsnlen(BasePath, PATHCCH_MAX_CCH - 1); - WCHAR FilePath[PATHCCH_MAX_CCH] = { 0 }; + WCHAR FilePath[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; CopyMemory(FilePath, BasePath, length * sizeof(WCHAR)); PathCchConvertStyleW(BasePath, length, PATH_STYLE_WINDOWS); @@ -316,7 +316,7 @@ static int TestFileFindFirstFileW(const char* str) printf1W("Finding file: %s\n", FilePath); - WIN32_FIND_DATAW FindData = { 0 }; + WIN32_FIND_DATAW FindData = WINPR_C_ARRAY_INIT; hFind = FindFirstFileW(FilePath, &FindData); if (hFind == INVALID_HANDLE_VALUE) diff --git a/winpr/libwinpr/file/test/TestFileFindNextFile.c b/winpr/libwinpr/file/test/TestFileFindNextFile.c index c1d2c1b6d..f8205dbc6 100644 --- a/winpr/libwinpr/file/test/TestFileFindNextFile.c +++ b/winpr/libwinpr/file/test/TestFileFindNextFile.c @@ -17,7 +17,7 @@ int TestFileFindNextFile(int argc, char* argv[]) HANDLE hFind = NULL; LPTSTR BasePath = NULL; WIN32_FIND_DATA FindData; - TCHAR FilePath[PATHCCH_MAX_CCH] = { 0 }; + TCHAR FilePath[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); str = argv[1]; #ifdef UNICODE diff --git a/winpr/libwinpr/file/test/TestFileWriteFile.c b/winpr/libwinpr/file/test/TestFileWriteFile.c index 82f3c32ef..39391cf04 100644 --- a/winpr/libwinpr/file/test/TestFileWriteFile.c +++ b/winpr/libwinpr/file/test/TestFileWriteFile.c @@ -101,7 +101,7 @@ fail: int TestFileWriteFile(int argc, char* argv[]) { const char data[] = "sometesttext\nanother line\r\ngogogo\r\tfoo\t\r\n\r"; - char filename[MAX_PATH] = { 0 }; + char filename[MAX_PATH] = WINPR_C_ARRAY_INIT; int rc = -1; if (!get_tmp(filename, sizeof(filename))) diff --git a/winpr/libwinpr/interlocked/interlocked.c b/winpr/libwinpr/interlocked/interlocked.c index eee1a5fe9..5ce08f82f 100644 --- a/winpr/libwinpr/interlocked/interlocked.c +++ b/winpr/libwinpr/interlocked/interlocked.c @@ -49,8 +49,8 @@ VOID InitializeSListHead(WINPR_PSLIST_HEADER ListHead) WINPR_PSLIST_ENTRY InterlockedPushEntrySList(WINPR_PSLIST_HEADER ListHead, WINPR_PSLIST_ENTRY ListEntry) { - WINPR_SLIST_HEADER old = { 0 }; - WINPR_SLIST_HEADER newHeader = { 0 }; + WINPR_SLIST_HEADER old = WINPR_C_ARRAY_INIT; + WINPR_SLIST_HEADER newHeader = WINPR_C_ARRAY_INIT; WINPR_ASSERT(ListHead); WINPR_ASSERT(ListEntry); @@ -118,8 +118,8 @@ WINPR_PSLIST_ENTRY InterlockedPushListSListEx(WINPR_ATTR_UNUSED WINPR_PSLIST_HEA WINPR_PSLIST_ENTRY InterlockedPopEntrySList(WINPR_PSLIST_HEADER ListHead) { - WINPR_SLIST_HEADER old = { 0 }; - WINPR_SLIST_HEADER newHeader = { 0 }; + WINPR_SLIST_HEADER old = WINPR_C_ARRAY_INIT; + WINPR_SLIST_HEADER newHeader = WINPR_C_ARRAY_INIT; WINPR_PSLIST_ENTRY entry = NULL; WINPR_ASSERT(ListHead); @@ -174,8 +174,8 @@ WINPR_PSLIST_ENTRY InterlockedPopEntrySList(WINPR_PSLIST_HEADER ListHead) WINPR_PSLIST_ENTRY InterlockedFlushSList(WINPR_PSLIST_HEADER ListHead) { - WINPR_SLIST_HEADER old = { 0 }; - WINPR_SLIST_HEADER newHeader = { 0 }; + WINPR_SLIST_HEADER old = WINPR_C_ARRAY_INIT; + WINPR_SLIST_HEADER newHeader = WINPR_C_ARRAY_INIT; WINPR_ASSERT(ListHead); if (!QueryDepthSList(ListHead)) diff --git a/winpr/libwinpr/library/library.c b/winpr/libwinpr/library/library.c index 31147c87d..a24cf0c66 100644 --- a/winpr/libwinpr/library/library.c +++ b/winpr/libwinpr/library/library.c @@ -270,7 +270,7 @@ DWORD GetModuleFileNameW(HMODULE hModule, LPWSTR lpFilename, DWORD nSize) #if defined(__linux__) || defined(__NetBSD__) || defined(__DragonFly__) static DWORD module_from_proc(const char* proc, LPSTR lpFilename, DWORD nSize) { - char buffer[8192] = { 0 }; + char buffer[8192] = WINPR_C_ARRAY_INIT; ssize_t status = readlink(proc, buffer, ARRAYSIZE(buffer) - 1); if ((status < 0) || ((size_t)status >= ARRAYSIZE(buffer))) @@ -353,8 +353,8 @@ DWORD GetModuleFileNameA(HMODULE hModule, LPSTR lpFilename, DWORD nSize) #elif defined(__DragonFly__) return module_from_proc("/proc/curproc/file", lpFilename, nSize); #elif defined(__MACOSX__) - char path[4096] = { 0 }; - char buffer[4096] = { 0 }; + char path[4096] = WINPR_C_ARRAY_INIT; + char buffer[4096] = WINPR_C_ARRAY_INIT; uint32_t size = sizeof(path); const int status = _NSGetExecutablePath(path, &size); diff --git a/winpr/libwinpr/library/test/TestLibraryGetProcAddress.c b/winpr/libwinpr/library/test/TestLibraryGetProcAddress.c index ccf542167..e9ecee66b 100644 --- a/winpr/libwinpr/library/test/TestLibraryGetProcAddress.c +++ b/winpr/libwinpr/library/test/TestLibraryGetProcAddress.c @@ -18,7 +18,7 @@ int TestLibraryGetProcAddress(int argc, char* argv[]) TEST_AB_FN pFunctionA = NULL; TEST_AB_FN pFunctionB = NULL; LPCSTR SharedLibraryExtension = NULL; - CHAR LibraryPath[PATHCCH_MAX_CCH] = { 0 }; + CHAR LibraryPath[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; PCHAR p = NULL; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/library/test/TestLibraryLoadLibrary.c b/winpr/libwinpr/library/test/TestLibraryLoadLibrary.c index e9d1c8da9..1464e3319 100644 --- a/winpr/libwinpr/library/test/TestLibraryLoadLibrary.c +++ b/winpr/libwinpr/library/test/TestLibraryLoadLibrary.c @@ -11,7 +11,7 @@ int TestLibraryLoadLibrary(int argc, char* argv[]) { HINSTANCE library = NULL; LPCSTR SharedLibraryExtension = NULL; - CHAR LibraryPath[PATHCCH_MAX_CCH] = { 0 }; + CHAR LibraryPath[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; PCHAR p = NULL; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/ncrypt/ncrypt.c b/winpr/libwinpr/ncrypt/ncrypt.c index 05315b45f..ce1be7f50 100644 --- a/winpr/libwinpr/ncrypt/ncrypt.c +++ b/winpr/libwinpr/ncrypt/ncrypt.c @@ -43,8 +43,8 @@ SECURITY_STATUS checkNCryptHandle(NCRYPT_HANDLE handle, NCryptHandleType matchTy const NCryptBaseHandle* base = (NCryptBaseHandle*)handle; if (memcmp(base->magic, NCRYPT_MAGIC, ARRAYSIZE(NCRYPT_MAGIC)) != 0) { - char magic1[ARRAYSIZE(NCRYPT_MAGIC) + 1] = { 0 }; - char magic2[ARRAYSIZE(NCRYPT_MAGIC) + 1] = { 0 }; + char magic1[ARRAYSIZE(NCRYPT_MAGIC) + 1] = WINPR_C_ARRAY_INIT; + char magic2[ARRAYSIZE(NCRYPT_MAGIC) + 1] = WINPR_C_ARRAY_INIT; memcpy(magic1, base->magic, ARRAYSIZE(NCRYPT_MAGIC)); memcpy(magic2, NCRYPT_MAGIC, ARRAYSIZE(NCRYPT_MAGIC)); @@ -111,7 +111,7 @@ SECURITY_STATUS NCryptEnumStorageProviders(DWORD* wProviderCount, size_t stringAllocSize = 0; #ifdef WITH_PKCS11 LPWSTR strPtr = NULL; - static const WCHAR emptyComment[] = { 0 }; + static const WCHAR emptyComment[] = WINPR_C_ARRAY_INIT; size_t copyAmount = 0; #endif @@ -164,7 +164,7 @@ SECURITY_STATUS winpr_NCryptOpenStorageProviderEx(NCRYPT_PROV_HANDLE* phProvider (_wcscmp(pszProviderName, MS_SCARD_PROV) == 0))) return NCryptOpenP11StorageProviderEx(phProvider, pszProviderName, dwFlags, modulePaths); - char buffer[128] = { 0 }; + char buffer[128] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(pszProviderName, buffer, sizeof(buffer)); WLog_WARN(TAG, "provider '%s' not supported", buffer); return ERROR_NOT_SUPPORTED; diff --git a/winpr/libwinpr/ncrypt/ncrypt_pkcs11.c b/winpr/libwinpr/ncrypt/ncrypt_pkcs11.c index bc31616ca..75e9b8b53 100644 --- a/winpr/libwinpr/ncrypt/ncrypt_pkcs11.c +++ b/winpr/libwinpr/ncrypt/ncrypt_pkcs11.c @@ -375,7 +375,7 @@ static void log_(const char* tag, const char* msg, CK_RV rv, CK_ULONG index, CK_ static SECURITY_STATUS collect_keys(NCryptP11ProviderHandle* provider, P11EnumKeysState* state) { - CK_OBJECT_HANDLE slotObjects[MAX_KEYS_PER_SLOT] = { 0 }; + CK_OBJECT_HANDLE slotObjects[MAX_KEYS_PER_SLOT] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(provider); @@ -387,8 +387,8 @@ static SECURITY_STATUS collect_keys(NCryptP11ProviderHandle* provider, P11EnumKe for (CK_ULONG i = 0; i < state->nslots; i++) { CK_SESSION_HANDLE session = (CK_SESSION_HANDLE)NULL; - CK_SLOT_INFO slotInfo = { 0 }; - CK_TOKEN_INFO tokenInfo = { 0 }; + CK_SLOT_INFO slotInfo = WINPR_C_ARRAY_INIT; + CK_TOKEN_INFO tokenInfo = WINPR_C_ARRAY_INIT; WINPR_ASSERT(p11->C_GetSlotInfo); CK_RV rv = p11->C_GetSlotInfo(state->slots[i], &slotInfo); @@ -563,7 +563,7 @@ static BOOL convertKeyType(CK_KEY_TYPE k, LPWSTR dest, DWORD len, DWORD* outlen) static void wprintKeyName(LPWSTR str, CK_SLOT_ID slotId, CK_BYTE* id, CK_ULONG idLen) { - char asciiName[128] = { 0 }; + char asciiName[128] = WINPR_C_ARRAY_INIT; char* ptr = asciiName; const CK_BYTE* bytePtr = NULL; @@ -638,7 +638,7 @@ static size_t parseHex(const char* str, const char* end, CK_BYTE* target) static SECURITY_STATUS parseKeyName(LPCWSTR pszKeyName, CK_SLOT_ID* slotId, CK_BYTE* id, CK_ULONG* idLen) { - char asciiKeyName[128] = { 0 }; + char asciiKeyName[128] = WINPR_C_ARRAY_INIT; char* pos = NULL; if (ConvertWCharToUtf8(pszKeyName, asciiKeyName, ARRAYSIZE(asciiKeyName)) < 0) @@ -671,10 +671,10 @@ static SECURITY_STATUS NCryptP11EnumKeys(NCRYPT_PROV_HANDLE hProvider, LPCWSTR p { NCryptP11ProviderHandle* provider = (NCryptP11ProviderHandle*)hProvider; P11EnumKeysState* state = (P11EnumKeysState*)*ppEnumState; - CK_RV rv = { 0 }; - CK_SLOT_ID currentSlot = { 0 }; + CK_RV rv = WINPR_C_ARRAY_INIT; + CK_SLOT_ID currentSlot = WINPR_C_ARRAY_INIT; CK_SESSION_HANDLE currentSession = (CK_SESSION_HANDLE)NULL; - char slotFilterBuffer[65] = { 0 }; + char slotFilterBuffer[65] = WINPR_C_ARRAY_INIT; char* slotFilter = NULL; size_t slotFilterLen = 0; @@ -688,7 +688,7 @@ static SECURITY_STATUS NCryptP11EnumKeys(NCRYPT_PROV_HANDLE hProvider, LPCWSTR p * check whether pszScope is of the form \\.\\ for filtering by * card reader */ - char asciiScope[128 + 6 + 1] = { 0 }; + char asciiScope[128 + 6 + 1] = WINPR_C_ARRAY_INIT; size_t asciiScopeLen = 0; if (ConvertWCharToUtf8(pszScope, asciiScope, ARRAYSIZE(asciiScope) - 1) < 0) @@ -864,15 +864,15 @@ static SECURITY_STATUS NCryptP11EnumKeys(NCRYPT_PROV_HANDLE hProvider, LPCWSTR p static SECURITY_STATUS get_piv_container_name(NCryptP11KeyHandle* key, const BYTE* piv_tag, BYTE* output, size_t output_len) { - CK_SLOT_INFO slot_info = { 0 }; + CK_SLOT_INFO slot_info = WINPR_C_ARRAY_INIT; CK_FUNCTION_LIST_PTR p11 = NULL; WCHAR* reader = NULL; SCARDCONTEXT context = 0; SCARDHANDLE card = 0; DWORD proto = 0; const SCARD_IO_REQUEST* pci = NULL; - BYTE buf[258] = { 0 }; - char container_name[PIV_CONTAINER_NAME_LEN + 1] = { 0 }; + BYTE buf[258] = WINPR_C_ARRAY_INIT; + char container_name[PIV_CONTAINER_NAME_LEN + 1] = WINPR_C_ARRAY_INIT; DWORD buf_len = 0; SECURITY_STATUS ret = NTE_BAD_KEY; WinPrAsn1Decoder dec = { .encoding = WINPR_ASN1_BER, { 0 } }; @@ -880,7 +880,7 @@ static SECURITY_STATUS get_piv_container_name(NCryptP11KeyHandle* key, const BYT size_t len = 0; BYTE tag = 0; BYTE* p = NULL; - wStream s = { 0 }; + wStream s = WINPR_C_ARRAY_INIT; WINPR_ASSERT(key); WINPR_ASSERT(piv_tag); @@ -1214,7 +1214,7 @@ static SECURITY_STATUS NCryptP11OpenKey(NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY { SECURITY_STATUS ret = 0; CK_SLOT_ID slotId = 0; - CK_BYTE keyCertId[64] = { 0 }; + CK_BYTE keyCertId[64] = WINPR_C_ARRAY_INIT; CK_ULONG keyCertIdLen = 0; NCryptP11KeyHandle* keyHandle = NULL; diff --git a/winpr/libwinpr/ncrypt/test/TestNCryptProviders.c b/winpr/libwinpr/ncrypt/test/TestNCryptProviders.c index e27cf90d0..03756ee74 100644 --- a/winpr/libwinpr/ncrypt/test/TestNCryptProviders.c +++ b/winpr/libwinpr/ncrypt/test/TestNCryptProviders.c @@ -40,7 +40,7 @@ int TestNCryptProviders(int argc, char* argv[]) for (DWORD i = 0; i < nproviders; i++) { const NCryptProviderName* provider = &providers[i]; - char providerNameStr[256] = { 0 }; + char providerNameStr[256] = WINPR_C_ARRAY_INIT; (void)ConvertWCharToUtf8(provider->pszName, providerNameStr, ARRAYSIZE(providerNameStr)); printf("%d: %s\n", i, providerNameStr); diff --git a/winpr/libwinpr/ncrypt/test/TestNCryptSmartcard.c b/winpr/libwinpr/ncrypt/test/TestNCryptSmartcard.c index aeeb4c2ca..858519c90 100644 --- a/winpr/libwinpr/ncrypt/test/TestNCryptSmartcard.c +++ b/winpr/libwinpr/ncrypt/test/TestNCryptSmartcard.c @@ -75,7 +75,7 @@ int TestNCryptSmartcard(int argc, char* argv[]) { const NCryptProviderName* name = &names[j]; NCRYPT_PROV_HANDLE provider = 0; - char providerNameStr[256] = { 0 }; + char providerNameStr[256] = WINPR_C_ARRAY_INIT; PVOID enumState = NULL; size_t i = 0; NCryptKeyName* keyName = NULL; @@ -94,8 +94,8 @@ int TestNCryptSmartcard(int argc, char* argv[]) NCRYPT_KEY_HANDLE phKey = 0; DWORD dwFlags = 0; DWORD cbOutput = 0; - char keyNameStr[256] = { 0 }; - WCHAR reader[1024] = { 0 }; + char keyNameStr[256] = WINPR_C_ARRAY_INIT; + WCHAR reader[1024] = WINPR_C_ARRAY_INIT; PBYTE certBytes = NULL; if (ConvertWCharToUtf8(keyName->pszName, keyNameStr, ARRAYSIZE(keyNameStr)) < 0) @@ -114,7 +114,7 @@ int TestNCryptSmartcard(int argc, char* argv[]) &cbOutput, dwFlags); if (status == ERROR_SUCCESS) { - char readerStr[1024] = { 0 }; + char readerStr[1024] = WINPR_C_ARRAY_INIT; (void)ConvertWCharNToUtf8(reader, cbOutput, readerStr, ARRAYSIZE(readerStr)); printf("\treader: %s\n", readerStr); diff --git a/winpr/libwinpr/path/path.c b/winpr/libwinpr/path/path.c index 04ec0e690..13a5b74ae 100644 --- a/winpr/libwinpr/path/path.c +++ b/winpr/libwinpr/path/path.c @@ -1030,7 +1030,7 @@ PCSTR PathGetSharedLibraryExtensionA(unsigned long dwFlags) PCWSTR PathGetSharedLibraryExtensionW(unsigned long dwFlags) { - static WCHAR buffer[6][16] = { 0 }; + static WCHAR buffer[6][16] = WINPR_C_ARRAY_INIT; const WCHAR* SharedLibraryExtensionDotDllW = InitializeConstWCharFromUtf8( SharedLibraryExtensionDotDllA, buffer[0], ARRAYSIZE(buffer[0])); const WCHAR* SharedLibraryExtensionDotSoW = @@ -1156,7 +1156,7 @@ BOOL winpr_RemoveDirectory_RecursiveA(LPCSTR lpPathName) goto fail; { - WIN32_FIND_DATAA findFileData = { 0 }; + WIN32_FIND_DATAA findFileData = WINPR_C_ARRAY_INIT; dir = FindFirstFileA(path_slash, &findFileData); if (dir == INVALID_HANDLE_VALUE) @@ -1258,7 +1258,7 @@ char* winpr_GetConfigFilePath(BOOL system, const char* filename) char* winpr_GetConfigFilePathV(BOOL system, const char* filename, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, filename); char* str = winpr_GetConfigFilePathVA(system, filename, ap); va_end(ap); diff --git a/winpr/libwinpr/path/shell.c b/winpr/libwinpr/path/shell.c index e3fce3423..addc9b959 100644 --- a/winpr/libwinpr/path/shell.c +++ b/winpr/libwinpr/path/shell.c @@ -401,7 +401,7 @@ char* GetKnownSubPath(eKnownPathTypes id, const char* path) char* GetKnownSubPathV(eKnownPathTypes id, const char* path, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, path); char* str = GetKnownSubPathVA(id, path, ap); @@ -455,7 +455,7 @@ char* GetEnvironmentSubPath(char* name, const char* path) char* GetEnvironmentSubPathV(char* name, const char* path, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, path); char* str = GetEnvironmentSubPathVA(name, path, ap); va_end(ap); @@ -483,7 +483,7 @@ char* GetCombinedPath(const char* basePath, const char* subPathFmt) char* GetCombinedPathV(const char* basePath, const char* subPathFmt, ...) { - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, subPathFmt); char* str = GetCombinedPathVA(basePath, subPathFmt, ap); diff --git a/winpr/libwinpr/path/test/TestPathCchAddBackslash.c b/winpr/libwinpr/path/test/TestPathCchAddBackslash.c index 55309d63f..3066aa5bb 100644 --- a/winpr/libwinpr/path/test/TestPathCchAddBackslash.c +++ b/winpr/libwinpr/path/test/TestPathCchAddBackslash.c @@ -11,7 +11,7 @@ static const TCHAR testPathNoBackslash[] = _T("C:\\Program Files"); int TestPathCchAddBackslash(int argc, char* argv[]) { HRESULT status = 0; - TCHAR Path[PATHCCH_MAX_CCH] = { 0 }; + TCHAR Path[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/path/test/TestPathCchAddBackslashEx.c b/winpr/libwinpr/path/test/TestPathCchAddBackslashEx.c index d9d09c49f..3c06bab9b 100644 --- a/winpr/libwinpr/path/test/TestPathCchAddBackslashEx.c +++ b/winpr/libwinpr/path/test/TestPathCchAddBackslashEx.c @@ -13,7 +13,7 @@ int TestPathCchAddBackslashEx(int argc, char* argv[]) HRESULT status = 0; LPTSTR pszEnd = NULL; size_t cchRemaining = 0; - TCHAR Path[PATHCCH_MAX_CCH] = { 0 }; + TCHAR Path[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/path/test/TestPathCchAddExtension.c b/winpr/libwinpr/path/test/TestPathCchAddExtension.c index a641dbf00..4a8f1a3ac 100644 --- a/winpr/libwinpr/path/test/TestPathCchAddExtension.c +++ b/winpr/libwinpr/path/test/TestPathCchAddExtension.c @@ -13,7 +13,7 @@ static const TCHAR testPathExtension[] = _T("C:\\Windows\\System32\\cmd.exe"); int TestPathCchAddExtension(int argc, char* argv[]) { HRESULT status = 0; - TCHAR Path[PATHCCH_MAX_CCH] = { 0 }; + TCHAR Path[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/path/test/TestPathCchStripPrefix.c b/winpr/libwinpr/path/test/TestPathCchStripPrefix.c index b2b7d5d06..bb62e03b1 100644 --- a/winpr/libwinpr/path/test/TestPathCchStripPrefix.c +++ b/winpr/libwinpr/path/test/TestPathCchStripPrefix.c @@ -20,7 +20,7 @@ static const TCHAR testPathPrefixDeviceNamespace[] = _T("\\\\?\\GLOBALROOT"); int TestPathCchStripPrefix(int argc, char* argv[]) { HRESULT status = 0; - TCHAR Path[PATHCCH_MAX_CCH] = { 0 }; + TCHAR Path[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/path/test/TestPathIsUNCEx.c b/winpr/libwinpr/path/test/TestPathIsUNCEx.c index a2edc5169..9789e1110 100644 --- a/winpr/libwinpr/path/test/TestPathIsUNCEx.c +++ b/winpr/libwinpr/path/test/TestPathIsUNCEx.c @@ -13,7 +13,7 @@ int TestPathIsUNCEx(int argc, char* argv[]) { BOOL status = 0; LPCTSTR Server = NULL; - TCHAR Path[PATHCCH_MAX_CCH] = { 0 }; + TCHAR Path[PATHCCH_MAX_CCH] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/path/test/TestPathMakePath.c b/winpr/libwinpr/path/test/TestPathMakePath.c index 36fbaaf05..707a40be9 100644 --- a/winpr/libwinpr/path/test/TestPathMakePath.c +++ b/winpr/libwinpr/path/test/TestPathMakePath.c @@ -20,7 +20,7 @@ int TestPathMakePath(int argc, char* argv[]) { size_t baseLen = 0; BOOL success = 0; - char tmp[64] = { 0 }; + char tmp[64] = WINPR_C_ARRAY_INIT; char* path = NULL; char* cur = NULL; char delim = PathGetSeparatorA(0); diff --git a/winpr/libwinpr/pipe/pipe.c b/winpr/libwinpr/pipe/pipe.c index 8c463aab2..0e4c5fb87 100644 --- a/winpr/libwinpr/pipe/pipe.c +++ b/winpr/libwinpr/pipe/pipe.c @@ -306,7 +306,7 @@ BOOL NamedPipeRead(PVOID Object, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, #ifdef WINPR_HAVE_SYS_AIO_H { int aio_status; - struct aiocb cb = { 0 }; + struct aiocb cb = WINPR_C_ARRAY_INIT; cb.aio_fildes = pipe->clientfd; cb.aio_buf = lpBuffer; @@ -393,7 +393,7 @@ BOOL NamedPipeWrite(PVOID Object, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, pipe->lpOverlapped = lpOverlapped; #ifdef WINPR_HAVE_SYS_AIO_H { - struct aiocb cb = { 0 }; + struct aiocb cb = WINPR_C_ARRAY_INIT; cb.aio_fildes = pipe->clientfd; cb.aio_buf = (void*)lpBuffer; @@ -627,7 +627,7 @@ HANDLE CreateNamedPipeA(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD /* If this is the first instance of the named pipe... */ if (serverfd == -1) { - struct sockaddr_un s = { 0 }; + struct sockaddr_un s = WINPR_C_ARRAY_INIT; /* Create the UNIX domain socket and start listening. */ if (!(lpPipePath = GetNamedPipeUnixDomainSocketBaseFilePathA())) goto out; @@ -650,7 +650,7 @@ HANDLE CreateNamedPipeA(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD if ((serverfd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "CreateNamedPipeA: socket error, %s", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); goto out; @@ -661,7 +661,7 @@ HANDLE CreateNamedPipeA(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD if (bind(serverfd, (struct sockaddr*)&s, sizeof(struct sockaddr_un)) == -1) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "CreateNamedPipeA: bind error, %s", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); goto out; @@ -669,7 +669,7 @@ HANDLE CreateNamedPipeA(LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD if (listen(serverfd, 2) == -1) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "CreateNamedPipeA: listen error, %s", winpr_strerror(errno, ebuffer, sizeof(ebuffer))); goto out; @@ -757,7 +757,7 @@ BOOL ConnectNamedPipe(HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped) if (!(pNamedPipe->dwFlagsAndAttributes & FILE_FLAG_OVERLAPPED)) { - struct sockaddr_un s = { 0 }; + struct sockaddr_un s = WINPR_C_ARRAY_INIT; length = sizeof(struct sockaddr_un); status = accept(pNamedPipe->serverfd, (struct sockaddr*)&s, &length); diff --git a/winpr/libwinpr/pipe/test/TestPipeCreateNamedPipe.c b/winpr/libwinpr/pipe/test/TestPipeCreateNamedPipe.c index 314a9c4e2..bc7c18cbe 100644 --- a/winpr/libwinpr/pipe/test/TestPipeCreateNamedPipe.c +++ b/winpr/libwinpr/pipe/test/TestPipeCreateNamedPipe.c @@ -191,8 +191,8 @@ out: #define TESTNUMPIPESST 16 static DWORD WINAPI named_pipe_single_thread(LPVOID arg) { - HANDLE servers[TESTNUMPIPESST] = { 0 }; - HANDLE clients[TESTNUMPIPESST] = { 0 }; + HANDLE servers[TESTNUMPIPESST] = WINPR_C_ARRAY_INIT; + HANDLE clients[TESTNUMPIPESST] = WINPR_C_ARRAY_INIT; DWORD dwRead = 0; DWORD dwWritten = 0; int numPipes = 0; @@ -299,8 +299,8 @@ static DWORD WINAPI named_pipe_single_thread(LPVOID arg) for (int i = 0; i < numPipes; i++) { { - char sndbuf[PIPE_BUFFER_SIZE] = { 0 }; - char rcvbuf[PIPE_BUFFER_SIZE] = { 0 }; + char sndbuf[PIPE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; + char rcvbuf[PIPE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; /* Test writing from clients to servers */ (void)sprintf_s(sndbuf, sizeof(sndbuf), "CLIENT->SERVER ON PIPE #%05d", i); @@ -325,8 +325,8 @@ static DWORD WINAPI named_pipe_single_thread(LPVOID arg) } { - char sndbuf[PIPE_BUFFER_SIZE] = { 0 }; - char rcvbuf[PIPE_BUFFER_SIZE] = { 0 }; + char sndbuf[PIPE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; + char rcvbuf[PIPE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; /* Test writing from servers to clients */ (void)sprintf_s(sndbuf, sizeof(sndbuf), "SERVER->CLIENT ON PIPE #%05d", i); @@ -360,8 +360,8 @@ static DWORD WINAPI named_pipe_single_thread(LPVOID arg) int i = numPipes - 1; DisconnectNamedPipe(servers[i]); { - char sndbuf[PIPE_BUFFER_SIZE] = { 0 }; - char rcvbuf[PIPE_BUFFER_SIZE] = { 0 }; + char sndbuf[PIPE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; + char rcvbuf[PIPE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; if (ReadFile(clients[i], rcvbuf, sizeof(rcvbuf), &dwRead, NULL)) { printf("%s: Error ReadFile on client should have failed after DisconnectNamedPipe on " @@ -390,8 +390,8 @@ static DWORD WINAPI named_pipe_single_thread(LPVOID arg) (void)CloseHandle(servers[i]); { - char sndbuf[PIPE_BUFFER_SIZE] = { 0 }; - char rcvbuf[PIPE_BUFFER_SIZE] = { 0 }; + char sndbuf[PIPE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; + char rcvbuf[PIPE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; if (ReadFile(clients[i], rcvbuf, sizeof(rcvbuf), &dwRead, NULL)) { @@ -419,8 +419,8 @@ static DWORD WINAPI named_pipe_single_thread(LPVOID arg) (void)CloseHandle(clients[i]); { - char sndbuf[PIPE_BUFFER_SIZE] = { 0 }; - char rcvbuf[PIPE_BUFFER_SIZE] = { 0 }; + char sndbuf[PIPE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; + char rcvbuf[PIPE_BUFFER_SIZE] = WINPR_C_ARRAY_INIT; if (ReadFile(servers[i], rcvbuf, sizeof(rcvbuf), &dwRead, NULL)) { diff --git a/winpr/libwinpr/pipe/test/TestPipeCreateNamedPipeOverlapped.c b/winpr/libwinpr/pipe/test/TestPipeCreateNamedPipeOverlapped.c index 90954a86f..6740c2656 100644 --- a/winpr/libwinpr/pipe/test/TestPipeCreateNamedPipeOverlapped.c +++ b/winpr/libwinpr/pipe/test/TestPipeCreateNamedPipeOverlapped.c @@ -30,7 +30,7 @@ static DWORD WINAPI named_pipe_client_thread(LPVOID arg) HANDLE hNamedPipe = NULL; BYTE* lpReadBuffer = NULL; BOOL fSuccess = FALSE; - OVERLAPPED overlapped = { 0 }; + OVERLAPPED overlapped = WINPR_C_ARRAY_INIT; DWORD nNumberOfBytesToRead = 0; DWORD nNumberOfBytesToWrite = 0; DWORD NumberOfBytesTransferred = 0; @@ -159,7 +159,7 @@ static DWORD WINAPI named_pipe_server_thread(LPVOID arg) HANDLE hEvent = NULL; HANDLE hNamedPipe = NULL; BYTE* lpReadBuffer = NULL; - OVERLAPPED overlapped = { 0 }; + OVERLAPPED overlapped = WINPR_C_ARRAY_INIT; BOOL fSuccess = FALSE; BOOL fConnected = FALSE; DWORD nNumberOfBytesToRead = 0; diff --git a/winpr/libwinpr/pipe/test/TestPipeCreatePipe.c b/winpr/libwinpr/pipe/test/TestPipeCreatePipe.c index 0537b8aed..4661b306c 100644 --- a/winpr/libwinpr/pipe/test/TestPipeCreatePipe.c +++ b/winpr/libwinpr/pipe/test/TestPipeCreatePipe.c @@ -14,8 +14,8 @@ int TestPipeCreatePipe(int argc, char* argv[]) DWORD dwWrite = 0; HANDLE hReadPipe = NULL; HANDLE hWritePipe = NULL; - BYTE readBuffer[BUFFER_SIZE] = { 0 }; - BYTE writeBuffer[BUFFER_SIZE] = { 0 }; + BYTE readBuffer[BUFFER_SIZE] = WINPR_C_ARRAY_INIT; + BYTE writeBuffer[BUFFER_SIZE] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); status = CreatePipe(&hReadPipe, &hWritePipe, NULL, BUFFER_SIZE * 2); diff --git a/winpr/libwinpr/pool/pool.c b/winpr/libwinpr/pool/pool.c index 67d8b7179..fe2eb51b3 100644 --- a/winpr/libwinpr/pool/pool.c +++ b/winpr/libwinpr/pool/pool.c @@ -135,7 +135,7 @@ static BOOL InitializeThreadpool(PTP_POOL pool) #endif { - SYSTEM_INFO info = { 0 }; + SYSTEM_INFO info = WINPR_C_ARRAY_INIT; GetSystemInfo(&info); DWORD min = info.dwNumberOfProcessors; @@ -209,7 +209,7 @@ VOID winpr_CloseThreadpool(PTP_POOL ptpp) (void)CloseHandle(ptpp->TerminateEvent); { - TP_POOL empty = { 0 }; + TP_POOL empty = WINPR_C_ARRAY_INIT; *ptpp = empty; } diff --git a/winpr/libwinpr/pool/test/TestPoolWork.c b/winpr/libwinpr/pool/test/TestPoolWork.c index 05e857f6b..2159d8970 100644 --- a/winpr/libwinpr/pool/test/TestPoolWork.c +++ b/winpr/libwinpr/pool/test/TestPoolWork.c @@ -15,7 +15,7 @@ static void CALLBACK test_WorkCallback(PTP_CALLBACK_INSTANCE instance, void* con { BYTE a[1024]; BYTE b[1024]; - BYTE c[1024] = { 0 }; + BYTE c[1024] = WINPR_C_ARRAY_INIT; FillMemory(a, ARRAYSIZE(a), 0xAA); FillMemory(b, ARRAYSIZE(b), 0xBB); diff --git a/winpr/libwinpr/registry/registry_reg.c b/winpr/libwinpr/registry/registry_reg.c index 42aa54e57..6f97296a9 100644 --- a/winpr/libwinpr/registry/registry_reg.c +++ b/winpr/libwinpr/registry/registry_reg.c @@ -134,7 +134,7 @@ static void reg_load_finish(Reg* reg) static RegVal* reg_load_value(const Reg* reg, RegKey* key) { - const char* p[5] = { 0 }; + const char* p[5] = WINPR_C_ARRAY_INIT; size_t length = 0; char* name = NULL; const char* type = NULL; diff --git a/winpr/libwinpr/rpc/rpc.c b/winpr/libwinpr/rpc/rpc.c index 5dbd89e78..a90c395ef 100644 --- a/winpr/libwinpr/rpc/rpc.c +++ b/winpr/libwinpr/rpc/rpc.c @@ -859,7 +859,7 @@ RPC_STATUS UuidToStringW(WINPR_ATTR_UNUSED const UUID* Uuid, WINPR_ATTR_UNUSED R RPC_STATUS UuidFromStringA(RPC_CSTR StringUuid, UUID* Uuid) { - BYTE bin[36] = { 0 }; + BYTE bin[36] = WINPR_C_ARRAY_INIT; if (!StringUuid) return UuidCreateNil(Uuid); diff --git a/winpr/libwinpr/shell/shell.c b/winpr/libwinpr/shell/shell.c index 75a6d504c..982d6d780 100644 --- a/winpr/libwinpr/shell/shell.c +++ b/winpr/libwinpr/shell/shell.c @@ -45,7 +45,7 @@ BOOL GetUserProfileDirectoryA(HANDLE hToken, LPSTR lpProfileDir, LPDWORD lpcchSize) { - struct passwd pwd = { 0 }; + struct passwd pwd = WINPR_C_ARRAY_INIT; struct passwd* pw = NULL; WINPR_ACCESS_TOKEN* token = (WINPR_ACCESS_TOKEN*)hToken; diff --git a/winpr/libwinpr/smartcard/smartcard_pcsc.c b/winpr/libwinpr/smartcard/smartcard_pcsc.c index e316e1843..e84582ca5 100644 --- a/winpr/libwinpr/smartcard/smartcard_pcsc.c +++ b/winpr/libwinpr/smartcard/smartcard_pcsc.c @@ -218,7 +218,7 @@ typedef struct } PCSC_SCARDHANDLE; static HMODULE g_PCSCModule = NULL; -static PCSCFunctionTable g_PCSC = { 0 }; +static PCSCFunctionTable g_PCSC = WINPR_C_ARRAY_INIT; static HANDLE g_StartedEvent = NULL; static int g_StartedEventRefCount = 0; diff --git a/winpr/libwinpr/sspi/CredSSP/credssp.c b/winpr/libwinpr/sspi/CredSSP/credssp.c index 1b53050f8..b2187ae7b 100644 --- a/winpr/libwinpr/sspi/CredSSP/credssp.c +++ b/winpr/libwinpr/sspi/CredSSP/credssp.c @@ -317,8 +317,8 @@ const SecPkgInfoA CREDSSP_SecPkgInfoA = { "Microsoft CredSSP Security Provider" /* Comment */ }; -static WCHAR CREDSSP_SecPkgInfoW_NameBuffer[128] = { 0 }; -static WCHAR CREDSSP_SecPkgInfoW_CommentBuffer[128] = { 0 }; +static WCHAR CREDSSP_SecPkgInfoW_NameBuffer[128] = WINPR_C_ARRAY_INIT; +static WCHAR CREDSSP_SecPkgInfoW_CommentBuffer[128] = WINPR_C_ARRAY_INIT; const SecPkgInfoW CREDSSP_SecPkgInfoW = { 0x000110733, /* fCapabilities */ diff --git a/winpr/libwinpr/sspi/Kerberos/kerberos.c b/winpr/libwinpr/sspi/Kerberos/kerberos.c index da142b4f2..c3a31192f 100644 --- a/winpr/libwinpr/sspi/Kerberos/kerberos.c +++ b/winpr/libwinpr/sspi/Kerberos/kerberos.c @@ -70,8 +70,8 @@ const SecPkgInfoA KERBEROS_SecPkgInfoA = { "Kerberos Security Package" /* Comment */ }; -static WCHAR KERBEROS_SecPkgInfoW_NameBuffer[32] = { 0 }; -static WCHAR KERBEROS_SecPkgInfoW_CommentBuffer[32] = { 0 }; +static WCHAR KERBEROS_SecPkgInfoW_NameBuffer[32] = WINPR_C_ARRAY_INIT; +static WCHAR KERBEROS_SecPkgInfoW_CommentBuffer[32] = WINPR_C_ARRAY_INIT; const SecPkgInfoW KERBEROS_SecPkgInfoW = { 0x000F3BBF, /* fCapabilities */ @@ -227,14 +227,14 @@ static inline krb5glue_key get_key(struct krb5glue_keyset* keyset) static BOOL isValidIPv4(const char* ipAddress) { - struct sockaddr_in sa = { 0 }; + struct sockaddr_in sa = WINPR_C_ARRAY_INIT; int result = inet_pton(AF_INET, ipAddress, &(sa.sin_addr)); return result != 0; } static BOOL isValidIPv6(const char* ipAddress) { - struct sockaddr_in6 sa = { 0 }; + struct sockaddr_in6 sa = WINPR_C_ARRAY_INIT; int result = inet_pton(AF_INET6, ipAddress, &(sa.sin6_addr)); return result != 0; } @@ -286,7 +286,7 @@ static int build_krbtgt(krb5_context ctx, krb5_principal principal, krb5_princip goto fail; { - krb5_principal target = { 0 }; + krb5_principal target = WINPR_C_ARRAY_INIT; rv = krb5_parse_name(ctx, name, &target); *ptarget = target; } @@ -447,8 +447,8 @@ static SECURITY_STATUS SEC_ENTRY kerberos_AcquireCredentialsHandleA( /* Get initial credentials if required */ if (fCredentialUse & SECPKG_CRED_OUTBOUND) { - krb5_creds creds = { 0 }; - krb5_creds matchCreds = { 0 }; + krb5_creds creds = WINPR_C_ARRAY_INIT; + krb5_creds matchCreds = WINPR_C_ARRAY_INIT; krb5_flags matchFlags = KRB5_TC_MATCH_TIMES; krb5_timeofday(ctx, &matchCreds.times.endtime); @@ -972,16 +972,16 @@ static SECURITY_STATUS SEC_ENTRY kerberos_InitializeSecurityContextA( char* target = NULL; char* sname = NULL; char* host = NULL; - krb5_data input_token = { 0 }; - krb5_data output_token = { 0 }; + krb5_data input_token = WINPR_C_ARRAY_INIT; + krb5_data output_token = WINPR_C_ARRAY_INIT; SECURITY_STATUS status = SEC_E_INTERNAL_ERROR; - WinPrAsn1_OID oid = { 0 }; + WinPrAsn1_OID oid = WINPR_C_ARRAY_INIT; uint16_t tok_id = 0; krb5_ap_rep_enc_part* reply = NULL; krb5_flags ap_flags = AP_OPTS_USE_SUBKEY; - char cksum_contents[24] = { 0 }; - krb5_data cksum = { 0 }; - krb5_creds in_creds = { 0 }; + char cksum_contents[24] = WINPR_C_ARRAY_INIT; + krb5_data cksum = WINPR_C_ARRAY_INIT; + krb5_creds in_creds = WINPR_C_ARRAY_INIT; krb5_creds* creds = NULL; BOOL isNewContext = FALSE; KRB_CONTEXT* context = NULL; @@ -1241,7 +1241,7 @@ static SECURITY_STATUS SEC_ENTRY kerberos_InitializeSecurityContextA( cleanup: { /* second_ticket is not allocated */ - krb5_data edata = { 0 }; + krb5_data edata = WINPR_C_ARRAY_INIT; in_creds.second_ticket = edata; krb5_free_cred_contents(credentials->ctx, &in_creds); } @@ -1309,8 +1309,8 @@ static BOOL retrieveTgtForPrincipal(KRB_CREDENTIALS* credentials, krb5_principal krb5_creds* creds) { BOOL ret = FALSE; - krb5_kt_cursor cur = { 0 }; - krb5_keytab_entry entry = { 0 }; + krb5_kt_cursor cur = WINPR_C_ARRAY_INIT; + krb5_keytab_entry entry = WINPR_C_ARRAY_INIT; if (krb_log_exec(krb5_kt_start_seq_get, credentials->ctx, credentials->keytab, &cur)) goto cleanup; @@ -1351,7 +1351,7 @@ cleanup: static BOOL retrieveSomeTgt(KRB_CREDENTIALS* credentials, const char* target, krb5_creds* creds) { BOOL ret = TRUE; - krb5_principal target_princ = { 0 }; + krb5_principal target_princ = WINPR_C_ARRAY_INIT; char* default_realm = NULL; krb5_error_code rv = @@ -1396,7 +1396,7 @@ static BOOL retrieveSomeTgt(KRB_CREDENTIALS* credentials, const char* target, kr * if it's not working let's try with $@ (note the dollar) */ { - char hostDollar[300] = { 0 }; + char hostDollar[300] = WINPR_C_ARRAY_INIT; if (target_princ->length < 2) goto out; @@ -1431,16 +1431,16 @@ static SECURITY_STATUS SEC_ENTRY kerberos_AcceptSecurityContext( BOOL isNewContext = FALSE; PSecBuffer input_buffer = NULL; PSecBuffer output_buffer = NULL; - WinPrAsn1_OID oid = { 0 }; + WinPrAsn1_OID oid = WINPR_C_ARRAY_INIT; uint16_t tok_id = 0; - krb5_data input_token = { 0 }; - krb5_data output_token = { 0 }; + krb5_data input_token = WINPR_C_ARRAY_INIT; + krb5_data output_token = WINPR_C_ARRAY_INIT; SECURITY_STATUS status = SEC_E_INTERNAL_ERROR; krb5_flags ap_flags = 0; krb5glue_authenticator authenticator = NULL; char* target = NULL; - krb5_keytab_entry entry = { 0 }; - krb5_creds creds = { 0 }; + krb5_keytab_entry entry = WINPR_C_ARRAY_INIT; + krb5_creds creds = WINPR_C_ARRAY_INIT; /* behave like windows SSPIs that don't want empty context */ if (phContext && !phContext->dwLower && !phContext->dwUpper) @@ -1719,7 +1719,7 @@ static SECURITY_STATUS kerberos_ATTR_AUTH_IDENTITY(KRB_CONTEXT* context, KRB_CREDENTIALS* credentials, SecPkgContext_AuthIdentity* AuthIdentity) { - const SecPkgContext_AuthIdentity empty = { 0 }; + const SecPkgContext_AuthIdentity empty = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); WINPR_ASSERT(context->auth_ctx); @@ -1821,7 +1821,7 @@ static SECURITY_STATUS kerberos_ATTR_TICKET_LOGON(KRB_CONTEXT* context, KRB_CREDENTIALS* credentials, KERB_TICKET_LOGON* ticketLogon) { - krb5_creds matchCred = { 0 }; + krb5_creds matchCred = WINPR_C_ARRAY_INIT; krb5_auth_context authContext = NULL; krb5_flags getCredsFlags = KRB5_GC_CACHED; BOOL firstRun = TRUE; @@ -1862,7 +1862,7 @@ again: goto out; { - krb5_data derOut = { 0 }; + krb5_data derOut = WINPR_C_ARRAY_INIT; if (krb_log_exec(krb5_fwd_tgt_creds, credentials->ctx, authContext, context->targetHost, matchCred.client, matchCred.server, credentials->ccache, 1, &derOut)) { diff --git a/winpr/libwinpr/sspi/Kerberos/krb5glue_heimdal.c b/winpr/libwinpr/sspi/Kerberos/krb5glue_heimdal.c index fbd87016b..e9cb9f396 100644 --- a/winpr/libwinpr/sspi/Kerberos/krb5glue_heimdal.c +++ b/winpr/libwinpr/sspi/Kerberos/krb5glue_heimdal.c @@ -116,7 +116,7 @@ krb5_error_code krb5glue_crypto_length(krb5_context ctx, krb5glue_key key, int t krb5_error_code krb5glue_log_error(krb5_context ctx, krb5_data* msg, const char* tag) { - krb5_error error = { 0 }; + krb5_error error = WINPR_C_ARRAY_INIT; krb5_error_code rv = 0; WINPR_ASSERT(ctx); @@ -153,7 +153,7 @@ krb5_error_code krb5glue_get_init_creds(krb5_context ctx, krb5_principal princ, krb5_deltat start_time = 0; krb5_get_init_creds_opt* gic_opt = NULL; krb5_init_creds_context creds_ctx = NULL; - krb5_creds creds = { 0 }; + krb5_creds creds = WINPR_C_ARRAY_INIT; WINPR_ASSERT(ctx); diff --git a/winpr/libwinpr/sspi/Kerberos/krb5glue_mit.c b/winpr/libwinpr/sspi/Kerberos/krb5glue_mit.c index 366831017..ae94a2bed 100644 --- a/winpr/libwinpr/sspi/Kerberos/krb5glue_mit.c +++ b/winpr/libwinpr/sspi/Kerberos/krb5glue_mit.c @@ -176,7 +176,7 @@ krb5_error_code krb5glue_get_init_creds(krb5_context ctx, krb5_principal princ, } if (krb_settings->kdcUrl && (strnlen(krb_settings->kdcUrl, 2) > 0)) { - const char* names[4] = { 0 }; + const char* names[4] = WINPR_C_ARRAY_INIT; char* realm = NULL; char* kdc_url = NULL; size_t size = 0; diff --git a/winpr/libwinpr/sspi/NTLM/ntlm.c b/winpr/libwinpr/sspi/NTLM/ntlm.c index acdcbc8bf..b262a5ef4 100644 --- a/winpr/libwinpr/sspi/NTLM/ntlm.c +++ b/winpr/libwinpr/sspi/NTLM/ntlm.c @@ -852,7 +852,7 @@ static SECURITY_STATUS SEC_ENTRY ntlm_QueryContextAttributesW(PCtxtHandle phCont else if (ulAttribute == SECPKG_ATTR_AUTH_IDENTITY) { SSPI_CREDENTIALS* credentials = NULL; - const SecPkgContext_AuthIdentity empty = { 0 }; + const SecPkgContext_AuthIdentity empty = WINPR_C_ARRAY_INIT; SecPkgContext_AuthIdentity* AuthIdentity = (SecPkgContext_AuthIdentity*)pBuffer; WINPR_ASSERT(AuthIdentity); @@ -1086,8 +1086,8 @@ static SECURITY_STATUS SEC_ENTRY ntlm_EncryptMessage(PCtxtHandle phContext, { const UINT32 SeqNo = MessageSeqNo; UINT32 value = 0; - BYTE digest[WINPR_MD5_DIGEST_LENGTH] = { 0 }; - BYTE checksum[8] = { 0 }; + BYTE digest[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; + BYTE checksum[8] = WINPR_C_ARRAY_INIT; ULONG version = 1; PSecBuffer data_buffer = NULL; PSecBuffer signature_buffer = NULL; @@ -1179,10 +1179,10 @@ static SECURITY_STATUS SEC_ENTRY ntlm_DecryptMessage(PCtxtHandle phContext, PSec { const UINT32 SeqNo = (UINT32)MessageSeqNo; UINT32 value = 0; - BYTE digest[WINPR_MD5_DIGEST_LENGTH] = { 0 }; - BYTE checksum[8] = { 0 }; + BYTE digest[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; + BYTE checksum[8] = WINPR_C_ARRAY_INIT; UINT32 version = 1; - BYTE expected_signature[WINPR_MD5_DIGEST_LENGTH] = { 0 }; + BYTE expected_signature[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; PSecBuffer data_buffer = NULL; PSecBuffer signature_buffer = NULL; NTLM_CONTEXT* context = (NTLM_CONTEXT*)sspi_SecureHandleGetLowerPointer(phContext); @@ -1276,8 +1276,8 @@ static SECURITY_STATUS SEC_ENTRY ntlm_MakeSignature(PCtxtHandle phContext, PSecBuffer data_buffer = NULL; PSecBuffer sig_buffer = NULL; UINT32 seq_no = 0; - BYTE digest[WINPR_MD5_DIGEST_LENGTH] = { 0 }; - BYTE checksum[8] = { 0 }; + BYTE digest[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; + BYTE checksum[8] = WINPR_C_ARRAY_INIT; NTLM_CONTEXT* context = sspi_SecureHandleGetLowerPointer(phContext); if (!check_context(context)) @@ -1326,9 +1326,9 @@ static SECURITY_STATUS SEC_ENTRY ntlm_VerifySignature(PCtxtHandle phContext, PSecBuffer data_buffer = NULL; PSecBuffer sig_buffer = NULL; UINT32 seq_no = 0; - BYTE digest[WINPR_MD5_DIGEST_LENGTH] = { 0 }; - BYTE checksum[8] = { 0 }; - BYTE signature[16] = { 0 }; + BYTE digest[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; + BYTE checksum[8] = WINPR_C_ARRAY_INIT; + BYTE signature[16] = WINPR_C_ARRAY_INIT; NTLM_CONTEXT* context = sspi_SecureHandleGetLowerPointer(phContext); if (!check_context(context)) @@ -1444,8 +1444,8 @@ const SecPkgInfoA NTLM_SecPkgInfoA = { "NTLM Security Package" /* Comment */ }; -static WCHAR NTLM_SecPkgInfoW_NameBuffer[32] = { 0 }; -static WCHAR NTLM_SecPkgInfoW_CommentBuffer[32] = { 0 }; +static WCHAR NTLM_SecPkgInfoW_NameBuffer[32] = WINPR_C_ARRAY_INIT; +static WCHAR NTLM_SecPkgInfoW_CommentBuffer[32] = WINPR_C_ARRAY_INIT; const SecPkgInfoW NTLM_SecPkgInfoW = { 0x00082B37, /* fCapabilities */ diff --git a/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c b/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c index c06b37ed2..2103fd3fc 100644 --- a/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c +++ b/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c @@ -506,10 +506,10 @@ BOOL ntlm_construct_challenge_target_info(NTLM_CONTEXT* context) ULONG AvPairsLength = 0; NTLM_AV_PAIR* pAvPairList = NULL; size_t cbAvPairList = 0; - UNICODE_STRING NbDomainName = { 0 }; - UNICODE_STRING NbComputerName = { 0 }; - UNICODE_STRING DnsDomainName = { 0 }; - UNICODE_STRING DnsComputerName = { 0 }; + UNICODE_STRING NbDomainName = WINPR_C_ARRAY_INIT; + UNICODE_STRING NbComputerName = WINPR_C_ARRAY_INIT; + UNICODE_STRING DnsDomainName = WINPR_C_ARRAY_INIT; + UNICODE_STRING DnsComputerName = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); diff --git a/winpr/libwinpr/sspi/NTLM/ntlm_compute.c b/winpr/libwinpr/sspi/NTLM/ntlm_compute.c index d6d7ca2aa..7319e7608 100644 --- a/winpr/libwinpr/sspi/NTLM/ntlm_compute.c +++ b/winpr/libwinpr/sspi/NTLM/ntlm_compute.c @@ -60,7 +60,7 @@ BOOL ntlm_get_version_info(NTLM_VERSION_INFO* versionInfo) WINPR_ASSERT(versionInfo); #if defined(WITH_WINPR_DEPRECATED) - OSVERSIONINFOA osVersionInfo = { 0 }; + OSVERSIONINFOA osVersionInfo = WINPR_C_ARRAY_INIT; osVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA); if (!GetVersionExA(&osVersionInfo)) return FALSE; @@ -248,7 +248,7 @@ BOOL ntlm_write_ntlm_v2_response(wStream* s, const NTLMv2_RESPONSE* response) void ntlm_current_time(BYTE* timestamp) { - FILETIME ft = { 0 }; + FILETIME ft = WINPR_C_ARRAY_INIT; WINPR_ASSERT(timestamp); @@ -503,7 +503,7 @@ static BOOL ntlm_compute_ntlm_v2_hash(NTLM_CONTEXT* context, BYTE* hash) SECURITY_STATUS ntlm_compute_lm_v2_response(NTLM_CONTEXT* context) { BYTE* response = NULL; - BYTE value[WINPR_MD5_DIGEST_LENGTH] = { 0 }; + BYTE value[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); @@ -550,8 +550,8 @@ SECURITY_STATUS ntlm_compute_lm_v2_response(NTLM_CONTEXT* context) SECURITY_STATUS ntlm_compute_ntlm_v2_response(NTLM_CONTEXT* context) { - SecBuffer ntlm_v2_temp = { 0 }; - SecBuffer ntlm_v2_temp_chal = { 0 }; + SecBuffer ntlm_v2_temp = WINPR_C_ARRAY_INIT; + SecBuffer ntlm_v2_temp_chal = WINPR_C_ARRAY_INIT; WINPR_ASSERT(context); @@ -921,7 +921,7 @@ BOOL ntlm_compute_message_integrity_check(NTLM_CONTEXT* context, BYTE* mic, UINT if (context->MessageIntegrityCheckOffset > 0) { const BYTE* auth = (BYTE*)context->AuthenticateMessage.pvBuffer; - const BYTE data[WINPR_MD5_DIGEST_LENGTH] = { 0 }; + const BYTE data[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; const size_t rest = context->MessageIntegrityCheckOffset + sizeof(data); WINPR_ASSERT(rest <= context->AuthenticateMessage.cbBuffer); diff --git a/winpr/libwinpr/sspi/NTLM/ntlm_message.c b/winpr/libwinpr/sspi/NTLM/ntlm_message.c index a3952559c..ec404cc9b 100644 --- a/winpr/libwinpr/sspi/NTLM/ntlm_message.c +++ b/winpr/libwinpr/sspi/NTLM/ntlm_message.c @@ -254,7 +254,7 @@ static BOOL ntlm_read_message_header(wStream* s, NTLM_MESSAGE_HEADER* header, UI if (strncmp((char*)header->Signature, NTLM_SIGNATURE, 8) != 0) { - char Signature[sizeof(header->Signature) * 3 + 1] = { 0 }; + char Signature[sizeof(header->Signature) * 3 + 1] = WINPR_C_ARRAY_INIT; winpr_BinToHexStringBuffer(header->Signature, sizeof(header->Signature), Signature, sizeof(Signature), TRUE); @@ -408,7 +408,7 @@ void ntlm_free_message_fields_buffer(NTLM_MESSAGE_FIELDS* fields) static BOOL ntlm_read_negotiate_flags(wStream* s, UINT32* flags, UINT32 required, const char* name) { UINT32 NegotiateFlags = 0; - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(s); WINPR_ASSERT(flags); WINPR_ASSERT(name); @@ -433,7 +433,7 @@ static BOOL ntlm_read_negotiate_flags(wStream* s, UINT32* flags, UINT32 required static BOOL ntlm_write_negotiate_flags(wStream* s, UINT32 flags, const char* name) { - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(s); WINPR_ASSERT(name); @@ -494,7 +494,7 @@ SECURITY_STATUS ntlm_read_NegotiateMessage(NTLM_CONTEXT* context, PSecBuffer buf wStream sbuffer; wStream* s = NULL; size_t length = 0; - const NTLM_NEGOTIATE_MESSAGE empty = { 0 }; + const NTLM_NEGOTIATE_MESSAGE empty = WINPR_C_ARRAY_INIT; NTLM_NEGOTIATE_MESSAGE* message = NULL; WINPR_ASSERT(context); @@ -568,7 +568,7 @@ SECURITY_STATUS ntlm_write_NegotiateMessage(NTLM_CONTEXT* context, SecBuffer* bu wStream sbuffer; wStream* s = NULL; size_t length = 0; - const NTLM_NEGOTIATE_MESSAGE empty = { 0 }; + const NTLM_NEGOTIATE_MESSAGE empty = WINPR_C_ARRAY_INIT; NTLM_NEGOTIATE_MESSAGE* message = NULL; WINPR_ASSERT(context); @@ -662,7 +662,7 @@ SECURITY_STATUS ntlm_read_ChallengeMessage(NTLM_CONTEXT* context, PSecBuffer buf size_t StartOffset = 0; size_t PayloadOffset = 0; NTLM_AV_PAIR* AvTimestamp = NULL; - const NTLM_CHALLENGE_MESSAGE empty = { 0 }; + const NTLM_CHALLENGE_MESSAGE empty = WINPR_C_ARRAY_INIT; NTLM_CHALLENGE_MESSAGE* message = NULL; if (!context || !buffer) @@ -824,7 +824,7 @@ SECURITY_STATUS ntlm_write_ChallengeMessage(NTLM_CONTEXT* context, SecBuffer* bu wStream* s = NULL; size_t length = 0; UINT32 PayloadOffset = 0; - const NTLM_CHALLENGE_MESSAGE empty = { 0 }; + const NTLM_CHALLENGE_MESSAGE empty = WINPR_C_ARRAY_INIT; NTLM_CHALLENGE_MESSAGE* message = NULL; WINPR_ASSERT(context); @@ -938,7 +938,7 @@ SECURITY_STATUS ntlm_read_AuthenticateMessage(NTLM_CONTEXT* context, PSecBuffer UINT32 flags = 0; NTLM_AV_PAIR* AvFlags = NULL; size_t PayloadBufferOffset = 0; - const NTLM_AUTHENTICATE_MESSAGE empty = { 0 }; + const NTLM_AUTHENTICATE_MESSAGE empty = WINPR_C_ARRAY_INIT; NTLM_AUTHENTICATE_MESSAGE* message = NULL; SSPI_CREDENTIALS* credentials = NULL; @@ -1131,7 +1131,7 @@ SECURITY_STATUS ntlm_read_AuthenticateMessage(NTLM_CONTEXT* context, PSecBuffer if (flags & MSV_AV_FLAGS_MESSAGE_INTEGRITY_CHECK) { - BYTE messageIntegrityCheck[16] = { 0 }; + BYTE messageIntegrityCheck[16] = WINPR_C_ARRAY_INIT; ntlm_compute_message_integrity_check(context, messageIntegrityCheck, sizeof(messageIntegrityCheck)); @@ -1225,7 +1225,7 @@ SECURITY_STATUS ntlm_write_AuthenticateMessage(NTLM_CONTEXT* context, SecBuffer* wStream* s = NULL; size_t length = 0; UINT32 PayloadBufferOffset = 0; - const NTLM_AUTHENTICATE_MESSAGE empty = { 0 }; + const NTLM_AUTHENTICATE_MESSAGE empty = WINPR_C_ARRAY_INIT; NTLM_AUTHENTICATE_MESSAGE* message = NULL; SSPI_CREDENTIALS* credentials = NULL; @@ -1350,7 +1350,7 @@ SECURITY_STATUS ntlm_write_AuthenticateMessage(NTLM_CONTEXT* context, SecBuffer* if (context->UseMIC) { - const BYTE data[WINPR_MD5_DIGEST_LENGTH] = { 0 }; + const BYTE data[WINPR_MD5_DIGEST_LENGTH] = WINPR_C_ARRAY_INIT; context->MessageIntegrityCheckOffset = Stream_GetPosition(s); if (!ntlm_write_message_integrity_check(s, Stream_GetPosition(s), data, sizeof(data), diff --git a/winpr/libwinpr/sspi/Negotiate/negotiate.c b/winpr/libwinpr/sspi/Negotiate/negotiate.c index caaaea76c..c0b8438cc 100644 --- a/winpr/libwinpr/sspi/Negotiate/negotiate.c +++ b/winpr/libwinpr/sspi/Negotiate/negotiate.c @@ -77,8 +77,8 @@ const SecPkgInfoA NEGOTIATE_SecPkgInfoA = { "Microsoft Package Negotiator" /* Comment */ }; -static WCHAR NEGOTIATE_SecPkgInfoW_NameBuffer[32] = { 0 }; -static WCHAR NEGOTIATE_SecPkgInfoW_CommentBuffer[32] = { 0 }; +static WCHAR NEGOTIATE_SecPkgInfoW_NameBuffer[32] = WINPR_C_ARRAY_INIT; +static WCHAR NEGOTIATE_SecPkgInfoW_CommentBuffer[32] = WINPR_C_ARRAY_INIT; const SecPkgInfoW NEGOTIATE_SecPkgInfoW = { 0x00083BB3, /* fCapabilities */ @@ -479,11 +479,11 @@ static BOOL negotiate_read_neg_token(PSecBuffer input, NegToken* token) { WinPrAsn1Decoder dec = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1Decoder dec2 = { .encoding = WINPR_ASN1_BER, { 0 } }; - WinPrAsn1_OID oid = { 0 }; + WinPrAsn1_OID oid = WINPR_C_ARRAY_INIT; WinPrAsn1_tagId contextual = 0; WinPrAsn1_tag tag = 0; size_t len = 0; - WinPrAsn1_OctetString octet_string = { 0 }; + WinPrAsn1_OctetString octet_string = WINPR_C_ARRAY_INIT; BOOL err = 0; WINPR_ASSERT(input); @@ -616,7 +616,7 @@ static BOOL negotiate_read_neg_token(PSecBuffer input, NegToken* token) static SECURITY_STATUS negotiate_mic_exchange(NEGOTIATE_CONTEXT* context, NegToken* input_token, NegToken* output_token, PSecBuffer output_buffer) { - SecBuffer mic_buffers[2] = { 0 }; + SecBuffer mic_buffers[2] = WINPR_C_ARRAY_INIT; SecBufferDesc mic_buffer_desc = { SECBUFFER_VERSION, 2, mic_buffers }; SECURITY_STATUS status = 0; @@ -692,7 +692,7 @@ static SECURITY_STATUS SEC_ENTRY negotiate_InitializeSecurityContextW( PSecBuffer input_buffer = NULL; PSecBuffer output_buffer = NULL; PSecBuffer bindings_buffer = NULL; - SecBuffer mech_input_buffers[2] = { 0 }; + SecBuffer mech_input_buffers[2] = WINPR_C_ARRAY_INIT; SecBufferDesc mech_input = { SECBUFFER_VERSION, 2, mech_input_buffers }; SecBufferDesc mech_output = { SECBUFFER_VERSION, 1, &output_token.mechToken }; SECURITY_STATUS status = SEC_E_INTERNAL_ERROR; @@ -1042,7 +1042,7 @@ static SECURITY_STATUS SEC_ENTRY negotiate_AcceptSecurityContext( WinPrAsn1Decoder dec = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1Decoder dec2 = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1_tagId tag = 0; - WinPrAsn1_OID oid = { 0 }; + WinPrAsn1_OID oid = WINPR_C_ARRAY_INIT; const Mech* first_mech = NULL; if (!phCredential || !SecIsValidHandle(phCredential)) diff --git a/winpr/libwinpr/sspi/Schannel/schannel.c b/winpr/libwinpr/sspi/Schannel/schannel.c index 60988202f..034285b4e 100644 --- a/winpr/libwinpr/sspi/Schannel/schannel.c +++ b/winpr/libwinpr/sspi/Schannel/schannel.c @@ -453,8 +453,8 @@ const SecPkgInfoA SCHANNEL_SecPkgInfoA = { "Schannel Security Package" /* Comment */ }; -static WCHAR SCHANNEL_SecPkgInfoW_NameBuffer[32] = { 0 }; -static WCHAR SCHANNEL_SecPkgInfoW_CommentBuffer[32] = { 0 }; +static WCHAR SCHANNEL_SecPkgInfoW_NameBuffer[32] = WINPR_C_ARRAY_INIT; +static WCHAR SCHANNEL_SecPkgInfoW_CommentBuffer[32] = WINPR_C_ARRAY_INIT; const SecPkgInfoW SCHANNEL_SecPkgInfoW = { 0x000107B3, /* fCapabilities */ diff --git a/winpr/libwinpr/sspi/sspi.c b/winpr/libwinpr/sspi/sspi.c index 01076856f..93834a6d9 100644 --- a/winpr/libwinpr/sspi/sspi.c +++ b/winpr/libwinpr/sspi/sspi.c @@ -46,8 +46,8 @@ static wLog* g_Log = NULL; static INIT_ONCE g_Initialized = INIT_ONCE_STATIC_INIT; #if defined(WITH_NATIVE_SSPI) static HMODULE g_SspiModule = NULL; -static SecurityFunctionTableW windows_SecurityFunctionTableW = { 0 }; -static SecurityFunctionTableA windows_SecurityFunctionTableA = { 0 }; +static SecurityFunctionTableW windows_SecurityFunctionTableW = WINPR_C_ARRAY_INIT; +static SecurityFunctionTableA windows_SecurityFunctionTableA = WINPR_C_ARRAY_INIT; #endif static SecurityFunctionTableW* g_SspiW = NULL; @@ -1141,6 +1141,6 @@ void sspi_FreeAuthIdentity(SEC_WINNT_AUTH_IDENTITY* identity) len -= SSPI_CREDENTIALS_HASH_LENGTH_OFFSET; zfree(identity->Password, len, wc); - const SEC_WINNT_AUTH_IDENTITY empty = { 0 }; + const SEC_WINNT_AUTH_IDENTITY empty = WINPR_C_ARRAY_INIT; *identity = empty; } diff --git a/winpr/libwinpr/sspi/sspi_gss.c b/winpr/libwinpr/sspi/sspi_gss.c index 9fc9340c2..7d0ef6c9b 100644 --- a/winpr/libwinpr/sspi/sspi_gss.c +++ b/winpr/libwinpr/sspi/sspi_gss.c @@ -89,7 +89,7 @@ BOOL sspi_gss_unwrap_token(const SecBuffer* buf, WinPrAsn1_OID* oid, uint16_t* t WinPrAsn1Decoder dec = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1Decoder dec2 = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1_tagId tag = 0; - wStream sbuffer = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = NULL; WINPR_ASSERT(buf); diff --git a/winpr/libwinpr/sspi/sspi_winpr.c b/winpr/libwinpr/sspi/sspi_winpr.c index 5d5268ecc..d0cd7a2a2 100644 --- a/winpr/libwinpr/sspi/sspi_winpr.c +++ b/winpr/libwinpr/sspi/sspi_winpr.c @@ -71,7 +71,7 @@ static const SecurityFunctionTableA_NAME SecurityFunctionTableA_NAME_LIST[] = { { "Schannel", &SCHANNEL_SecurityFunctionTableA } }; -static WCHAR BUFFER_NAME_LIST_W[5][32] = { 0 }; +static WCHAR BUFFER_NAME_LIST_W[5][32] = WINPR_C_ARRAY_INIT; static const SecurityFunctionTableW_NAME SecurityFunctionTableW_NAME_LIST[] = { { BUFFER_NAME_LIST_W[0], &NTLM_SecurityFunctionTableW }, @@ -94,7 +94,7 @@ typedef struct CONTEXT_BUFFER_ALLOC_ENTRY* entries; } CONTEXT_BUFFER_ALLOC_TABLE; -static CONTEXT_BUFFER_ALLOC_TABLE ContextBufferAllocTable = { 0 }; +static CONTEXT_BUFFER_ALLOC_TABLE ContextBufferAllocTable = WINPR_C_ARRAY_INIT; static int sspi_ContextBufferAllocTableNew(void) { diff --git a/winpr/libwinpr/sspi/test/TestAcquireCredentialsHandle.c b/winpr/libwinpr/sspi/test/TestAcquireCredentialsHandle.c index 05466c8c1..36e91c868 100644 --- a/winpr/libwinpr/sspi/test/TestAcquireCredentialsHandle.c +++ b/winpr/libwinpr/sspi/test/TestAcquireCredentialsHandle.c @@ -12,7 +12,7 @@ int TestAcquireCredentialsHandle(int argc, char* argv[]) { int rc = -1; SECURITY_STATUS status = 0; - CredHandle credentials = { 0 }; + CredHandle credentials = WINPR_C_ARRAY_INIT; TimeStamp expiration; SEC_WINNT_AUTH_IDENTITY identity; SecurityFunctionTable* table = NULL; diff --git a/winpr/libwinpr/sspi/test/TestInitializeSecurityContext.c b/winpr/libwinpr/sspi/test/TestInitializeSecurityContext.c index 88f5a7c19..d10108578 100644 --- a/winpr/libwinpr/sspi/test/TestInitializeSecurityContext.c +++ b/winpr/libwinpr/sspi/test/TestInitializeSecurityContext.c @@ -17,10 +17,10 @@ int TestInitializeSecurityContext(int argc, char* argv[]) CtxtHandle context; ULONG pfContextAttr = 0; SECURITY_STATUS status = 0; - CredHandle credentials = { 0 }; + CredHandle credentials = WINPR_C_ARRAY_INIT; TimeStamp expiration; PSecPkgInfo pPackageInfo = NULL; - SEC_WINNT_AUTH_IDENTITY identity = { 0 }; + SEC_WINNT_AUTH_IDENTITY identity = WINPR_C_ARRAY_INIT; SecurityFunctionTable* table = NULL; PSecBuffer p_SecBuffer = NULL; SecBuffer output_SecBuffer; diff --git a/winpr/libwinpr/sspi/test/TestNTLM.c b/winpr/libwinpr/sspi/test/TestNTLM.c index 3e68ddc4c..f5e43bc35 100644 --- a/winpr/libwinpr/sspi/test/TestNTLM.c +++ b/winpr/libwinpr/sspi/test/TestNTLM.c @@ -474,7 +474,7 @@ static int test_ntlm_server_authenticate(const struct test_input_t* targ, TEST_N if (status == SEC_I_CONTINUE_NEEDED) { - SecPkgContext_AuthNtlmHash AuthNtlmHash = { 0 }; + SecPkgContext_AuthNtlmHash AuthNtlmHash = WINPR_C_ARRAY_INIT; if (ntlm->UseNtlmV2Hash) { @@ -577,9 +577,9 @@ static BOOL test_default(const struct test_input_t* arg) if (!arg->dynamic) { - SecPkgContext_AuthNtlmTimestamp AuthNtlmTimestamp = { 0 }; - SecPkgContext_AuthNtlmClientChallenge AuthNtlmClientChallenge = { 0 }; - SecPkgContext_AuthNtlmServerChallenge AuthNtlmServerChallenge = { 0 }; + SecPkgContext_AuthNtlmTimestamp AuthNtlmTimestamp = WINPR_C_ARRAY_INIT; + SecPkgContext_AuthNtlmClientChallenge AuthNtlmClientChallenge = WINPR_C_ARRAY_INIT; + SecPkgContext_AuthNtlmServerChallenge AuthNtlmServerChallenge = WINPR_C_ARRAY_INIT; CopyMemory(AuthNtlmTimestamp.Timestamp, TEST_NTLM_TIMESTAMP, 8); AuthNtlmTimestamp.ChallengeOrResponse = TRUE; SECURITY_STATUS rc = client->table->SetContextAttributes( @@ -643,9 +643,9 @@ static BOOL test_default(const struct test_input_t* arg) if (!arg->dynamic) { - SecPkgContext_AuthNtlmTimestamp AuthNtlmTimestamp = { 0 }; - SecPkgContext_AuthNtlmClientChallenge AuthNtlmClientChallenge = { 0 }; - SecPkgContext_AuthNtlmServerChallenge AuthNtlmServerChallenge = { 0 }; + SecPkgContext_AuthNtlmTimestamp AuthNtlmTimestamp = WINPR_C_ARRAY_INIT; + SecPkgContext_AuthNtlmClientChallenge AuthNtlmClientChallenge = WINPR_C_ARRAY_INIT; + SecPkgContext_AuthNtlmServerChallenge AuthNtlmServerChallenge = WINPR_C_ARRAY_INIT; CopyMemory(AuthNtlmTimestamp.Timestamp, TEST_NTLM_TIMESTAMP, 8); AuthNtlmTimestamp.ChallengeOrResponse = TRUE; SECURITY_STATUS rc = client->table->SetContextAttributes( @@ -676,7 +676,7 @@ static BOOL test_default(const struct test_input_t* arg) if (!arg->dynamic) { - SecPkgContext_AuthNtlmMessage AuthNtlmMessage = { 0 }; + SecPkgContext_AuthNtlmMessage AuthNtlmMessage = WINPR_C_ARRAY_INIT; pSecBuffer->cbBuffer = sizeof(TEST_NTLM_CHALLENGE) - 1; free(pSecBuffer->pvBuffer); pSecBuffer->pvBuffer = malloc(pSecBuffer->cbBuffer); diff --git a/winpr/libwinpr/sspi/test/TestSchannel.c b/winpr/libwinpr/sspi/test/TestSchannel.c index 6e504376d..3c46846ad 100644 --- a/winpr/libwinpr/sspi/test/TestSchannel.c +++ b/winpr/libwinpr/sspi/test/TestSchannel.c @@ -218,11 +218,11 @@ static int schannel_send(PSecurityFunctionTable table, HANDLE hPipe, PCtxtHandle BYTE* ioBuffer; UINT32 ioBufferLength; BYTE* pMessageBuffer; - SecBuffer Buffers[4] = { 0 }; + SecBuffer Buffers[4] = WINPR_C_ARRAY_INIT; SecBufferDesc Message; SECURITY_STATUS status; DWORD NumberOfBytesWritten; - SecPkgContext_StreamSizes StreamSizes = { 0 }; + SecPkgContext_StreamSizes StreamSizes = WINPR_C_ARRAY_INIT; status = table->QueryContextAttributes(phContext, SECPKG_ATTR_STREAM_SIZES, &StreamSizes); ioBufferLength = StreamSizes.cbHeader + StreamSizes.cbMaximumMessage + StreamSizes.cbTrailer; @@ -278,11 +278,11 @@ static int schannel_recv(PSecurityFunctionTable table, HANDLE hPipe, PCtxtHandle BYTE* ioBuffer; UINT32 ioBufferLength; // BYTE* pMessageBuffer; - SecBuffer Buffers[4] = { 0 }; + SecBuffer Buffers[4] = WINPR_C_ARRAY_INIT; SecBufferDesc Message; SECURITY_STATUS status; DWORD NumberOfBytesRead; - SecPkgContext_StreamSizes StreamSizes = { 0 }; + SecPkgContext_StreamSizes StreamSizes = WINPR_C_ARRAY_INIT; status = table->QueryContextAttributes(phContext, SECPKG_ATTR_STREAM_SIZES, &StreamSizes); ioBufferLength = StreamSizes.cbHeader + StreamSizes.cbMaximumMessage + StreamSizes.cbTrailer; @@ -344,7 +344,7 @@ static DWORD WINAPI schannel_test_server_thread(LPVOID arg) UINT32 cbMaxToken; UINT32 fContextReq; ULONG fContextAttr; - SCHANNEL_CRED cred = { 0 }; + SCHANNEL_CRED cred = WINPR_C_ARRAY_INIT; CtxtHandle context; CredHandle credentials; DWORD cchNameString; @@ -352,8 +352,8 @@ static DWORD WINAPI schannel_test_server_thread(LPVOID arg) HCERTSTORE hCertStore; PCCERT_CONTEXT pCertContext; PSecBuffer pSecBuffer; - SecBuffer SecBuffer_in[2] = { 0 }; - SecBuffer SecBuffer_out[2] = { 0 }; + SecBuffer SecBuffer_in[2] = WINPR_C_ARRAY_INIT; + SecBuffer SecBuffer_out[2] = WINPR_C_ARRAY_INIT; SecBufferDesc SecBufferDesc_in; SecBufferDesc SecBufferDesc_out; DWORD NumberOfBytesRead; @@ -598,7 +598,7 @@ int TestSchannel(int argc, char* argv[]) BYTE* lpTokenOut; TimeStamp expiry; UINT32 cbMaxToken; - SCHANNEL_CRED cred = { 0 }; + SCHANNEL_CRED cred = WINPR_C_ARRAY_INIT; UINT32 fContextReq; ULONG fContextAttr; CtxtHandle context; @@ -609,9 +609,9 @@ int TestSchannel(int argc, char* argv[]) PSecurityFunctionTable table; DWORD NumberOfBytesRead; DWORD NumberOfBytesWritten; - SecPkgCred_SupportedAlgs SupportedAlgs = { 0 }; - SecPkgCred_CipherStrengths CipherStrengths = { 0 }; - SecPkgCred_SupportedProtocols SupportedProtocols = { 0 }; + SecPkgCred_SupportedAlgs SupportedAlgs = WINPR_C_ARRAY_INIT; + SecPkgCred_CipherStrengths CipherStrengths = WINPR_C_ARRAY_INIT; + SecPkgCred_SupportedProtocols SupportedProtocols = WINPR_C_ARRAY_INIT; return 0; /* disable by default - causes crash */ sspi_GlobalInit(); dump_test_certificate_files(); @@ -732,10 +732,10 @@ int TestSchannel(int argc, char* argv[]) do { - SecBuffer SecBuffer_in[2] = { 0 }; - SecBuffer SecBuffer_out[1] = { 0 }; - SecBufferDesc SecBufferDesc_in = { 0 }; - SecBufferDesc SecBufferDesc_out = { 0 }; + SecBuffer SecBuffer_in[2] = WINPR_C_ARRAY_INIT; + SecBuffer SecBuffer_out[1] = WINPR_C_ARRAY_INIT; + SecBufferDesc SecBufferDesc_in = WINPR_C_ARRAY_INIT; + SecBufferDesc SecBufferDesc_out = WINPR_C_ARRAY_INIT; if (g_ClientWait) { if (!ReadFile(g_ClientReadPipe, lpTokenIn, cbMaxToken, &NumberOfBytesRead, NULL)) diff --git a/winpr/libwinpr/sspicli/sspicli.c b/winpr/libwinpr/sspicli/sspicli.c index ec8ebc9e1..aedccd7b9 100644 --- a/winpr/libwinpr/sspicli/sspicli.c +++ b/winpr/libwinpr/sspicli/sspicli.c @@ -165,7 +165,7 @@ BOOL LogonUserA(LPCSTR lpszUsername, LPCSTR lpszDomain, WINPR_ATTR_UNUSED LPCSTR goto fail; { - struct passwd pwd = { 0 }; + struct passwd pwd = WINPR_C_ARRAY_INIT; struct passwd* pw = NULL; const int rc = getpwnam_r(lpszUsername, &pwd, buf, WINPR_ASSERTING_INT_CAST(size_t, buflen), &pw); @@ -229,7 +229,7 @@ BOOL GetUserNameExA(EXTENDED_NAME_FORMAT NameFormat, LPSTR lpNameBuffer, PULONG #if defined(WINPR_HAVE_GETPWUID_R) { int rc = 0; - struct passwd pwd = { 0 }; + struct passwd pwd = WINPR_C_ARRAY_INIT; struct passwd* result = NULL; uid_t uid = getuid(); diff --git a/winpr/libwinpr/synch/event.c b/winpr/libwinpr/synch/event.c index f925a3c6b..947c72383 100644 --- a/winpr/libwinpr/synch/event.c +++ b/winpr/libwinpr/synch/event.c @@ -333,7 +333,7 @@ HANDLE CreateEventExW(LPSECURITY_ATTRIBUTES lpEventAttributes, LPCWSTR lpName, D if (dwDesiredAccess != 0) { - char name[MAX_PATH] = { 0 }; + char name[MAX_PATH] = WINPR_C_ARRAY_INIT; ConvertWCharToUtf8(lpName, name, sizeof(name) - 1); WLog_WARN(TAG, "[%s] does not support dwDesiredAccess 0x%08" PRIx32, name, dwDesiredAccess); } @@ -551,7 +551,7 @@ static BOOL dump_handle_list(void* data, size_t index, va_list ap) void DumpEventHandles_(const char* fkt, const char* file, size_t line) { - struct rlimit r = { 0 }; + struct rlimit r = WINPR_C_ARRAY_INIT; int rc = getrlimit(RLIMIT_NOFILE, &r); if (rc >= 0) { diff --git a/winpr/libwinpr/synch/mutex.c b/winpr/libwinpr/synch/mutex.c index 99f5bac03..ee8eac508 100644 --- a/winpr/libwinpr/synch/mutex.c +++ b/winpr/libwinpr/synch/mutex.c @@ -64,7 +64,7 @@ BOOL MutexCloseHandle(HANDLE handle) if ((rc = pthread_mutex_destroy(&mutex->mutex))) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "pthread_mutex_destroy failed with %s [%d]", winpr_strerror(rc, ebuffer, sizeof(ebuffer)), rc); #if defined(WITH_DEBUG_MUTEX) @@ -189,7 +189,7 @@ HANDLE CreateMutexExW(LPSECURITY_ATTRIBUTES lpMutexAttributes, LPCWSTR lpName, D /* TODO: support access modes */ if (dwDesiredAccess != 0) { - char name[MAX_PATH] = { 0 }; + char name[MAX_PATH] = WINPR_C_ARRAY_INIT; ConvertWCharToUtf8(lpName, name, sizeof(name) - 1); WLog_WARN(TAG, "[%s] does not support dwDesiredAccess 0x%08" PRIx32, name, dwDesiredAccess); } @@ -235,7 +235,7 @@ BOOL ReleaseMutex(HANDLE hMutex) if (rc) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "pthread_mutex_unlock failed with %s [%d]", winpr_strerror(rc, ebuffer, sizeof(ebuffer)), rc); return FALSE; diff --git a/winpr/libwinpr/synch/semaphore.c b/winpr/libwinpr/synch/semaphore.c index 98644d54c..d4e48ad18 100644 --- a/winpr/libwinpr/synch/semaphore.c +++ b/winpr/libwinpr/synch/semaphore.c @@ -63,7 +63,7 @@ static DWORD SemaphoreCleanupHandle(HANDLE handle) if (length != 1) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "semaphore read() failure [%d] %s", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); return WAIT_FAILED; diff --git a/winpr/libwinpr/synch/sleep.c b/winpr/libwinpr/synch/sleep.c index 7708393d2..3540b15f0 100644 --- a/winpr/libwinpr/synch/sleep.c +++ b/winpr/libwinpr/synch/sleep.c @@ -124,9 +124,9 @@ VOID USleep(DWORD dwMicroseconds) #ifndef _WIN32 usleep(dwMicroseconds); #else - static LARGE_INTEGER freq = { 0 }; - LARGE_INTEGER t1 = { 0 }; - LARGE_INTEGER t2 = { 0 }; + static LARGE_INTEGER freq = WINPR_C_ARRAY_INIT; + LARGE_INTEGER t1 = WINPR_C_ARRAY_INIT; + LARGE_INTEGER t2 = WINPR_C_ARRAY_INIT; QueryPerformanceCounter(&t1); diff --git a/winpr/libwinpr/synch/test/TestSynchAPC.c b/winpr/libwinpr/synch/test/TestSynchAPC.c index d49355323..5f343857f 100644 --- a/winpr/libwinpr/synch/test/TestSynchAPC.c +++ b/winpr/libwinpr/synch/test/TestSynchAPC.c @@ -78,7 +78,7 @@ static VOID CALLBACK Timer2APCProc(LPVOID lpArg, DWORD dwTimerLowValue, DWORD dw static DWORD /*WINAPI*/ closeHandleTest(LPVOID lpThreadParameter) { - LARGE_INTEGER dueTime = { 0 }; + LARGE_INTEGER dueTime = WINPR_C_ARRAY_INIT; UncleanCloseData* data = (UncleanCloseData*)lpThreadParameter; data->endTest = FALSE; diff --git a/winpr/libwinpr/synch/test/TestSynchMultipleThreads.c b/winpr/libwinpr/synch/test/TestSynchMultipleThreads.c index 68f5880c7..b69964811 100644 --- a/winpr/libwinpr/synch/test/TestSynchMultipleThreads.c +++ b/winpr/libwinpr/synch/test/TestSynchMultipleThreads.c @@ -67,7 +67,7 @@ static int close_threads(DWORD count, HANDLE* threads) static BOOL TestWaitForAll(void) { BOOL rc = FALSE; - HANDLE threads[THREADS] = { 0 }; + HANDLE threads[THREADS] = WINPR_C_ARRAY_INIT; /* WaitForAll, timeout */ if (start_threads(ARRAYSIZE(threads), threads)) { @@ -103,7 +103,7 @@ fail: static BOOL TestWaitOne(void) { BOOL rc = FALSE; - HANDLE threads[THREADS] = { 0 }; + HANDLE threads[THREADS] = WINPR_C_ARRAY_INIT; /* WaitForAll, timeout */ if (start_threads(ARRAYSIZE(threads), threads)) { @@ -138,7 +138,7 @@ fail: static BOOL TestWaitOneTimeout(void) { BOOL rc = FALSE; - HANDLE threads[THREADS] = { 0 }; + HANDLE threads[THREADS] = WINPR_C_ARRAY_INIT; /* WaitForAll, timeout */ if (start_threads(ARRAYSIZE(threads), threads)) { @@ -173,7 +173,7 @@ fail: static BOOL TestWaitOneTimeoutMultijoin(void) { BOOL rc = FALSE; - HANDLE threads[THREADS] = { 0 }; + HANDLE threads[THREADS] = WINPR_C_ARRAY_INIT; /* WaitForAll, timeout */ if (start_threads(ARRAYSIZE(threads), threads)) { @@ -212,7 +212,7 @@ fail: static BOOL TestDetach(void) { BOOL rc = FALSE; - HANDLE threads[THREADS] = { 0 }; + HANDLE threads[THREADS] = WINPR_C_ARRAY_INIT; /* WaitForAll, timeout */ if (start_threads(ARRAYSIZE(threads), threads)) { diff --git a/winpr/libwinpr/synch/test/TestSynchTimerQueue.c b/winpr/libwinpr/synch/test/TestSynchTimerQueue.c index 307b33f3b..2b8a920c3 100644 --- a/winpr/libwinpr/synch/test/TestSynchTimerQueue.c +++ b/winpr/libwinpr/synch/test/TestSynchTimerQueue.c @@ -48,8 +48,8 @@ static VOID CALLBACK TimerRoutine(PVOID lpParam, BOOLEAN TimerOrWaitFired) int TestSynchTimerQueue(int argc, char* argv[]) { - HANDLE hTimers[TIMER_COUNT] = { 0 }; - APC_DATA apcData[TIMER_COUNT] = { 0 }; + HANDLE hTimers[TIMER_COUNT] = WINPR_C_ARRAY_INIT; + APC_DATA apcData[TIMER_COUNT] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/synch/test/TestSynchWaitableTimer.c b/winpr/libwinpr/synch/test/TestSynchWaitableTimer.c index 06fa9418a..7c3cef0aa 100644 --- a/winpr/libwinpr/synch/test/TestSynchWaitableTimer.c +++ b/winpr/libwinpr/synch/test/TestSynchWaitableTimer.c @@ -7,7 +7,7 @@ int TestSynchWaitableTimer(int argc, char* argv[]) DWORD status = 0; HANDLE timer = NULL; LONG period = 0; - LARGE_INTEGER due = { 0 }; + LARGE_INTEGER due = WINPR_C_ARRAY_INIT; int result = -1; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/synch/test/TestSynchWaitableTimerAPC.c b/winpr/libwinpr/synch/test/TestSynchWaitableTimerAPC.c index 924f75a04..8c469d498 100644 --- a/winpr/libwinpr/synch/test/TestSynchWaitableTimerAPC.c +++ b/winpr/libwinpr/synch/test/TestSynchWaitableTimerAPC.c @@ -38,8 +38,8 @@ int TestSynchWaitableTimerAPC(int argc, char* argv[]) DWORD rc = 0; HANDLE hTimer = NULL; BOOL bSuccess = 0; - LARGE_INTEGER due = { 0 }; - APC_DATA apcData = { 0 }; + LARGE_INTEGER due = WINPR_C_ARRAY_INIT; + APC_DATA apcData = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); g_Event = CreateEvent(NULL, TRUE, FALSE, NULL); diff --git a/winpr/libwinpr/synch/timer.c b/winpr/libwinpr/synch/timer.c index 745669614..9772873a6 100644 --- a/winpr/libwinpr/synch/timer.c +++ b/winpr/libwinpr/synch/timer.c @@ -84,7 +84,7 @@ static DWORD TimerCleanupHandle(HANDLE handle) { if (length < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; switch (errno) { case ETIMEDOUT: @@ -259,7 +259,7 @@ static int InitializeWaitableTimer(WINPR_TIMER* timer) if (timer->fd <= 0) return -1; #elif defined(TIMER_IMPL_POSIX) - struct sigevent sigev = { 0 }; + struct sigevent sigev = WINPR_C_ARRAY_INIT; InitOnceExecuteOnce(&TimerSignalHandler_InitOnce, InstallTimerSignalHandler, NULL, NULL); sigev.sigev_notify = SIGEV_SIGNAL; sigev.sigev_signo = SIGALRM; @@ -998,7 +998,7 @@ BOOL DeleteTimerQueue(HANDLE TimerQueue) BOOL CreateTimerQueueTimer(HANDLE* phNewTimer, HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, void* Parameter, DWORD DueTime, DWORD Period, ULONG Flags) { - struct timespec CurrentTime = { 0 }; + struct timespec CurrentTime = WINPR_C_ARRAY_INIT; if (!TimerQueue) return FALSE; diff --git a/winpr/libwinpr/synch/wait.c b/winpr/libwinpr/synch/wait.c index d18709c67..452b07891 100644 --- a/winpr/libwinpr/synch/wait.c +++ b/winpr/libwinpr/synch/wait.c @@ -62,7 +62,7 @@ static struct timespec ts_from_ns(void) { const UINT64 ns = winpr_GetUnixTimeNS(); - struct timespec timeout = { 0 }; + struct timespec timeout = WINPR_C_ARRAY_INIT; timeout.tv_sec = WINPR_TIME_NS_TO_S(ns); timeout.tv_nsec = WINPR_TIME_NS_REM_NS(ns); return timeout; @@ -98,8 +98,8 @@ static long long ts_difftime(const struct timespec* o, const struct timespec* n) STATIC_NEEDED int pthread_mutex_timedlock(pthread_mutex_t* mutex, CONST_NEEDED struct timespec* timeout) { - struct timespec timenow = { 0 }; - struct timespec sleepytime = { 0 }; + struct timespec timenow = WINPR_C_ARRAY_INIT; + struct timespec sleepytime = WINPR_C_ARRAY_INIT; unsigned long long diff = 0; int retcode = -1; /* This is just to avoid a completely busy wait */ @@ -136,7 +136,7 @@ DWORD WaitForSingleObjectEx(HANDLE hHandle, DWORD dwMilliseconds, BOOL bAlertabl { ULONG Type = 0; WINPR_HANDLE* Object = NULL; - WINPR_POLL_SET pollset = { 0 }; + WINPR_POLL_SET pollset = WINPR_C_ARRAY_INIT; if (!winpr_Handle_GetInfo(hHandle, &Type, &Object)) { @@ -164,7 +164,7 @@ DWORD WaitForSingleObjectEx(HANDLE hHandle, DWORD dwMilliseconds, BOOL bAlertabl } else if (ret < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "waitpid failure [%d] %s", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); SetLastError(ERROR_INTERNAL_ERROR); @@ -267,7 +267,7 @@ DWORD WaitForSingleObjectEx(HANDLE hHandle, DWORD dwMilliseconds, BOOL bAlertabl status = pollset_poll(&pollset, dwMilliseconds); if (status < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "pollset_poll() failure [%d] %s", errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); goto out; @@ -303,14 +303,14 @@ DWORD WaitForMultipleObjectsEx(DWORD nCount, const HANDLE* lpHandles, BOOL bWait { DWORD signalled = 0; DWORD polled = 0; - DWORD poll_map[MAXIMUM_WAIT_OBJECTS] = { 0 }; + DWORD poll_map[MAXIMUM_WAIT_OBJECTS] = WINPR_C_ARRAY_INIT; BOOL signalled_handles[MAXIMUM_WAIT_OBJECTS] = { FALSE }; int fd = -1; int status = -1; ULONG Type = 0; WINPR_HANDLE* Object = NULL; WINPR_THREAD* thread = NULL; - WINPR_POLL_SET pollset = { 0 }; + WINPR_POLL_SET pollset = WINPR_C_ARRAY_INIT; DWORD ret = WAIT_FAILED; size_t extraFds = 0; UINT64 now = 0; @@ -424,7 +424,7 @@ DWORD WaitForMultipleObjectsEx(DWORD nCount, const HANDLE* lpHandles, BOOL bWait status = pollset_poll(&pollset, waitTime); if (status < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; #ifdef WINPR_HAVE_POLL_H WLog_ERR(TAG, "poll() handle %" PRIu32 " (%" PRIu32 ") failure [%d] %s", idx, nCount, errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); diff --git a/winpr/libwinpr/sysinfo/cpufeatures/cpu-features.c b/winpr/libwinpr/sysinfo/cpufeatures/cpu-features.c index 786dd8569..12faa46c7 100644 --- a/winpr/libwinpr/sysinfo/cpufeatures/cpu-features.c +++ b/winpr/libwinpr/sysinfo/cpufeatures/cpu-features.c @@ -145,7 +145,7 @@ static int get_file_size(const char* pathname) if (fd < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; D("Can't open %s: %s\n", pathname, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); return -1; } @@ -156,7 +156,7 @@ static int get_file_size(const char* pathname) if (ret < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; if (errno == EINTR) continue; @@ -187,7 +187,7 @@ static int read_file(const char* pathname, char* buffer, size_t buffsize) if (fd < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; D("Could not open %s: %s\n", pathname, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); return -1; } @@ -200,7 +200,7 @@ static int read_file(const char* pathname, char* buffer, size_t buffsize) if (ret < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; if (errno == EINTR) continue; @@ -484,7 +484,7 @@ static void cpulist_read_from(CpuList* list, const char* filename) if (filelen < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; D("Could not read %s: %s\n", filename, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); return; } @@ -595,7 +595,7 @@ static uint32_t get_elf_hwcap_from_proc_self_auxv(void) if (fd < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; D("Could not open %s: %s\n", filepath, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); return 0; } @@ -614,7 +614,7 @@ static uint32_t get_elf_hwcap_from_proc_self_auxv(void) if (ret < 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; D("Error while reading %s: %s\n", filepath, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); break; diff --git a/winpr/libwinpr/sysinfo/sysinfo.c b/winpr/libwinpr/sysinfo/sysinfo.c index fd918cb54..568429ce8 100644 --- a/winpr/libwinpr/sysinfo/sysinfo.c +++ b/winpr/libwinpr/sysinfo/sysinfo.c @@ -63,7 +63,7 @@ static UINT64 scaleHighPrecision(UINT64 i, UINT32 numer, UINT32 denom) static UINT64 mac_get_time_ns(void) { - mach_timebase_info_data_t timebase = { 0 }; + mach_timebase_info_data_t timebase = WINPR_C_ARRAY_INIT; mach_timebase_info(&timebase); UINT64 t = mach_absolute_time(); return scaleHighPrecision(t, timebase.numer, timebase.denom); @@ -227,7 +227,7 @@ static DWORD GetSystemPageSize(void) void GetSystemInfo(LPSYSTEM_INFO lpSystemInfo) { - const SYSTEM_INFO empty = { 0 }; + const SYSTEM_INFO empty = WINPR_C_ARRAY_INIT; WINPR_ASSERT(lpSystemInfo); *lpSystemInfo = empty; @@ -446,7 +446,7 @@ BOOL GetComputerNameA(LPSTR lpBuffer, LPDWORD lpnSize) return FALSE; } - char hostname[256 + 1] = { 0 }; + char hostname[256 + 1] = WINPR_C_ARRAY_INIT; if (gethostname(hostname, ARRAYSIZE(hostname) - 1) == -1) return FALSE; @@ -475,7 +475,7 @@ BOOL GetComputerNameA(LPSTR lpBuffer, LPDWORD lpnSize) BOOL GetComputerNameExA(COMPUTER_NAME_FORMAT NameType, LPSTR lpBuffer, LPDWORD lpnSize) { size_t length = 0; - char hostname[256] = { 0 }; + char hostname[256] = WINPR_C_ARRAY_INIT; if (!lpnSize) { @@ -584,7 +584,7 @@ UINT64 winpr_GetTickCount64NS(void) { UINT64 ticks = 0; #if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 199309L) - struct timespec ts = { 0 }; + struct timespec ts = WINPR_C_ARRAY_INIT; if (clock_gettime(CLOCK_MONOTONIC_RAW, &ts) == 0) ticks = (WINPR_ASSERTING_INT_CAST(uint64_t, ts.tv_sec) * 1000000000ull) + @@ -592,12 +592,12 @@ UINT64 winpr_GetTickCount64NS(void) #elif defined(__MACH__) && defined(__APPLE__) ticks = mac_get_time_ns(); #elif defined(_WIN32) - LARGE_INTEGER li = { 0 }; - LARGE_INTEGER freq = { 0 }; + LARGE_INTEGER li = WINPR_C_ARRAY_INIT; + LARGE_INTEGER freq = WINPR_C_ARRAY_INIT; if (QueryPerformanceFrequency(&freq) && QueryPerformanceCounter(&li)) ticks = li.QuadPart * 1000000000ull / freq.QuadPart; #else - struct timeval tv = { 0 }; + struct timeval tv = WINPR_C_ARRAY_INIT; if (gettimeofday(&tv, NULL) == 0) ticks = (tv.tv_sec * 1000000000ull) + (tv.tv_usec * 1000ull); @@ -613,7 +613,7 @@ UINT64 winpr_GetTickCount64NS(void) static UINT64 uptime = 0; if (first == 0) { - struct sysinfo info = { 0 }; + struct sysinfo info = WINPR_C_ARRAY_INIT; if (sysinfo(&info) == 0) { first = ticks; @@ -634,17 +634,17 @@ UINT64 winpr_GetUnixTimeNS(void) { UINT64 u64; FILETIME ft; - } t = { 0 }; + } t = WINPR_C_ARRAY_INIT; GetSystemTimeAsFileTime(&t.ft); return (t.u64 - FILETIME_TO_UNIX_OFFSET_S * 10000000ull) * 100ull; #elif defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 199309L) - struct timespec ts = { 0 }; + struct timespec ts = WINPR_C_ARRAY_INIT; if (clock_gettime(CLOCK_REALTIME, &ts) != 0) return 0; return WINPR_ASSERTING_INT_CAST(uint64_t, ts.tv_sec) * 1000000000ull + WINPR_ASSERTING_INT_CAST(uint64_t, ts.tv_nsec); #else - struct timeval tv = { 0 }; + struct timeval tv = WINPR_C_ARRAY_INIT; if (gettimeofday(&tv, NULL) != 0) return 0; return tv.tv_sec * 1000000000ULL + tv.tv_usec * 1000ull; @@ -1074,8 +1074,8 @@ BOOL IsProcessorFeaturePresent(DWORD ProcessorFeature) DWORD GetTickCountPrecise(void) { #ifdef _WIN32 - LARGE_INTEGER freq = { 0 }; - LARGE_INTEGER current = { 0 }; + LARGE_INTEGER freq = WINPR_C_ARRAY_INIT; + LARGE_INTEGER current = WINPR_C_ARRAY_INIT; QueryPerformanceFrequency(&freq); QueryPerformanceCounter(¤t); return (DWORD)(current.QuadPart * 1000LL / freq.QuadPart); diff --git a/winpr/libwinpr/sysinfo/test/TestGetComputerName.c b/winpr/libwinpr/sysinfo/test/TestGetComputerName.c index 7cf3bf122..0caef3dc7 100644 --- a/winpr/libwinpr/sysinfo/test/TestGetComputerName.c +++ b/winpr/libwinpr/sysinfo/test/TestGetComputerName.c @@ -24,8 +24,8 @@ static BOOL Test_GetComputerName(void) * */ - CHAR netbiosName1[MAX_COMPUTERNAME_LENGTH + 1] = { 0 }; - CHAR netbiosName2[MAX_COMPUTERNAME_LENGTH + 1] = { 0 }; + CHAR netbiosName1[MAX_COMPUTERNAME_LENGTH + 1] = WINPR_C_ARRAY_INIT; + CHAR netbiosName2[MAX_COMPUTERNAME_LENGTH + 1] = WINPR_C_ARRAY_INIT; const size_t netbiosBufferSize = ARRAYSIZE(netbiosName1); DWORD dwSize = 0; DWORD dwNameLength = 0; diff --git a/winpr/libwinpr/sysinfo/test/TestGetNativeSystemInfo.c b/winpr/libwinpr/sysinfo/test/TestGetNativeSystemInfo.c index cb059d6da..4f7d7be26 100644 --- a/winpr/libwinpr/sysinfo/test/TestGetNativeSystemInfo.c +++ b/winpr/libwinpr/sysinfo/test/TestGetNativeSystemInfo.c @@ -4,7 +4,7 @@ int TestGetNativeSystemInfo(int argc, char* argv[]) { - SYSTEM_INFO sysinfo = { 0 }; + SYSTEM_INFO sysinfo = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/thread/process.c b/winpr/libwinpr/thread/process.c index 2457f0650..086209d6d 100644 --- a/winpr/libwinpr/thread/process.c +++ b/winpr/libwinpr/thread/process.c @@ -227,8 +227,8 @@ static BOOL CreateProcessExA(HANDLE hToken, WINPR_ATTR_UNUSED DWORD dwLogonFlags #ifndef __sun int maxfd = 0; #endif - sigset_t set = { 0 }; - struct sigaction act = { 0 }; + sigset_t set = WINPR_C_ARRAY_INIT; + struct sigaction act = WINPR_C_ARRAY_INIT; /* set default signal handlers */ act.sa_handler = SIG_DFL; act.sa_flags = 0; diff --git a/winpr/libwinpr/thread/test/TestThreadCreateProcess.c b/winpr/libwinpr/thread/test/TestThreadCreateProcess.c index 7fa458bab..85eb0cea8 100644 --- a/winpr/libwinpr/thread/test/TestThreadCreateProcess.c +++ b/winpr/libwinpr/thread/test/TestThreadCreateProcess.c @@ -29,12 +29,12 @@ int TestThreadCreateProcess(int argc, char* argv[]) DWORD dwCreationFlags = 0; LPVOID lpEnvironment = NULL; LPCTSTR lpCurrentDirectory = NULL; - STARTUPINFO StartupInfo = { 0 }; - PROCESS_INFORMATION ProcessInformation = { 0 }; + STARTUPINFO StartupInfo = WINPR_C_ARRAY_INIT; + PROCESS_INFORMATION ProcessInformation = WINPR_C_ARRAY_INIT; LPTCH lpszEnvironmentBlock = NULL; HANDLE pipe_read = NULL; HANDLE pipe_write = NULL; - char buf[1024] = { 0 }; + char buf[1024] = WINPR_C_ARRAY_INIT; DWORD read_bytes = 0; int ret = 0; SECURITY_ATTRIBUTES saAttr; diff --git a/winpr/libwinpr/thread/thread.c b/winpr/libwinpr/thread/thread.c index 1214d41f3..b9d76f4ca 100644 --- a/winpr/libwinpr/thread/thread.c +++ b/winpr/libwinpr/thread/thread.c @@ -148,7 +148,7 @@ static BOOL run_mutex_init_(int (*fkt)(pthread_mutex_t*, const pthread_mutexattr rc = fkt(mutex, mutexattr); if (rc != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "[%s] failed with [%s]", name, winpr_strerror(rc, ebuffer, sizeof(ebuffer))); } return rc == 0; @@ -166,7 +166,7 @@ static BOOL run_mutex_fkt_(int (*fkt)(pthread_mutex_t* mux), const char* name, rc = fkt(mutex); if (rc != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "[%s] failed with [%s]", name, winpr_strerror(rc, ebuffer, sizeof(ebuffer))); } return rc == 0; @@ -184,7 +184,7 @@ static BOOL run_cond_init_(int (*fkt)(pthread_cond_t*, const pthread_condattr_t* rc = fkt(condition, conditionattr); if (rc != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "[%s] failed with [%s]", name, winpr_strerror(rc, ebuffer, sizeof(ebuffer))); } return rc == 0; @@ -202,7 +202,7 @@ static BOOL run_cond_fkt_(int (*fkt)(pthread_cond_t* mux), const char* name, rc = fkt(condition); if (rc != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "[%s] failed with [%s]", name, winpr_strerror(rc, ebuffer, sizeof(ebuffer))); } return rc == 0; @@ -230,7 +230,7 @@ static BOOL mux_condition_bundle_init(mux_condition_bundle* bundle) static void mux_condition_bundle_uninit(mux_condition_bundle* bundle) { - mux_condition_bundle empty = { 0 }; + mux_condition_bundle empty = WINPR_C_ARRAY_INIT; WINPR_ASSERT(bundle); @@ -279,7 +279,7 @@ static BOOL mux_condition_bundle_wait(mux_condition_bundle* bundle, const char* int r = pthread_cond_wait(&bundle->cond, &bundle->mux); if (r != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "failed to wait for %s [%s]", name, winpr_strerror(r, ebuffer, sizeof(ebuffer))); switch (r) @@ -333,7 +333,7 @@ static DWORD ThreadCleanupHandle(HANDLE handle) if (rc != 0) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "pthread_join failure: [%d] %s", rc, winpr_strerror(rc, ebuffer, sizeof(ebuffer))); goto fail; @@ -574,7 +574,7 @@ static BOOL winpr_StartThread(WINPR_THREAD* thread) { BOOL rc = FALSE; BOOL locked = FALSE; - pthread_attr_t attr = { 0 }; + pthread_attr_t attr = WINPR_C_ARRAY_INIT; if (!mux_condition_bundle_lock(&thread->isCreated)) return FALSE; @@ -674,7 +674,7 @@ BOOL SetThreadPriority(HANDLE hThread, int nPriority) const int rc = pthread_setschedprio(thread->thread, sched_priority); if (rc != 0) { - char buffer[256] = { 0 }; + char buffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(TAG, "pthread_setschedprio(%d) %s [%d]", sched_priority, winpr_strerror(rc, buffer, sizeof(buffer)), rc); } diff --git a/winpr/libwinpr/timezone/TimeZoneIanaAbbrevMap.c b/winpr/libwinpr/timezone/TimeZoneIanaAbbrevMap.c index 99d4d9230..810f08cc4 100644 --- a/winpr/libwinpr/timezone/TimeZoneIanaAbbrevMap.c +++ b/winpr/libwinpr/timezone/TimeZoneIanaAbbrevMap.c @@ -78,7 +78,7 @@ static void append_timezone(const char* dir, const char* name) char* oldtz = setNewAndSaveOldTZ(tz); const time_t t = time(NULL); - struct tm lt = { 0 }; + struct tm lt = WINPR_C_ARRAY_INIT; (void)localtime_r(&t, <); append(tz, lt.tm_zone); restoreSavedTZ(oldtz); @@ -193,7 +193,7 @@ void handle_link(const char* base, const char* dir, const char* name) char* target = get_link_target(base, dir, name); if (target) { - struct stat s = { 0 }; + struct stat s = WINPR_C_ARRAY_INIT; const int rc3 = stat(target, &s); if (rc3 == 0) isDir = S_ISDIR(s.st_mode); diff --git a/winpr/libwinpr/timezone/TimeZoneNameMapUtils.c b/winpr/libwinpr/timezone/TimeZoneNameMapUtils.c index be0c2a757..2f78f005f 100644 --- a/winpr/libwinpr/timezone/TimeZoneNameMapUtils.c +++ b/winpr/libwinpr/timezone/TimeZoneNameMapUtils.c @@ -49,7 +49,7 @@ typedef struct TimeZoneNameMapEntry* entries; } TimeZoneNameMapContext; -static TimeZoneNameMapContext tz_context = { 0 }; +static TimeZoneNameMapContext tz_context = WINPR_C_ARRAY_INIT; static void tz_entry_free(TimeZoneNameMapEntry* entry) { @@ -61,13 +61,13 @@ static void tz_entry_free(TimeZoneNameMapEntry* entry) free(entry->Id); free(entry->StandardName); - const TimeZoneNameMapEntry empty = { 0 }; + const TimeZoneNameMapEntry empty = WINPR_C_ARRAY_INIT; *entry = empty; } static TimeZoneNameMapEntry tz_entry_clone(const TimeZoneNameMapEntry* entry) { - TimeZoneNameMapEntry clone = { 0 }; + TimeZoneNameMapEntry clone = WINPR_C_ARRAY_INIT; if (!entry) return clone; @@ -184,7 +184,7 @@ static BOOL CALLBACK load_timezones(PINIT_ONCE once, PVOID param, PVOID* pvconte WINPR_UNUSED(pvcontext); WINPR_UNUSED(once); - const TimeZoneNameMapContext empty = { 0 }; + const TimeZoneNameMapContext empty = WINPR_C_ARRAY_INIT; *context = empty; #if defined(WITH_TIMEZONE_FROM_FILE) && defined(WITH_WINPR_JSON) diff --git a/winpr/libwinpr/timezone/timezone.c b/winpr/libwinpr/timezone/timezone.c index 2166c00c2..364d36ff3 100644 --- a/winpr/libwinpr/timezone/timezone.c +++ b/winpr/libwinpr/timezone/timezone.c @@ -341,7 +341,7 @@ end: static SYSTEMTIME tm2systemtime(const struct tm* t) { - SYSTEMTIME st = { 0 }; + SYSTEMTIME st = WINPR_C_ARRAY_INIT; if (t) { @@ -359,7 +359,7 @@ static SYSTEMTIME tm2systemtime(const struct tm* t) static struct tm systemtime2tm(const SYSTEMTIME* st) { - struct tm t = { 0 }; + struct tm t = WINPR_C_ARRAY_INIT; if (st) { if (st->wYear >= 1900) @@ -422,7 +422,7 @@ static WORD get_transition_weekday_occurrence(const SYSTEMTIME* st) const time_t t = mktime(&next); next.tm_mday++; - struct tm cur = { 0 }; + struct tm cur = WINPR_C_ARRAY_INIT; (void)localtime_r(&t, &cur); if (cur.tm_mon + 1 != st->wMonth) @@ -577,7 +577,7 @@ static const char* weekday2str(WORD wDayOfWeek) static char* systemtime2str(const SYSTEMTIME* t, char* buffer, size_t len) { - const SYSTEMTIME empty = { 0 }; + const SYSTEMTIME empty = WINPR_C_ARRAY_INIT; if (memcmp(t, &empty, sizeof(SYSTEMTIME)) == 0) (void)_snprintf(buffer, len, "{ not set }"); @@ -599,7 +599,7 @@ static void log_print(wLog* log, DWORD level, const char* file, const char* fkt, if (!WLog_IsLevelActive(log, level)) return; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fmt); WLog_PrintTextMessageVA(log, level, line, file, fkt, fmt, ap); va_end(ap); @@ -611,7 +611,7 @@ static void log_timezone_(const DYNAMIC_TIME_ZONE_INFORMATION* tzif, DWORD resul { WINPR_ASSERT(tzif); - char buffer[130] = { 0 }; + char buffer[130] = WINPR_C_ARRAY_INIT; DWORD level = WLOG_TRACE; wLog* log = WLog_Get(TAG); log_print(log, level, file, fkt, line, "DYNAMIC_TIME_ZONE_INFORMATION {"); @@ -652,7 +652,7 @@ static void log_timezone_(const DYNAMIC_TIME_ZONE_INFORMATION* tzif, DWORD resul DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation) { - DYNAMIC_TIME_ZONE_INFORMATION dyn = { 0 }; + DYNAMIC_TIME_ZONE_INFORMATION dyn = WINPR_C_ARRAY_INIT; DWORD rc = GetDynamicTimeZoneInformation(&dyn); lpTimeZoneInformation->Bias = dyn.Bias; lpTimeZoneInformation->DaylightBias = dyn.DaylightBias; @@ -756,7 +756,7 @@ DWORD GetDynamicTimeZoneInformation(PDYNAMIC_TIME_ZONE_INFORMATION pTimeZoneInfo char* tzid = NULL; const char* defaultName = "Client Local Time"; DWORD res = TIME_ZONE_ID_UNKNOWN; - const DYNAMIC_TIME_ZONE_INFORMATION empty = { 0 }; + const DYNAMIC_TIME_ZONE_INFORMATION empty = WINPR_C_ARRAY_INIT; WINPR_ASSERT(pTimeZoneInformation); @@ -765,7 +765,7 @@ DWORD GetDynamicTimeZoneInformation(PDYNAMIC_TIME_ZONE_INFORMATION pTimeZoneInfo ARRAYSIZE(pTimeZoneInformation->StandardName)); const time_t t = time(NULL); - struct tm tres = { 0 }; + struct tm tres = WINPR_C_ARRAY_INIT; struct tm* local_time = localtime_r(&t, &tres); if (!local_time) goto out_error; @@ -849,7 +849,7 @@ DWORD EnumDynamicTimeZoneInformation(DWORD dwIndex, { if (!lpTimeZoneInformation) return ERROR_INVALID_PARAMETER; - const DYNAMIC_TIME_ZONE_INFORMATION empty = { 0 }; + const DYNAMIC_TIME_ZONE_INFORMATION empty = WINPR_C_ARRAY_INIT; *lpTimeZoneInformation = empty; const TimeZoneNameMapEntry* entry = TimeZoneGetAt(dwIndex); @@ -867,7 +867,7 @@ DWORD EnumDynamicTimeZoneInformation(DWORD dwIndex, ARRAYSIZE(lpTimeZoneInformation->TimeZoneKeyName)); const time_t t = time(NULL); - struct tm tres = { 0 }; + struct tm tres = WINPR_C_ARRAY_INIT; char* tzcopy = entry->Iana ? setNewAndSaveOldTZ(entry->Iana) : NULL; diff --git a/winpr/libwinpr/utils/asn1/asn1.c b/winpr/libwinpr/utils/asn1/asn1.c index e8b503d1b..7626648b0 100644 --- a/winpr/libwinpr/utils/asn1/asn1.c +++ b/winpr/libwinpr/utils/asn1/asn1.c @@ -538,7 +538,7 @@ static size_t asn1IntegerLen(WinPrAsn1_INTEGER value) static size_t WinPrAsn1EncIntegerLike(WinPrAsn1Encoder* enc, WinPrAsn1_tag b, WinPrAsn1_INTEGER value) { - wStream staticS = { 0 }; + wStream staticS = WINPR_C_ARRAY_INIT; wStream* s = &staticS; const size_t len = asn1IntegerLen(value); @@ -579,7 +579,7 @@ size_t WinPrAsn1EncEnumerated(WinPrAsn1Encoder* enc, WinPrAsn1_ENUMERATED value) static size_t WinPrAsn1EncContextualIntegerLike(WinPrAsn1Encoder* enc, WinPrAsn1_tag tag, WinPrAsn1_tagId tagId, WinPrAsn1_INTEGER value) { - wStream staticS = { 0 }; + wStream staticS = WINPR_C_ARRAY_INIT; wStream* s = &staticS; WINPR_ASSERT(enc); @@ -766,7 +766,7 @@ static void write2digit(wStream* s, UINT8 v) size_t WinPrAsn1EncUtcTime(WinPrAsn1Encoder* enc, const WinPrAsn1_UTCTIME* utc) { - wStream staticS = { 0 }; + wStream staticS = WINPR_C_ARRAY_INIT; wStream* s = &staticS; WINPR_ASSERT(enc); @@ -1496,7 +1496,7 @@ size_t WinPrAsn1DecReadContextualSequence(WinPrAsn1Decoder* dec, WinPrAsn1_tagId wStream WinPrAsn1DecGetStream(WinPrAsn1Decoder* dec) { - wStream s = { 0 }; + wStream s = WINPR_C_ARRAY_INIT; WINPR_ASSERT(dec); Stream_StaticConstInit(&s, Stream_ConstPointer(&dec->source), diff --git a/winpr/libwinpr/utils/collections/ArrayList.c b/winpr/libwinpr/utils/collections/ArrayList.c index 1aa0de8f5..86b1bc880 100644 --- a/winpr/libwinpr/utils/collections/ArrayList.c +++ b/winpr/libwinpr/utils/collections/ArrayList.c @@ -535,7 +535,7 @@ wObject* ArrayList_Object(wArrayList* arrayList) BOOL ArrayList_ForEach(wArrayList* arrayList, ArrayList_ForEachFkt fkt, ...) { BOOL rc = 0; - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, fkt); rc = ArrayList_ForEachAP(arrayList, fkt, ap); va_end(ap); @@ -546,7 +546,7 @@ BOOL ArrayList_ForEach(wArrayList* arrayList, ArrayList_ForEachFkt fkt, ...) BOOL ArrayList_ForEachAP(wArrayList* arrayList, ArrayList_ForEachFkt fkt, va_list ap) { BOOL rc = FALSE; - va_list cap = { 0 }; + va_list cap = WINPR_C_ARRAY_INIT; WINPR_ASSERT(arrayList); WINPR_ASSERT(fkt); diff --git a/winpr/libwinpr/utils/collections/BitStream.c b/winpr/libwinpr/utils/collections/BitStream.c index e7bcd5b42..dc005e511 100644 --- a/winpr/libwinpr/utils/collections/BitStream.c +++ b/winpr/libwinpr/utils/collections/BitStream.c @@ -96,7 +96,7 @@ static const char* BYTE_BIT_STRINGS_MSB[256] = { void BitDump(const char* tag, UINT32 level, const BYTE* buffer, UINT32 length, UINT32 flags) { const char** strs = (flags & BITDUMP_MSB_FIRST) ? BYTE_BIT_STRINGS_MSB : BYTE_BIT_STRINGS_LSB; - char pbuffer[64 * 8 + 1] = { 0 }; + char pbuffer[64 * 8 + 1] = WINPR_C_ARRAY_INIT; size_t pos = 0; WINPR_ASSERT(tag); diff --git a/winpr/libwinpr/utils/collections/MessageQueue.c b/winpr/libwinpr/utils/collections/MessageQueue.c index 6f6474bd5..3c87237b5 100644 --- a/winpr/libwinpr/utils/collections/MessageQueue.c +++ b/winpr/libwinpr/utils/collections/MessageQueue.c @@ -200,7 +200,7 @@ out: BOOL MessageQueue_Post(wMessageQueue* queue, void* context, UINT32 type, void* wParam, void* lParam) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; message.context = context; message.id = type; diff --git a/winpr/libwinpr/utils/collections/PubSub.c b/winpr/libwinpr/utils/collections/PubSub.c index fae0bdec0..35ec2281a 100644 --- a/winpr/libwinpr/utils/collections/PubSub.c +++ b/winpr/libwinpr/utils/collections/PubSub.c @@ -127,7 +127,7 @@ int PubSub_Subscribe(wPubSub* pubSub, const char* EventName, ...) int status = -1; WINPR_ASSERT(pubSub); - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, EventName); pEventHandler EventHandler = va_arg(ap, pEventHandler); @@ -160,7 +160,7 @@ int PubSub_Unsubscribe(wPubSub* pubSub, const char* EventName, ...) WINPR_ASSERT(pubSub); WINPR_ASSERT(EventName); - va_list ap = { 0 }; + va_list ap = WINPR_C_ARRAY_INIT; va_start(ap, EventName); pEventHandler EventHandler = va_arg(ap, pEventHandler); diff --git a/winpr/libwinpr/utils/collections/StreamPool.c b/winpr/libwinpr/utils/collections/StreamPool.c index 6e1ac74c9..0c5fb6b65 100644 --- a/winpr/libwinpr/utils/collections/StreamPool.c +++ b/winpr/libwinpr/utils/collections/StreamPool.c @@ -64,13 +64,13 @@ static void discard_entry(struct s_StreamPoolEntry* entry, BOOL discardStream) if (discardStream && entry->s) Stream_Free(entry->s, entry->s->isAllocatedStream); - const struct s_StreamPoolEntry empty = { 0 }; + const struct s_StreamPoolEntry empty = WINPR_C_ARRAY_INIT; *entry = empty; } static struct s_StreamPoolEntry add_entry(wStream* s) { - struct s_StreamPoolEntry entry = { 0 }; + struct s_StreamPoolEntry entry = WINPR_C_ARRAY_INIT; #if defined(WITH_STREAMPOOL_DEBUG) void* stack = winpr_backtrace(20); @@ -480,7 +480,7 @@ char* StreamPool_GetStatistics(wStreamPool* pool, char* buffer, size_t size) if ((offset > 0) && ((size_t)offset < size - used)) used += (size_t)offset; - struct s_StreamPoolEntry entry = { 0 }; + struct s_StreamPoolEntry entry = WINPR_C_ARRAY_INIT; void* stack = winpr_backtrace(20); if (stack) entry.msg = winpr_backtrace_symbols(stack, &entry.lines); @@ -513,7 +513,7 @@ BOOL StreamPool_WaitForReturn(wStreamPool* pool, UINT32 timeoutMS) return TRUE; WLog_Print(log, WLOG_DEBUG, "%" PRIuz " streams still in use, sleeping...", used); - char buffer[4096] = { 0 }; + char buffer[4096] = WINPR_C_ARRAY_INIT; StreamPool_GetStatistics(pool, buffer, sizeof(buffer)); WLog_Print(log, WLOG_TRACE, "Pool statistics: %s", buffer); diff --git a/winpr/libwinpr/utils/image.c b/winpr/libwinpr/utils/image.c index 94369861d..6332eeaa9 100644 --- a/winpr/libwinpr/utils/image.c +++ b/winpr/libwinpr/utils/image.c @@ -199,8 +199,8 @@ BOOL readBitmapInfoHeader(wStream* s, WINPR_BITMAP_INFO_HEADER* bi, size_t* poff BYTE* winpr_bitmap_construct_header(size_t width, size_t height, size_t bpp) { BYTE* result = NULL; - WINPR_BITMAP_FILE_HEADER bf = { 0 }; - WINPR_BITMAP_INFO_HEADER bi = { 0 }; + WINPR_BITMAP_FILE_HEADER bf = WINPR_C_ARRAY_INIT; + WINPR_BITMAP_INFO_HEADER bi = WINPR_C_ARRAY_INIT; size_t stride = (width * bpp + 7) / 8; if ((stride % 4) != 0) @@ -416,9 +416,9 @@ static int winpr_image_bitmap_read_buffer(wImage* image, const BYTE* buffer, siz { int rc = -1; BOOL vFlip = 0; - WINPR_BITMAP_FILE_HEADER bf = { 0 }; - WINPR_BITMAP_INFO_HEADER bi = { 0 }; - wStream sbuffer = { 0 }; + WINPR_BITMAP_FILE_HEADER bf = WINPR_C_ARRAY_INIT; + WINPR_BITMAP_INFO_HEADER bi = WINPR_C_ARRAY_INIT; + wStream sbuffer = WINPR_C_ARRAY_INIT; wStream* s = Stream_StaticConstInit(&sbuffer, buffer, size); if (!s) @@ -584,7 +584,7 @@ int winpr_image_read(wImage* image, const char* filename) int winpr_image_read_buffer(wImage* image, const BYTE* buffer, size_t size) { - BYTE sig[12] = { 0 }; + BYTE sig[12] = WINPR_C_ARRAY_INIT; int status = -1; if (size < sizeof(sig)) @@ -678,7 +678,7 @@ static void* winpr_convert_to_jpeg(WINPR_ATTR_UNUSED const void* data, #else BYTE* outbuffer = NULL; unsigned long outsize = 0; - struct jpeg_compress_struct cinfo = { 0 }; + struct jpeg_compress_struct cinfo = WINPR_C_ARRAY_INIT; const size_t expect1 = 1ull * stride * height; const size_t bytes = (bpp + 7) / 8; @@ -689,7 +689,7 @@ static void* winpr_convert_to_jpeg(WINPR_ATTR_UNUSED const void* data, return NULL; /* Set up the error handler. */ - struct jpeg_error_mgr jerr = { 0 }; + struct jpeg_error_mgr jerr = WINPR_C_ARRAY_INIT; cinfo.err = jpeg_std_error(&jerr); jpeg_create_compress(&cinfo); @@ -750,7 +750,7 @@ SSIZE_T winpr_convert_from_jpeg(WINPR_ATTR_UNUSED const BYTE* comp_data, WLog_WARN(TAG, "JPEG not supported in this build"); return -1; #else - struct jpeg_decompress_struct cinfo = { 0 }; + struct jpeg_decompress_struct cinfo = WINPR_C_ARRAY_INIT; struct jpeg_error_mgr jerr; SSIZE_T size = -1; BYTE* decomp_data = NULL; @@ -923,7 +923,7 @@ static SSIZE_T save_png_to_buffer(UINT32 bpp, UINT32 width, uint32_t stride, UIN png_structp png_ptr = NULL; png_infop info_ptr = NULL; png_byte** row_pointers = NULL; - struct png_mem_encode state = { 0 }; + struct png_mem_encode state = WINPR_C_ARRAY_INIT; *pDstData = NULL; @@ -1032,7 +1032,7 @@ static void* winpr_read_png_from_buffer(const void* data, size_t SrcSize, size_t int color_type = 0; int interlace_type = 0; int transforms = PNG_TRANSFORM_IDENTITY; - MEMORY_READER_STATE memory_reader_state = { 0 }; + MEMORY_READER_STATE memory_reader_state = WINPR_C_ARRAY_INIT; png_bytepp row_pointers = NULL; png_infop info_ptr = NULL; if (SrcSize > UINT32_MAX) diff --git a/winpr/libwinpr/utils/ini.c b/winpr/libwinpr/utils/ini.c index a70818f3c..b475fb4a9 100644 --- a/winpr/libwinpr/utils/ini.c +++ b/winpr/libwinpr/utils/ini.c @@ -698,7 +698,7 @@ int IniFile_SetKeyValueString(wIniFile* ini, const char* section, const char* ke int IniFile_SetKeyValueInt(wIniFile* ini, const char* section, const char* key, int value) { - char strVal[128] = { 0 }; + char strVal[128] = WINPR_C_ARRAY_INIT; wIniFileKey* pKey = NULL; wIniFileSection* pSection = NULL; diff --git a/winpr/libwinpr/utils/json/c-json.c b/winpr/libwinpr/utils/json/c-json.c index 7686b51d4..31cea51fa 100644 --- a/winpr/libwinpr/utils/json/c-json.c +++ b/winpr/libwinpr/utils/json/c-json.c @@ -261,7 +261,7 @@ WINPR_JSON* WINPR_JSON_AddNumberToObject(WINPR_JSON* object, const char* name, d WINPR_JSON* WINPR_JSON_AddIntegerToObject(WINPR_JSON* object, const char* name, int64_t number) { - char str[64] = { 0 }; + char str[64] = WINPR_C_ARRAY_INIT; (void)_snprintf(str, sizeof(str), "%" PRId64, number); return cJSON_AddRawToObject((cJSON*)object, name, str); } diff --git a/winpr/libwinpr/utils/json/jansson.c b/winpr/libwinpr/utils/json/jansson.c index 777dca12e..a53828340 100644 --- a/winpr/libwinpr/utils/json/jansson.c +++ b/winpr/libwinpr/utils/json/jansson.c @@ -30,7 +30,7 @@ #error "The library detected is too old, need >= 2.13.0" #endif -static WINPR_TLS char lasterror[256] = { 0 }; +static WINPR_TLS char lasterror[256] = WINPR_C_ARRAY_INIT; #if defined(WITH_DEBUG_JANSSON) #include "../log.h" @@ -107,7 +107,7 @@ static WINPR_JSON* updateError(WINPR_JSON* json, const json_error_t* error) WINPR_JSON* WINPR_JSON_Parse(const char* value) { - json_error_t error = { 0 }; + json_error_t error = WINPR_C_ARRAY_INIT; WINPR_JSON* json = revcast(json_loads(value, JSON_DECODE_ANY, &error)); return updateError(json, &error); } @@ -117,7 +117,7 @@ WINPR_JSON* WINPR_JSON_ParseWithLength(const char* value, size_t buffer_length) if (!value || (buffer_length == 0)) return NULL; - json_error_t error = { 0 }; + json_error_t error = WINPR_C_ARRAY_INIT; const size_t slen = strnlen(value, buffer_length); WINPR_JSON* json = revcast(json_loadb(value, slen, JSON_DECODE_ANY, &error)); return updateError(json, &error); diff --git a/winpr/libwinpr/utils/print.c b/winpr/libwinpr/utils/print.c index 7ecd305c9..e3f57c497 100644 --- a/winpr/libwinpr/utils/print.c +++ b/winpr/libwinpr/utils/print.c @@ -69,7 +69,7 @@ void winpr_HexLogDump(wLog* log, UINT32 level, const void* data, size_t length) if (!buffer) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_Print(log, WLOG_ERROR, "malloc(%" PRIuz ") failed with [%d] %s", blen, errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); return; @@ -141,7 +141,7 @@ void winpr_CArrayDump(const char* tag, UINT32 level, const void* data, size_t le if (!buffer) { - char ebuffer[256] = { 0 }; + char ebuffer[256] = WINPR_C_ARRAY_INIT; WLog_ERR(tag, "malloc(%" PRIuz ") failed with [%d] %s", llen, errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); return; diff --git a/winpr/libwinpr/utils/sam.c b/winpr/libwinpr/utils/sam.c index 8bdc214d9..66e3eac5e 100644 --- a/winpr/libwinpr/utils/sam.c +++ b/winpr/libwinpr/utils/sam.c @@ -186,7 +186,7 @@ static void SamLookupFinish(WINPR_SAM* sam) static BOOL SamReadEntry(WINPR_SAM* sam, WINPR_SAM_ENTRY* entry) { - char* p[5] = { 0 }; + char* p[5] = WINPR_C_ARRAY_INIT; size_t count = 0; if (!sam || !entry || !sam->line) diff --git a/winpr/libwinpr/utils/stream.c b/winpr/libwinpr/utils/stream.c index 94ed656d7..eea333335 100644 --- a/winpr/libwinpr/utils/stream.c +++ b/winpr/libwinpr/utils/stream.c @@ -131,7 +131,7 @@ wStream* Stream_StaticConstInit(wStream* s, const BYTE* buffer, size_t size) wStream* Stream_StaticInit(wStream* s, BYTE* buffer, size_t size) { - const wStream empty = { 0 }; + const wStream empty = WINPR_C_ARRAY_INIT; WINPR_ASSERT(s); WINPR_ASSERT(buffer); @@ -312,7 +312,7 @@ BOOL Stream_CheckAndLogRequiredCapacityEx(const char* tag, DWORD level, wStream* if (actual < nmemb) { - va_list args = { 0 }; + va_list args = WINPR_C_ARRAY_INIT; va_start(args, fmt); Stream_CheckAndLogRequiredCapacityExVa(tag, level, s, nmemb, size, fmt, args); @@ -346,7 +346,7 @@ BOOL Stream_CheckAndLogRequiredCapacityWLogExVa(wLog* log, DWORD level, wStream* if (actual < nmemb) { - char prefix[1024] = { 0 }; + char prefix[1024] = WINPR_C_ARRAY_INIT; (void)vsnprintf(prefix, sizeof(prefix), fmt, args); @@ -370,7 +370,7 @@ BOOL Stream_CheckAndLogRequiredCapacityWLogEx(wLog* log, DWORD level, wStream* s if (actual < nmemb) { - va_list args = { 0 }; + va_list args = WINPR_C_ARRAY_INIT; va_start(args, fmt); Stream_CheckAndLogRequiredCapacityWLogExVa(log, level, s, nmemb, size, fmt, args); @@ -390,7 +390,7 @@ BOOL Stream_CheckAndLogRequiredLengthEx(const char* tag, DWORD level, wStream* s if (actual < nmemb) { - va_list args = { 0 }; + va_list args = WINPR_C_ARRAY_INIT; va_start(args, fmt); Stream_CheckAndLogRequiredLengthExVa(tag, level, s, nmemb, size, fmt, args); @@ -421,7 +421,7 @@ BOOL Stream_CheckAndLogRequiredLengthWLogEx(wLog* log, DWORD level, wStream* s, if (actual < nmemb) { - va_list args = { 0 }; + va_list args = WINPR_C_ARRAY_INIT; va_start(args, fmt); Stream_CheckAndLogRequiredLengthWLogExVa(log, level, s, nmemb, size, fmt, args); @@ -442,7 +442,7 @@ BOOL Stream_CheckAndLogRequiredLengthWLogExVa(wLog* log, DWORD level, wStream* s if (actual < nmemb) { - char prefix[1024] = { 0 }; + char prefix[1024] = WINPR_C_ARRAY_INIT; (void)vsnprintf(prefix, sizeof(prefix), fmt, args); diff --git a/winpr/libwinpr/utils/test/TestASN1.c b/winpr/libwinpr/utils/test/TestASN1.c index 79d5b82b3..9b0a23db2 100644 --- a/winpr/libwinpr/utils/test/TestASN1.c +++ b/winpr/libwinpr/utils/test/TestASN1.c @@ -32,12 +32,12 @@ int TestASN1Read(int argc, char* argv[]) { WinPrAsn1Decoder decoder = { .encoding = WINPR_ASN1_BER, { 0 } }; WinPrAsn1Decoder seqDecoder = { .encoding = WINPR_ASN1_BER, { 0 } }; - wStream staticS = { 0 }; + wStream staticS = WINPR_C_ARRAY_INIT; WinPrAsn1_BOOL boolV = 0; WinPrAsn1_INTEGER integerV = 0; - WinPrAsn1_OID oidV = { 0 }; + WinPrAsn1_OID oidV = WINPR_C_ARRAY_INIT; WinPrAsn1_IA5STRING ia5stringV = NULL; - WinPrAsn1_UTCTIME utctimeV = { 0 }; + WinPrAsn1_UTCTIME utctimeV = WINPR_C_ARRAY_INIT; WinPrAsn1_tag tag = 0; size_t len = 0; BOOL error = 0; diff --git a/winpr/libwinpr/utils/test/TestBitStream.c b/winpr/libwinpr/utils/test/TestBitStream.c index 83c911cb6..f8bb65baa 100644 --- a/winpr/libwinpr/utils/test/TestBitStream.c +++ b/winpr/libwinpr/utils/test/TestBitStream.c @@ -6,7 +6,7 @@ static void BitStrGen(void) { - char str[64] = { 0 }; + char str[64] = WINPR_C_ARRAY_INIT; for (DWORD i = 0; i < 256;) { @@ -52,7 +52,7 @@ static void BitStrGen(void) int TestBitStream(int argc, char* argv[]) { wBitStream* bs = NULL; - BYTE buffer[1024] = { 0 }; + BYTE buffer[1024] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/utils/test/TestBufferPool.c b/winpr/libwinpr/utils/test/TestBufferPool.c index baeefe417..b13dc0cf8 100644 --- a/winpr/libwinpr/utils/test/TestBufferPool.c +++ b/winpr/libwinpr/utils/test/TestBufferPool.c @@ -8,7 +8,7 @@ int TestBufferPool(int argc, char* argv[]) DWORD PoolSize = 0; SSIZE_T BufferSize = 0; wBufferPool* pool = NULL; - BYTE* Buffers[10] = { 0 }; + BYTE* Buffers[10] = WINPR_C_ARRAY_INIT; int DefaultSize = 1234; WINPR_UNUSED(argc); diff --git a/winpr/libwinpr/utils/test/TestImage.c b/winpr/libwinpr/utils/test/TestImage.c index a19dc1bcf..a8fe52904 100644 --- a/winpr/libwinpr/utils/test/TestImage.c +++ b/winpr/libwinpr/utils/test/TestImage.c @@ -22,7 +22,7 @@ static BOOL test_equal_to(const wImage* bmp, const char* name, UINT32 format) if (!cmp) goto fail; - char path[MAX_PATH] = { 0 }; + char path[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)_snprintf(path, sizeof(path), "%s.%s", name, winpr_image_format_extension(format)); const int cmpSize = winpr_image_read(cmp, path); if (cmpSize <= 0) @@ -48,7 +48,7 @@ static BOOL test_equal(void) if (!bmp) goto fail; - char path[MAX_PATH] = { 0 }; + char path[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)_snprintf(path, sizeof(path), "%s.bmp", test_src_filename); PathCchConvertStyleA(path, sizeof(path), PATH_STYLE_NATIVE); @@ -83,10 +83,10 @@ static BOOL test_read_write_compare(const char* tname, const char* tdst, UINT32 if (!bmp1 || !bmp2 || !bmp3) goto fail; - char spath[MAX_PATH] = { 0 }; - char dpath[MAX_PATH] = { 0 }; - char bpath1[MAX_PATH] = { 0 }; - char bpath2[MAX_PATH] = { 0 }; + char spath[MAX_PATH] = WINPR_C_ARRAY_INIT; + char dpath[MAX_PATH] = WINPR_C_ARRAY_INIT; + char bpath1[MAX_PATH] = WINPR_C_ARRAY_INIT; + char bpath2[MAX_PATH] = WINPR_C_ARRAY_INIT; (void)_snprintf(spath, sizeof(spath), "%s.%s", tname, winpr_image_format_extension(format)); (void)_snprintf(dpath, sizeof(dpath), "%s.%s", tdst, winpr_image_format_extension(format)); (void)_snprintf(bpath1, sizeof(bpath1), "%s.src.%s", dpath, diff --git a/winpr/libwinpr/utils/test/TestMessagePipe.c b/winpr/libwinpr/utils/test/TestMessagePipe.c index bfa4ab6d5..8c85a4ca8 100644 --- a/winpr/libwinpr/utils/test/TestMessagePipe.c +++ b/winpr/libwinpr/utils/test/TestMessagePipe.c @@ -10,7 +10,7 @@ static DWORD WINAPI message_echo_pipe_client_thread(LPVOID arg) while (index < 100) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; int count = -1; if (!MessageQueue_Post(pipe->In, NULL, 0, (void*)(size_t)index, NULL)) @@ -40,7 +40,7 @@ static DWORD WINAPI message_echo_pipe_client_thread(LPVOID arg) static DWORD WINAPI message_echo_pipe_server_thread(LPVOID arg) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; wMessagePipe* pipe = (wMessagePipe*)arg; while (MessageQueue_Wait(pipe->In)) diff --git a/winpr/libwinpr/utils/test/TestMessageQueue.c b/winpr/libwinpr/utils/test/TestMessageQueue.c index 923184b2e..010615b8a 100644 --- a/winpr/libwinpr/utils/test/TestMessageQueue.c +++ b/winpr/libwinpr/utils/test/TestMessageQueue.c @@ -5,7 +5,7 @@ static DWORD WINAPI message_queue_consumer_thread(LPVOID arg) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; wMessageQueue* queue = (wMessageQueue*)arg; while (MessageQueue_Wait(queue)) @@ -79,7 +79,7 @@ static bool fill_capcity(wMessageQueue* queue, size_t* pos) static bool drain(wMessageQueue* queue, size_t expect) { - wMessage message = { 0 }; + wMessage message = WINPR_C_ARRAY_INIT; if (MessageQueue_Get(queue, &message) < 0) return false; if (!check(&message, expect)) diff --git a/winpr/libwinpr/utils/test/TestPrint.c b/winpr/libwinpr/utils/test/TestPrint.c index 81f60f506..8132924ea 100644 --- a/winpr/libwinpr/utils/test/TestPrint.c +++ b/winpr/libwinpr/utils/test/TestPrint.c @@ -21,9 +21,9 @@ static BOOL test_bin_tohex_string(void) { BOOL rc = FALSE; { - const BYTE binbuffer[33] = { 0 }; - const char empty[33] = { 0 }; - char strbuffer[33] = { 0 }; + const BYTE binbuffer[33] = WINPR_C_ARRAY_INIT; + const char empty[33] = WINPR_C_ARRAY_INIT; + char strbuffer[33] = WINPR_C_ARRAY_INIT; size_t len = winpr_BinToHexStringBuffer(NULL, sizeof(binbuffer), strbuffer, sizeof(strbuffer), TRUE); @@ -84,7 +84,7 @@ static BOOL test_bin_tohex_string(void) const char strbuffer1[] = "0102030405060708090A0B0C0D0E0F1011"; const char strbuffer1_space[] = "01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11"; - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; size_t len = winpr_BinToHexStringBuffer(binbuffer1, sizeof(binbuffer1), buffer, sizeof(buffer), FALSE); if (len != strnlen(strbuffer1, sizeof(strbuffer1))) @@ -103,7 +103,7 @@ static BOOL test_bin_tohex_string(void) 0x6A, 0x5b, 0x4C, 0x3d, 0x2E, 0x1f, 0x00, 0xfF }; const char strbuffer1[] = "F1E2D3C4B5A69788796A5B4C3D2E1F00FF"; const char strbuffer1_space[] = "F1 E2 D3 C4 B5 A6 97 88 79 6A 5B 4C 3D 2E 1F 00 FF"; - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; size_t len = winpr_BinToHexStringBuffer(binbuffer1, sizeof(binbuffer1), buffer, sizeof(buffer), FALSE); if (len != strnlen(strbuffer1, sizeof(strbuffer1))) @@ -129,7 +129,7 @@ static BOOL test_bin_tohex_string_alloc(void) BOOL rc = FALSE; char* str = NULL; { - const BYTE binbuffer[33] = { 0 }; + const BYTE binbuffer[33] = WINPR_C_ARRAY_INIT; str = winpr_BinToHexString(NULL, sizeof(binbuffer), TRUE); if (str) @@ -194,8 +194,8 @@ static BOOL test_hex_string_to_bin(void) BOOL rc = FALSE; { const char stringbuffer[] = "123456789ABCDEFabcdef"; - const BYTE empty[1024] = { 0 }; - BYTE buffer[1024] = { 0 }; + const BYTE empty[1024] = WINPR_C_ARRAY_INIT; + BYTE buffer[1024] = WINPR_C_ARRAY_INIT; size_t len = winpr_HexStringToBinBuffer(NULL, 0, NULL, 0); if (len != 0) goto fail; @@ -227,7 +227,7 @@ static BOOL test_hex_string_to_bin(void) const BYTE expected[] = { 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf1, 0xab, 0xcd, 0xef }; - BYTE buffer[32] = { 0 }; + BYTE buffer[32] = WINPR_C_ARRAY_INIT; size_t len = winpr_HexStringToBinBuffer(stringbuffer, sizeof(stringbuffer), buffer, sizeof(buffer)); if (len != sizeof(expected)) @@ -246,7 +246,7 @@ static BOOL test_hex_string_to_bin(void) const BYTE expected[] = { 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf1, 0xab, 0xcd, 0xef }; - BYTE buffer[1024] = { 0 }; + BYTE buffer[1024] = WINPR_C_ARRAY_INIT; size_t len = winpr_HexStringToBinBuffer(stringbuffer, sizeof(stringbuffer), buffer, sizeof(buffer)); if (len != sizeof(expected)) @@ -264,7 +264,7 @@ static BOOL test_hex_string_to_bin(void) const char stringbuffer[] = "123456789ABCDEF1abcdef9"; const BYTE expected[] = { 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf1, 0xab, 0xcd, 0xef, 0x09 }; - BYTE buffer[1024] = { 0 }; + BYTE buffer[1024] = WINPR_C_ARRAY_INIT; size_t len = winpr_HexStringToBinBuffer(stringbuffer, sizeof(stringbuffer), buffer, sizeof(buffer)); if (len != sizeof(expected)) @@ -282,7 +282,7 @@ static BOOL test_hex_string_to_bin(void) const char stringbuffer[] = "12 34 56 78 9A BC DE F1 ab cd ef 9"; const BYTE expected[] = { 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf1, 0xab, 0xcd, 0xef, 0x09 }; - BYTE buffer[1024] = { 0 }; + BYTE buffer[1024] = WINPR_C_ARRAY_INIT; size_t len = winpr_HexStringToBinBuffer(stringbuffer, sizeof(stringbuffer), buffer, sizeof(buffer)); if (len != sizeof(expected)) diff --git a/winpr/libwinpr/utils/test/TestStream.c b/winpr/libwinpr/utils/test/TestStream.c index 34fd6fe5b..168b3890c 100644 --- a/winpr/libwinpr/utils/test/TestStream.c +++ b/winpr/libwinpr/utils/test/TestStream.c @@ -90,8 +90,8 @@ static BOOL TestStream_New(void) static BOOL TestStream_Static(void) { - BYTE buffer[20] = { 0 }; - wStream staticStream = { 0 }; + BYTE buffer[20] = WINPR_C_ARRAY_INIT; + wStream staticStream = WINPR_C_ARRAY_INIT; wStream* s = &staticStream; UINT16 v = 0; /* Test creation of a static stream */ diff --git a/winpr/libwinpr/utils/test/TestStreamPool.c b/winpr/libwinpr/utils/test/TestStreamPool.c index 615a5ac9b..74644dcfc 100644 --- a/winpr/libwinpr/utils/test/TestStreamPool.c +++ b/winpr/libwinpr/utils/test/TestStreamPool.c @@ -7,8 +7,8 @@ int TestStreamPool(int argc, char* argv[]) { - wStream* s[5] = { 0 }; - char buffer[8192] = { 0 }; + wStream* s[5] = WINPR_C_ARRAY_INIT; + char buffer[8192] = WINPR_C_ARRAY_INIT; WINPR_UNUSED(argc); WINPR_UNUSED(argv); diff --git a/winpr/libwinpr/utils/unwind/debug.c b/winpr/libwinpr/utils/unwind/debug.c index d30b377ae..8418ac991 100644 --- a/winpr/libwinpr/utils/unwind/debug.c +++ b/winpr/libwinpr/utils/unwind/debug.c @@ -144,7 +144,7 @@ void* winpr_unwind_backtrace(DWORD size) * there seems to be no consensus on what to return from this function. * so we just warn about unexpected return codes and return the context regardless. */ - char buffer[64] = { 0 }; + char buffer[64] = WINPR_C_ARRAY_INIT; WLog_WARN(TAG, "_Unwind_Backtrace failed with %s", unwind_reason_str_buffer(rc, buffer, sizeof(buffer))); } @@ -189,7 +189,7 @@ char** winpr_unwind_backtrace_symbols(void* buffer, size_t* used) { char* msg = cnv.cp + ctx->pos * sizeof(char*) + x * UNWIND_MAX_LINE_SIZE; const unwind_info_t* info = &ctx->info[x]; - Dl_info dlinfo = { 0 }; + Dl_info dlinfo = WINPR_C_ARRAY_INIT; int rc = dladdr(info->pc.pv, &dlinfo); cnv.cpp[x] = msg; diff --git a/winpr/libwinpr/utils/winpr.c b/winpr/libwinpr/utils/winpr.c index 269bbe769..552273436 100644 --- a/winpr/libwinpr/utils/winpr.c +++ b/winpr/libwinpr/utils/winpr.c @@ -39,8 +39,8 @@ #endif static INIT_ONCE s_winpr_app_details_once = INIT_ONCE_STATIC_INIT; -static char s_winpr_vendor_string[MAX_PATH] = { 0 }; -static char s_winpr_product_string[MAX_PATH] = { 0 }; +static char s_winpr_vendor_string[MAX_PATH] = WINPR_C_ARRAY_INIT; +static char s_winpr_product_string[MAX_PATH] = WINPR_C_ARRAY_INIT; static SSIZE_T s_winpr_version = -1; static BOOL s_winpr_app_details_are_custom = FALSE; diff --git a/winpr/libwinpr/utils/wlog/CallbackAppender.c b/winpr/libwinpr/utils/wlog/CallbackAppender.c index 7a0f37232..2034e5af9 100644 --- a/winpr/libwinpr/utils/wlog/CallbackAppender.c +++ b/winpr/libwinpr/utils/wlog/CallbackAppender.c @@ -47,7 +47,7 @@ static BOOL WLog_CallbackAppender_WriteMessage(wLog* log, wLogAppender* appender if (!appender) return FALSE; - char prefix[WLOG_MAX_PREFIX_SIZE] = { 0 }; + char prefix[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT; WLog_Layout_GetMessagePrefix(log, appender->Layout, cmessage, prefix, sizeof(prefix)); wLogCallbackAppender* callbackAppender = (wLogCallbackAppender*)appender; @@ -68,7 +68,7 @@ static BOOL WLog_CallbackAppender_WriteDataMessage(wLog* log, wLogAppender* appe if (!appender) return FALSE; - char prefix[WLOG_MAX_PREFIX_SIZE] = { 0 }; + char prefix[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT; WLog_Layout_GetMessagePrefix(log, appender->Layout, cmessage, prefix, sizeof(prefix)); wLogCallbackAppender* callbackAppender = (wLogCallbackAppender*)appender; @@ -89,7 +89,7 @@ static BOOL WLog_CallbackAppender_WriteImageMessage(wLog* log, wLogAppender* app if (!appender) return FALSE; - char prefix[WLOG_MAX_PREFIX_SIZE] = { 0 }; + char prefix[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT; WLog_Layout_GetMessagePrefix(log, appender->Layout, cmessage, prefix, sizeof(prefix)); wLogCallbackAppender* callbackAppender = (wLogCallbackAppender*)appender; @@ -110,7 +110,7 @@ static BOOL WLog_CallbackAppender_WritePacketMessage(wLog* log, wLogAppender* ap if (!appender) return FALSE; - char prefix[WLOG_MAX_PREFIX_SIZE] = { 0 }; + char prefix[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT; WLog_Layout_GetMessagePrefix(log, appender->Layout, cmessage, prefix, sizeof(prefix)); wLogCallbackAppender* callbackAppender = (wLogCallbackAppender*)appender; diff --git a/winpr/libwinpr/utils/wlog/ConsoleAppender.c b/winpr/libwinpr/utils/wlog/ConsoleAppender.c index 5d883ecd6..cb49b5096 100644 --- a/winpr/libwinpr/utils/wlog/ConsoleAppender.c +++ b/winpr/libwinpr/utils/wlog/ConsoleAppender.c @@ -58,7 +58,7 @@ static BOOL WLog_ConsoleAppender_WriteMessage(wLog* log, wLogAppender* appender, wLogConsoleAppender* consoleAppender = (wLogConsoleAppender*)appender; - char prefix[WLOG_MAX_PREFIX_SIZE] = { 0 }; + char prefix[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT; WLog_Layout_GetMessagePrefix(log, appender->Layout, cmessage, prefix, sizeof(prefix)); #ifdef _WIN32 diff --git a/winpr/libwinpr/utils/wlog/FileAppender.c b/winpr/libwinpr/utils/wlog/FileAppender.c index e3be3c5a5..53bb0f8b1 100644 --- a/winpr/libwinpr/utils/wlog/FileAppender.c +++ b/winpr/libwinpr/utils/wlog/FileAppender.c @@ -138,7 +138,7 @@ static BOOL WLog_FileAppender_WriteMessage(wLog* log, wLogAppender* appender, if (!fp) return FALSE; - char prefix[WLOG_MAX_PREFIX_SIZE] = { 0 }; + char prefix[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT; WLog_Layout_GetMessagePrefix(log, appender->Layout, cmessage, prefix, sizeof(prefix)); (void)fprintf(fp, "%s%s\n", prefix, cmessage->TextString); (void)fflush(fp); /* slow! */ diff --git a/winpr/libwinpr/utils/wlog/JournaldAppender.c b/winpr/libwinpr/utils/wlog/JournaldAppender.c index 3748d3e28..45f0d275f 100644 --- a/winpr/libwinpr/utils/wlog/JournaldAppender.c +++ b/winpr/libwinpr/utils/wlog/JournaldAppender.c @@ -105,7 +105,7 @@ static BOOL WLog_JournaldAppender_WriteMessage(wLog* log, wLogAppender* appender return FALSE; } - char prefix[WLOG_MAX_PREFIX_SIZE] = { 0 }; + char prefix[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT; WLog_Layout_GetMessagePrefix(log, appender->Layout, cmessage, prefix, sizeof(prefix)); if (cmessage->Level != WLOG_OFF) diff --git a/winpr/libwinpr/utils/wlog/Layout.c b/winpr/libwinpr/utils/wlog/Layout.c index f8927d5b3..efef9b4c8 100644 --- a/winpr/libwinpr/utils/wlog/Layout.c +++ b/winpr/libwinpr/utils/wlog/Layout.c @@ -91,7 +91,7 @@ WINPR_ATTR_FORMAT_ARG(3, 4) static void WLog_PrintMessagePrefix(char* prefix, size_t prefixlen, WINPR_FORMAT_ARG const char* format, ...) { - va_list args = { 0 }; + va_list args = WINPR_C_ARRAY_INIT; va_start(args, format); WLog_PrintMessagePrefixVA(prefix, prefixlen, format, args); va_end(args); @@ -167,7 +167,7 @@ static const char* skip_if_null(const struct format_option* opt, const char* fmt const size_t replacelen = WINPR_ASSERTING_INT_CAST(size_t, end - str); - char buffer[WLOG_MAX_PREFIX_SIZE] = { 0 }; + char buffer[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT; memcpy(buffer, str, MIN(replacelen, ARRAYSIZE(buffer) - 1)); if (!replace_format_string(buffer, opt->recurse, opt->recurse->buffer, @@ -238,15 +238,15 @@ static BOOL replace_format_string(const char* FormatString, struct format_option BOOL WLog_Layout_GetMessagePrefix(wLog* log, wLogLayout* layout, const wLogMessage* message, char* prefix, size_t prefixlen) { - char format[WLOG_MAX_PREFIX_SIZE] = { 0 }; + char format[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT; WINPR_ASSERT(layout); WINPR_ASSERT(message); WINPR_ASSERT(prefix); - struct format_tid_arg targ = { 0 }; + struct format_tid_arg targ = WINPR_C_ARRAY_INIT; - SYSTEMTIME localTime = { 0 }; + SYSTEMTIME localTime = WINPR_C_ARRAY_INIT; GetLocalTime(&localTime); struct format_option_recurse recurse = { diff --git a/winpr/libwinpr/utils/wlog/PacketMessage.c b/winpr/libwinpr/utils/wlog/PacketMessage.c index 5ea4f8eea..97afbd908 100644 --- a/winpr/libwinpr/utils/wlog/PacketMessage.c +++ b/winpr/libwinpr/utils/wlog/PacketMessage.c @@ -150,8 +150,8 @@ void Pcap_Close(wPcap* pcap) static BOOL WLog_PacketMessage_Write_EthernetHeader(wPcap* pcap, wEthernetHeader* ethernet) { wStream* s = NULL; - wStream sbuffer = { 0 }; - BYTE buffer[14] = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; + BYTE buffer[14] = WINPR_C_ARRAY_INIT; BOOL ret = TRUE; if (!pcap || !pcap->fp || !ethernet) @@ -193,8 +193,8 @@ static UINT16 IPv4Checksum(const BYTE* ipv4, int length) static BOOL WLog_PacketMessage_Write_IPv4Header(wPcap* pcap, wIPv4Header* ipv4) { wStream* s = NULL; - wStream sbuffer = { 0 }; - BYTE buffer[20] = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; + BYTE buffer[20] = WINPR_C_ARRAY_INIT; int ret = TRUE; if (!pcap || !pcap->fp || !ipv4) @@ -226,8 +226,8 @@ static BOOL WLog_PacketMessage_Write_IPv4Header(wPcap* pcap, wIPv4Header* ipv4) static BOOL WLog_PacketMessage_Write_TcpHeader(wPcap* pcap, wTcpHeader* tcp) { wStream* s = NULL; - wStream sbuffer = { 0 }; - BYTE buffer[20] = { 0 }; + wStream sbuffer = WINPR_C_ARRAY_INIT; + BYTE buffer[20] = WINPR_C_ARRAY_INIT; BOOL ret = TRUE; if (!pcap || !pcap->fp || !tcp) diff --git a/winpr/libwinpr/utils/wlog/UdpAppender.c b/winpr/libwinpr/utils/wlog/UdpAppender.c index 4a1c02db1..60097f9ca 100644 --- a/winpr/libwinpr/utils/wlog/UdpAppender.c +++ b/winpr/libwinpr/utils/wlog/UdpAppender.c @@ -38,9 +38,9 @@ typedef struct static BOOL WLog_UdpAppender_Open(WINPR_ATTR_UNUSED wLog* log, wLogAppender* appender) { wLogUdpAppender* udpAppender = NULL; - char addressString[256] = { 0 }; - struct addrinfo hints = { 0 }; - struct addrinfo* result = { 0 }; + char addressString[256] = WINPR_C_ARRAY_INIT; + struct addrinfo hints = WINPR_C_ARRAY_INIT; + struct addrinfo* result = WINPR_C_ARRAY_INIT; int status = 0; char* colonPos = NULL; @@ -95,7 +95,7 @@ static BOOL WLog_UdpAppender_WriteMessage(wLog* log, wLogAppender* appender, wLogUdpAppender* udpAppender = (wLogUdpAppender*)appender; - char prefix[WLOG_MAX_PREFIX_SIZE] = { 0 }; + char prefix[WLOG_MAX_PREFIX_SIZE] = WINPR_C_ARRAY_INIT; WLog_Layout_GetMessagePrefix(log, appender->Layout, cmessage, prefix, sizeof(prefix)); (void)_sendto(udpAppender->sock, prefix, (int)strnlen(prefix, ARRAYSIZE(prefix)), 0, diff --git a/winpr/libwinpr/utils/wlog/wlog.c b/winpr/libwinpr/utils/wlog/wlog.c index 73dbd477e..e92fcee02 100644 --- a/winpr/libwinpr/utils/wlog/wlog.c +++ b/winpr/libwinpr/utils/wlog/wlog.c @@ -349,7 +349,7 @@ static BOOL WLog_PrintTextMessageInternal(wLog* log, const wLogMessage* cmessage { assert(cmessage); - char formattedLogMessage[WLOG_MAX_STRING_SIZE] = { 0 }; + char formattedLogMessage[WLOG_MAX_STRING_SIZE] = WINPR_C_ARRAY_INIT; wLogMessage message = *cmessage; message.TextString = formattedLogMessage; @@ -367,7 +367,7 @@ BOOL WLog_PrintMessageVA(wLog* log, DWORD type, DWORD level, size_t line, const const char* function, va_list args) { BOOL status = FALSE; - wLogMessage message = { 0 }; + wLogMessage message = WINPR_C_ARRAY_INIT; message.Type = type; message.Level = level; message.LineNumber = line; @@ -413,7 +413,7 @@ BOOL WLog_PrintMessageVA(wLog* log, DWORD type, DWORD level, size_t line, const BOOL WLog_PrintTextMessageVA(wLog* log, DWORD level, size_t line, const char* file, const char* function, const char* fmt, va_list args) { - wLogMessage message = { 0 }; + wLogMessage message = WINPR_C_ARRAY_INIT; message.Type = WLOG_MESSAGE_TEXT; message.Level = level; message.LineNumber = line; @@ -429,7 +429,7 @@ BOOL WLog_PrintMessage(wLog* log, DWORD type, DWORD level, size_t line, const ch const char* function, ...) { BOOL status = 0; - va_list args = { 0 }; + va_list args = WINPR_C_ARRAY_INIT; va_start(args, function); status = WLog_PrintMessageVA(log, type, level, line, file, function, args); va_end(args); @@ -440,7 +440,7 @@ BOOL WLog_PrintTextMessage(wLog* log, DWORD level, size_t line, const char* file const char* function, const char* fmt, ...) { BOOL status = 0; - va_list args = { 0 }; + va_list args = WINPR_C_ARRAY_INIT; va_start(args, fmt); status = WLog_PrintTextMessageVA(log, level, line, file, function, fmt, args); va_end(args); diff --git a/winpr/libwinpr/winsock/winsock.c b/winpr/libwinpr/winsock/winsock.c index ec7cf4d7f..23c692bbd 100644 --- a/winpr/libwinpr/winsock/winsock.c +++ b/winpr/libwinpr/winsock/winsock.c @@ -237,7 +237,7 @@ PCSTR winpr_inet_ntop(INT Family, PVOID pAddr, PSTR pStringBuf, size_t StringBuf { if (Family == AF_INET) { - struct sockaddr_in in = { 0 }; + struct sockaddr_in in = WINPR_C_ARRAY_INIT; in.sin_family = AF_INET; memcpy(&in.sin_addr, pAddr, sizeof(struct in_addr)); @@ -247,7 +247,7 @@ PCSTR winpr_inet_ntop(INT Family, PVOID pAddr, PSTR pStringBuf, size_t StringBuf } else if (Family == AF_INET6) { - struct sockaddr_in6 in = { 0 }; + struct sockaddr_in6 in = WINPR_C_ARRAY_INIT; in.sin6_family = AF_INET6; memcpy(&in.sin6_addr, pAddr, sizeof(struct in_addr6)); @@ -802,11 +802,11 @@ int WSAIoctl(SOCKET s, DWORD dwIoControlCode, WINPR_ATTR_UNUSED LPVOID lpvInBuff size_t offset = 0; size_t ifreq_len = 0; struct ifreq* ifreq = NULL; - struct ifconf ifconf = { 0 }; - char address[128] = { 0 }; - char broadcast[128] = { 0 }; - char netmask[128] = { 0 }; - char buffer[4096] = { 0 }; + struct ifconf ifconf = WINPR_C_ARRAY_INIT; + char address[128] = WINPR_C_ARRAY_INIT; + char broadcast[128] = WINPR_C_ARRAY_INIT; + char netmask[128] = WINPR_C_ARRAY_INIT; + char buffer[4096] = WINPR_C_ARRAY_INIT; size_t numInterfaces = 0; size_t maxNumInterfaces = 0; INTERFACE_INFO* pInterface = NULL; diff --git a/winpr/libwinpr/wtsapi/test/TestWtsApiExtraDynamicVirtualChannel.c b/winpr/libwinpr/wtsapi/test/TestWtsApiExtraDynamicVirtualChannel.c index 1c431392f..dfe766b6d 100644 --- a/winpr/libwinpr/wtsapi/test/TestWtsApiExtraDynamicVirtualChannel.c +++ b/winpr/libwinpr/wtsapi/test/TestWtsApiExtraDynamicVirtualChannel.c @@ -18,7 +18,7 @@ int TestWtsApiExtraDynamicVirtualChannel(int argc, char* argv[]) } printf("WTSVirtualChannelOpen opend"); ULONG bytesWritten = 0; - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; size_t length = sizeof(buffer); BOOL bSuccess = WTSVirtualChannelWrite(hVirtualChannel, buffer, length, &bytesWritten); diff --git a/winpr/libwinpr/wtsapi/test/TestWtsApiExtraStartRemoteSessionEx.c b/winpr/libwinpr/wtsapi/test/TestWtsApiExtraStartRemoteSessionEx.c index 48b8b4f84..a81db9439 100644 --- a/winpr/libwinpr/wtsapi/test/TestWtsApiExtraStartRemoteSessionEx.c +++ b/winpr/libwinpr/wtsapi/test/TestWtsApiExtraStartRemoteSessionEx.c @@ -11,7 +11,7 @@ int TestWtsApiExtraStartRemoteSessionEx(int argc, char* argv[]) WINPR_UNUSED(argv); ULONG logonId = 0; - char logonIdStr[10] = { 0 }; + char logonIdStr[10] = WINPR_C_ARRAY_INIT; DWORD bSuccess = GetEnvironmentVariableA("TEST_SESSION_LOGON_ID", logonIdStr, 10); if (bSuccess > 0) diff --git a/winpr/libwinpr/wtsapi/test/TestWtsApiExtraVirtualChannel.c b/winpr/libwinpr/wtsapi/test/TestWtsApiExtraVirtualChannel.c index f1adcfa29..603da7d14 100644 --- a/winpr/libwinpr/wtsapi/test/TestWtsApiExtraVirtualChannel.c +++ b/winpr/libwinpr/wtsapi/test/TestWtsApiExtraVirtualChannel.c @@ -9,7 +9,7 @@ int TestWtsApiExtraVirtualChannel(int argc, char* argv[]) WINPR_UNUSED(argc); WINPR_UNUSED(argv); - char buffer[1024] = { 0 }; + char buffer[1024] = WINPR_C_ARRAY_INIT; const size_t length = sizeof(buffer); HANDLE hVirtualChannel = diff --git a/winpr/libwinpr/wtsapi/wtsapi.c b/winpr/libwinpr/wtsapi/wtsapi.c index ec1459745..6f358be43 100644 --- a/winpr/libwinpr/wtsapi/wtsapi.c +++ b/winpr/libwinpr/wtsapi/wtsapi.c @@ -48,7 +48,7 @@ static const WtsApiFunctionTable* g_WtsApi = NULL; #if defined(_WIN32) static HMODULE g_WtsApi32Module = NULL; -static WtsApiFunctionTable WtsApi32_WtsApiFunctionTable = { 0 }; +static WtsApiFunctionTable WtsApi32_WtsApiFunctionTable = WINPR_C_ARRAY_INIT; #ifdef __MINGW32__ #define WTSAPI32_LOAD_PROC(NAME, TYPE) \ diff --git a/winpr/libwinpr/wtsapi/wtsapi_win32.c b/winpr/libwinpr/wtsapi/wtsapi_win32.c index 207288612..127bcefc8 100644 --- a/winpr/libwinpr/wtsapi/wtsapi_win32.c +++ b/winpr/libwinpr/wtsapi/wtsapi_win32.c @@ -340,7 +340,7 @@ static BOOL WINAPI Win32_WTSVirtualChannelRead_Static(WTSAPI_CHANNEL* pChannel, else if (pChannel->readSync) { BOOL bSuccess; - OVERLAPPED overlapped = { 0 }; + OVERLAPPED overlapped = WINPR_C_ARRAY_INIT; DWORD numBytesRead = 0; DWORD numBytesToRead = 0; @@ -459,7 +459,7 @@ static BOOL WINAPI Win32_WTSVirtualChannelRead_Dynamic(WTSAPI_CHANNEL* pChannel, if (pChannel->readSync) { BOOL bSuccess; - OVERLAPPED overlapped = { 0 }; + OVERLAPPED overlapped = WINPR_C_ARRAY_INIT; DWORD numBytesRead = 0; DWORD numBytesToRead = 0; @@ -584,7 +584,7 @@ static BOOL WINAPI Win32_WTSVirtualChannelRead(HANDLE hChannel, DWORD dwMillisec if (!pChannel->waitObjectMode) { - OVERLAPPED overlapped = { 0 }; + OVERLAPPED overlapped = WINPR_C_ARRAY_INIT; if (ReadFile(pChannel->hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesTransferred, &overlapped)) @@ -632,7 +632,7 @@ static BOOL WINAPI Win32_WTSVirtualChannelWrite(HANDLE hChannel, PCHAR lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesTransferred) { - OVERLAPPED overlapped = { 0 }; + OVERLAPPED overlapped = WINPR_C_ARRAY_INIT; WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannel; if (!pChannel || (pChannel->magic != WTSAPI_CHANNEL_MAGIC)) @@ -657,7 +657,7 @@ static BOOL WINAPI Win32_WTSVirtualChannelWrite(HANDLE hChannel, PCHAR lpBuffer, static BOOL Win32_WTSVirtualChannelPurge_Internal(HANDLE hChannelHandle, ULONG IoControlCode) { - IO_STATUS_BLOCK ioStatusBlock = { 0 }; + IO_STATUS_BLOCK ioStatusBlock = WINPR_C_ARRAY_INIT; WTSAPI_CHANNEL* pChannel = (WTSAPI_CHANNEL*)hChannelHandle; if (!pChannel || (pChannel->magic != WTSAPI_CHANNEL_MAGIC))