mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
Merge pull request #11166 from akallabeth/warn-fix-cast
[warnings] fix sign conversion
This commit is contained in:
@@ -389,7 +389,9 @@ static uint8_t get_guid_unit_id_from_device(libusb_device* device, const uint8_t
|
||||
"For camera %04" PRIx16 ":%04" PRIx16
|
||||
" found UVCX H264 UnitID %" PRId8,
|
||||
ddesc.idVendor, ddesc.idProduct, unit_id);
|
||||
return unit_id;
|
||||
if (unit_id < 0)
|
||||
return 0;
|
||||
return WINPR_CXX_COMPAT_CAST(uint8_t, unit_id);
|
||||
}
|
||||
ptr += desc->bLength;
|
||||
}
|
||||
|
||||
@@ -791,10 +791,14 @@ static UINT udevman_listener_created_callback(IUDEVMAN* iudevman)
|
||||
WINPR_ASSERT(udevman);
|
||||
|
||||
if (udevman->devices_vid_pid)
|
||||
return urbdrc_udevman_register_devices(udevman, udevman->devices_vid_pid, FALSE);
|
||||
return urbdrc_udevman_register_devices(udevman, udevman->devices_vid_pid, FALSE)
|
||||
? CHANNEL_RC_OK
|
||||
: CHANNEL_RC_INITIALIZATION_ERROR;
|
||||
|
||||
if (udevman->devices_addr)
|
||||
return urbdrc_udevman_register_devices(udevman, udevman->devices_addr, TRUE);
|
||||
return urbdrc_udevman_register_devices(udevman, udevman->devices_addr, TRUE)
|
||||
? CHANNEL_RC_OK
|
||||
: CHANNEL_RC_INITIALIZATION_ERROR;
|
||||
|
||||
return CHANNEL_RC_OK;
|
||||
}
|
||||
|
||||
@@ -574,7 +574,7 @@ BOOL xf_detect_monitors(xfContext* xfc, UINT32* pMaxWidth, UINT32* pMaxHeight)
|
||||
|
||||
if (freerdp_settings_get_bool(settings, FreeRDP_Workarea))
|
||||
{
|
||||
INT64 bottom = xfc->workArea.height + xfc->workArea.y - 1;
|
||||
INT64 bottom = 1LL * xfc->workArea.height + xfc->workArea.y - 1LL;
|
||||
vscreen->area.top = WINPR_ASSERTING_INT_CAST(UINT16, xfc->workArea.y);
|
||||
vscreen->area.bottom = WINPR_ASSERTING_INT_CAST(UINT16, bottom);
|
||||
}
|
||||
|
||||
@@ -1812,12 +1812,6 @@ UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, FreeRDP_Settings
|
||||
case FreeRDP_MonitorFlags:
|
||||
return settings->MonitorFlags;
|
||||
|
||||
case FreeRDP_MonitorLocalShiftX:
|
||||
return settings->MonitorLocalShiftX;
|
||||
|
||||
case FreeRDP_MonitorLocalShiftY:
|
||||
return settings->MonitorLocalShiftY;
|
||||
|
||||
case FreeRDP_MultifragMaxRequestSize:
|
||||
return settings->MultifragMaxRequestSize;
|
||||
|
||||
@@ -2001,6 +1995,12 @@ UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, FreeRDP_Settings
|
||||
case FreeRDP_VCFlags:
|
||||
return settings->VCFlags;
|
||||
|
||||
case (FreeRDP_Settings_Keys_UInt32)FreeRDP_MonitorLocalShiftX:
|
||||
return (UINT32)settings->MonitorLocalShiftX;
|
||||
|
||||
case (FreeRDP_Settings_Keys_UInt32)FreeRDP_MonitorLocalShiftY:
|
||||
return (UINT32)settings->MonitorLocalShiftY;
|
||||
|
||||
default:
|
||||
WLog_ERR(TAG, "Invalid key index %" PRIuz " [%s|%s]", id,
|
||||
freerdp_settings_get_name_for_key(id),
|
||||
@@ -2277,14 +2277,6 @@ BOOL freerdp_settings_set_uint32(rdpSettings* settings, FreeRDP_Settings_Keys_UI
|
||||
settings->MonitorFlags = cnv.c;
|
||||
break;
|
||||
|
||||
case FreeRDP_MonitorLocalShiftX:
|
||||
settings->MonitorLocalShiftX = cnv.c;
|
||||
break;
|
||||
|
||||
case FreeRDP_MonitorLocalShiftY:
|
||||
settings->MonitorLocalShiftY = cnv.c;
|
||||
break;
|
||||
|
||||
case FreeRDP_MultifragMaxRequestSize:
|
||||
settings->MultifragMaxRequestSize = cnv.c;
|
||||
break;
|
||||
|
||||
@@ -362,8 +362,6 @@ static const struct settings_str_entry settings_map[] = {
|
||||
{ FreeRDP_MonitorCount, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorCount" },
|
||||
{ FreeRDP_MonitorDefArraySize, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorDefArraySize" },
|
||||
{ FreeRDP_MonitorFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorFlags" },
|
||||
{ FreeRDP_MonitorLocalShiftX, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorLocalShiftX" },
|
||||
{ FreeRDP_MonitorLocalShiftY, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorLocalShiftY" },
|
||||
{ FreeRDP_MultifragMaxRequestSize, FREERDP_SETTINGS_TYPE_UINT32,
|
||||
"FreeRDP_MultifragMaxRequestSize" },
|
||||
{ FreeRDP_MultitransportFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MultitransportFlags" },
|
||||
|
||||
@@ -866,7 +866,7 @@ static INLINE BOOL update_read_delta(wStream* s, INT32* value)
|
||||
Stream_Read_UINT8(s, byte);
|
||||
|
||||
if (byte & 0x40)
|
||||
uvalue = (byte | ~0x3F) & UINT32_MAX;
|
||||
uvalue = WINPR_CXX_COMPAT_CAST(UINT32, (byte | ~0x3F));
|
||||
else
|
||||
uvalue = (byte & 0x3F);
|
||||
|
||||
|
||||
@@ -63,6 +63,8 @@ typedef struct
|
||||
UINT32 offset;
|
||||
} wtsChannelMessage;
|
||||
|
||||
static const DWORD g_err_oom = WINPR_CXX_COMPAT_CAST(DWORD, E_OUTOFMEMORY);
|
||||
|
||||
static DWORD g_SessionId = 1;
|
||||
static wHashTable* g_ServerHandles = NULL;
|
||||
|
||||
@@ -1153,7 +1155,7 @@ BOOL WINAPI FreeRDP_WTSQuerySessionInformationA(HANDLE hServer, DWORD SessionId,
|
||||
|
||||
if (!pBuffer)
|
||||
{
|
||||
SetLastError(E_OUTOFMEMORY);
|
||||
SetLastError(g_err_oom);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -1569,7 +1571,7 @@ BOOL WINAPI FreeRDP_WTSVirtualChannelWrite(HANDLE hChannelHandle, PCHAR Buffer,
|
||||
|
||||
if (!buffer)
|
||||
{
|
||||
SetLastError(E_OUTOFMEMORY);
|
||||
SetLastError(g_err_oom);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
@@ -1598,7 +1600,7 @@ BOOL WINAPI FreeRDP_WTSVirtualChannelWrite(HANDLE hChannelHandle, PCHAR Buffer,
|
||||
if (!s)
|
||||
{
|
||||
WLog_ERR(TAG, "Stream_New failed!");
|
||||
SetLastError(E_OUTOFMEMORY);
|
||||
SetLastError(g_err_oom);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
@@ -1683,7 +1685,7 @@ BOOL WINAPI FreeRDP_WTSVirtualChannelQuery(HANDLE hChannelHandle, WTS_VIRTUAL_CL
|
||||
|
||||
if (!*ppBuffer)
|
||||
{
|
||||
SetLastError(E_OUTOFMEMORY);
|
||||
SetLastError(g_err_oom);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1701,7 +1703,7 @@ BOOL WINAPI FreeRDP_WTSVirtualChannelQuery(HANDLE hChannelHandle, WTS_VIRTUAL_CL
|
||||
|
||||
if (!*ppBuffer)
|
||||
{
|
||||
SetLastError(E_OUTOFMEMORY);
|
||||
SetLastError(g_err_oom);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1743,7 +1745,7 @@ BOOL WINAPI FreeRDP_WTSVirtualChannelQuery(HANDLE hChannelHandle, WTS_VIRTUAL_CL
|
||||
|
||||
if (!*ppBuffer)
|
||||
{
|
||||
SetLastError(E_OUTOFMEMORY);
|
||||
SetLastError(g_err_oom);
|
||||
status = FALSE;
|
||||
}
|
||||
else
|
||||
@@ -1761,7 +1763,7 @@ BOOL WINAPI FreeRDP_WTSVirtualChannelQuery(HANDLE hChannelHandle, WTS_VIRTUAL_CL
|
||||
*ppBuffer = malloc(sizeof(value));
|
||||
if (!*ppBuffer)
|
||||
{
|
||||
SetLastError(E_OUTOFMEMORY);
|
||||
SetLastError(g_err_oom);
|
||||
status = FALSE;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -281,8 +281,6 @@ static const size_t uint32_list_indices[] = {
|
||||
FreeRDP_MonitorCount,
|
||||
FreeRDP_MonitorDefArraySize,
|
||||
FreeRDP_MonitorFlags,
|
||||
FreeRDP_MonitorLocalShiftX,
|
||||
FreeRDP_MonitorLocalShiftY,
|
||||
FreeRDP_MultifragMaxRequestSize,
|
||||
FreeRDP_MultitransportFlags,
|
||||
FreeRDP_NSCodecColorLossLevel,
|
||||
|
||||
@@ -79,11 +79,14 @@ def write_str(f, entry_dict):
|
||||
f.write('};\n\n')
|
||||
f.write('\n')
|
||||
|
||||
def write_getter_case(f, val, cast):
|
||||
f.write('\t\tcase FreeRDP_' + val + ':\n')
|
||||
def write_getter_case(f, val, cast, typestr):
|
||||
f.write('\t\tcase ')
|
||||
if typestr:
|
||||
f.write('(' + typestr + ')')
|
||||
f.write('FreeRDP_' + val + ':\n')
|
||||
f.write('\t\t\treturn ' + cast + 'settings->' + val + ';\n\n')
|
||||
|
||||
def write_getter_body(f, values, ret, keys, isPointer):
|
||||
def write_getter_body(f, values, ret, keys, isPointer, compat_values, typestr, entry_type):
|
||||
f.write('{\n')
|
||||
f.write('\tWINPR_ASSERT(settings);\n\n')
|
||||
f.write('\tswitch (id)\n')
|
||||
@@ -96,7 +99,12 @@ def write_getter_body(f, values, ret, keys, isPointer):
|
||||
key = keys[i]
|
||||
if key != 'void*':
|
||||
cast = '(void*)'
|
||||
write_getter_case(f, val, cast)
|
||||
write_getter_case(f, val, cast, None)
|
||||
if compat_values:
|
||||
for i in range(len(compat_values)):
|
||||
val = compat_values[i]
|
||||
cast = '(' + entry_type + ')'
|
||||
write_getter_case(f, val, cast, typestr)
|
||||
f.write('\t\tdefault:\n')
|
||||
f.write('\t\t\tWLog_ERR(TAG, "Invalid key index %" PRIuz " [%s|%s]", id, freerdp_settings_get_name_for_key(id), freerdp_settings_get_type_name_for_key(id));\n')
|
||||
f.write('\t\t\tWINPR_ASSERT(FALSE);\n')
|
||||
@@ -104,11 +112,12 @@ def write_getter_body(f, values, ret, keys, isPointer):
|
||||
f.write('\t}\n')
|
||||
f.write('}\n\n')
|
||||
|
||||
def write_getter(f, entry_dict, entry_type, entry_name, postfix):
|
||||
def write_getter(f, entry_dict, entry_type, entry_name, postfix, compat_dict):
|
||||
isString = 'string' in entry_name
|
||||
isPointer = 'pointer' in entry_name
|
||||
copy = dict(entry_dict)
|
||||
values = get_values(entry_dict, entry_type)
|
||||
compat_values = get_values(compat_dict, entry_type)
|
||||
keys = get_keys(copy, entry_type, values)
|
||||
|
||||
typestr = 'FreeRDP_Settings_Keys_' + entry_name.capitalize()
|
||||
@@ -132,11 +141,11 @@ def write_getter(f, entry_dict, entry_type, entry_name, postfix):
|
||||
else:
|
||||
ret = '0';
|
||||
|
||||
write_getter_body(f, values, ret, keys, isPointer)
|
||||
write_getter_body(f, values, ret, keys, isPointer, compat_values, typestr, entry_type)
|
||||
|
||||
if isString:
|
||||
f.write('char* freerdp_settings_get_' + entry_name.lower() + '_writable(rdpSettings* settings, ' + typestr + ' id)\n')
|
||||
write_getter_body(f, values, ret, keys, isPointer)
|
||||
write_getter_body(f, values, ret, keys, isPointer, compat_values, typestr, entry_type)
|
||||
|
||||
def write_setter_case(f, val, postfix, isPointer, cast):
|
||||
f.write('\t\tcase FreeRDP_' + val + ':\n')
|
||||
@@ -325,26 +334,29 @@ try:
|
||||
setter_list = dict(type_list)
|
||||
setter_list2 = dict(type_list)
|
||||
# Compatibility with older 3.x releases where the value was wrongly an unsigned type
|
||||
getter_list['UINT32'].append('MonitorLocalShiftX')
|
||||
getter_list['UINT32'].append('MonitorLocalShiftY')
|
||||
write_getter(f, getter_list, 'BOOL', 'bool', '')
|
||||
compat_getter_list = dict()
|
||||
compat_getter_list['UINT32'] = list()
|
||||
compat_getter_list['UINT32'].append('MonitorLocalShiftX')
|
||||
compat_getter_list['UINT32'].append('MonitorLocalShiftY')
|
||||
|
||||
write_getter(f, getter_list, 'BOOL', 'bool', '', compat_getter_list)
|
||||
write_setter(f, setter_list, 'BOOL', 'bool', '')
|
||||
write_getter(f, getter_list, 'UINT16', 'uint16', '')
|
||||
write_getter(f, getter_list, 'UINT16', 'uint16', '', compat_getter_list)
|
||||
write_setter(f, setter_list, 'UINT16', 'uint16', '')
|
||||
write_getter(f, getter_list, 'INT16', 'int16', '')
|
||||
write_getter(f, getter_list, 'INT16', 'int16', '', compat_getter_list)
|
||||
write_setter(f, setter_list, 'INT16', 'int16', '')
|
||||
write_getter(f, getter_list, 'UINT32', 'uint32', '')
|
||||
write_getter(f, getter_list, 'UINT32', 'uint32', '', compat_getter_list)
|
||||
write_setter(f, setter_list, 'UINT32', 'uint32', '')
|
||||
write_getter(f, getter_list, 'INT32', 'int32', '')
|
||||
write_getter(f, getter_list, 'INT32', 'int32', '', compat_getter_list)
|
||||
write_setter(f, setter_list, 'INT32', 'int32', '')
|
||||
write_getter(f, getter_list, 'UINT64', 'uint64', '')
|
||||
write_getter(f, getter_list, 'UINT64', 'uint64', '', compat_getter_list)
|
||||
write_setter(f, setter_list, 'UINT64', 'uint64', '')
|
||||
write_getter(f, getter_list, 'INT64', 'int64', '')
|
||||
write_getter(f, getter_list, 'INT64', 'int64', '', compat_getter_list)
|
||||
write_setter(f, setter_list, 'INT64', 'int64', '')
|
||||
write_getter(f, getter_list, 'char*', 'string', '_')
|
||||
write_getter(f, getter_list, 'char*', 'string', '_', compat_getter_list)
|
||||
write_setter(f, setter_list, 'char*', 'string', '_')
|
||||
write_setter(f, setter_list2, 'char*', 'string', '_copy_')
|
||||
write_getter(f, getter_list, '*', 'pointer', '')
|
||||
write_getter(f, getter_list, '*', 'pointer', '', compat_getter_list)
|
||||
write_setter(f, setter_list, '*', 'pointer', '')
|
||||
|
||||
f.write('\n')
|
||||
|
||||
Reference in New Issue
Block a user