Compare commits

...

7 Commits

Author SHA1 Message Date
Wii
1df457f38a
Merge e1651c9d8b3c78728fc5ad82c15eb3ef4a9f34fa into 8a5368b6593eef87b442105becc94a5acab305e1 2023-11-09 17:49:20 +01:00
Caleb Maclennan
8a5368b659
Merge pull request #418 from alerque/url-empty-path 2023-11-09 14:11:33 +03:00
Paul Kulchenko
22b8202d70
fix(wsocket): Properly report CONNRESET (#81) 2023-11-09 14:00:09 +03:00
Caleb Maclennan
3a817a56eb
fix(url): Avoid fragment being part of authority, allows parsing empty paths 2023-11-08 23:27:58 +03:00
Caleb Maclennan
7eaf648056
fix(url): Avoid query string being part of authority, allows parsing empty paths 2023-11-08 14:50:43 +03:00
Caleb Maclennan
e1651c9d8b
Merge branch 'master' into patch-1 2023-11-08 13:39:48 +03:00
DarkWiiPlayer
610bea9c0f
Remove obsolete typedef from compatibility file
MinGWs `ws2tcpip.h` already defines `socklen_t`, making this redundant.
What's more, in a recent version of MinGW this has changed to `unsigned int`, breaking compatibility.
2020-03-30 10:59:30 +02:00
3 changed files with 3 additions and 2 deletions

View File

@ -152,7 +152,7 @@ function _M.parse(url, default)
url = string.gsub(url, "^([%w][%w%+%-%.]*)%:",
function(s) parsed.scheme = s; return "" end)
-- get authority
url = string.gsub(url, "^//([^/]*)", function(n)
url = string.gsub(url, "^//([^/%?#]*)", function(n)
parsed.authority = n
return ""
end)

View File

@ -262,6 +262,7 @@ int socket_recv(p_socket ps, char *data, size_t count, size_t *got,
if (err != WSAEWOULDBLOCK) {
if (err != WSAECONNRESET || prev == WSAECONNRESET) return err;
prev = err;
continue;
}
if ((err = socket_waitfd(ps, WAITFD_R, tm)) != IO_DONE) return err;
}
@ -291,6 +292,7 @@ int socket_recvfrom(p_socket ps, char *data, size_t count, size_t *got,
if (err != WSAEWOULDBLOCK) {
if (err != WSAECONNRESET || prev == WSAECONNRESET) return err;
prev = err;
continue;
}
if ((err = socket_waitfd(ps, WAITFD_R, tm)) != IO_DONE) return err;
}

View File

@ -11,7 +11,6 @@
#include <winsock2.h>
#include <ws2tcpip.h>
typedef int socklen_t;
typedef SOCKADDR_STORAGE t_sockaddr_storage;
typedef SOCKET t_socket;
typedef t_socket *p_socket;