Skip to content
Snippets Groups Projects
Commit 9eeb09f1 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Fix PETSCII 40/80 column port connections for IPv6

The connected TCP port detection method only worked for IPv4, so automatically
detecting a CBM/PETSCII connection over IPv6 didn't work. Thanks to Deuce's
xp_sockaddr and helper functions, this was an easy change.
parent 2b087aaa
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #3925 passed
......@@ -5381,14 +5381,14 @@ NO_SSH:
sbbs->autoterm=0;
sbbs->cols = startup->default_term_width;
SOCKADDR_IN local_addr;
union xp_sockaddr local_addr;
memset(&local_addr, 0, sizeof(local_addr));
socklen_t addr_len=sizeof(local_addr);
if(getsockname(client_socket, (struct sockaddr *)&local_addr, &addr_len) == 0
&& (ntohs(local_addr.sin_port) == startup->pet40_port
|| ntohs(local_addr.sin_port) == startup->pet80_port)) {
&& (inet_addrport(&local_addr) == startup->pet40_port
|| inet_addrport(&local_addr) == startup->pet80_port)) {
sbbs->autoterm = PETSCII;
sbbs->cols = ntohs(local_addr.sin_port) == startup->pet40_port ? 40 : 80;
sbbs->cols = inet_addrport(&local_addr) == startup->pet40_port ? 40 : 80;
sbbs->outcom(PETSCII_UPPERLOWER);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment