mirror of
https://github.com/zeek/zeek.git
synced 2025-10-05 16:18:19 +00:00
Avoid excessive fmt calls, return default behavior on unknown
Using "in" to query the language const. This also handles the case of not having a best guess and continue using the existing behavior. Given keyboard_layout = 1033 (0x0409), "keyboard-English - United States" keyboard_layout = 66569 (0x00010409), "keyboard-English - United States (Best Guess)" keyboard_layout = 12345 (0x3039), "keyboard-12345"
This commit is contained in:
parent
dd2cdb064b
commit
04113b13d5
1 changed files with 13 additions and 5 deletions
|
@ -187,13 +187,21 @@ event rdp_client_core_data(c: connection, data: RDP::ClientCoreData) &priority=5
|
|||
{
|
||||
set_session(c);
|
||||
|
||||
c$rdp$keyboard_layout = RDP::languages[data$keyboard_layout];
|
||||
|
||||
if (c$rdp$keyboard_layout == fmt("keyboard-%d", data$keyboard_layout))
|
||||
if (data$keyboard_layout in RDP::languages)
|
||||
{
|
||||
c$rdp$keyboard_layout = RDP::languages[data$keyboard_layout & 0xffff];
|
||||
c$rdp$keyboard_layout = c$rdp$keyboard_layout + " (Best Guess)";
|
||||
c$rdp$keyboard_layout = RDP::languages[data$keyboard_layout];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (data$keyboard_layout & 0xffff in RDP::languages)
|
||||
{
|
||||
c$rdp$keyboard_layout = fmt("%s (Best Guess)", RDP::languages[data$keyboard_layout & 0xffff]);
|
||||
}
|
||||
else
|
||||
{
|
||||
c$rdp$keyboard_layout = fmt("keyboard-%d", data$keyboard_layout);
|
||||
}
|
||||
}
|
||||
|
||||
c$rdp$client_build = RDP::builds[data$client_build];
|
||||
c$rdp$client_name = data$client_name;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue