Fixed Windows build warnings.
Этот коммит содержится в:
родитель
fc508f9494
Коммит
da9b2e25f6
@ -35,6 +35,7 @@
|
||||
#ifdef _WIN32
|
||||
#define _WIN32_IE 0x0501 //SHGetSpecialFolderPath
|
||||
#include <winsock2.h> // Must be the first to include
|
||||
#include <ws2tcpip.h>
|
||||
#include <shlobj.h>
|
||||
#include <direct.h>
|
||||
#else
|
||||
@ -531,7 +532,8 @@ int ssh_mkdir(const char *pathname, mode_t mode) {
|
||||
* @return The expanded directory, NULL on error.
|
||||
*/
|
||||
char *ssh_path_expand_tilde(const char *d) {
|
||||
char *h, *r, *p;
|
||||
char *h, *r;
|
||||
const char *p;
|
||||
size_t ld;
|
||||
size_t lh = 0;
|
||||
|
||||
@ -543,6 +545,9 @@ char *ssh_path_expand_tilde(const char *d) {
|
||||
/* handle ~user/path */
|
||||
p = strchr(d, '/');
|
||||
if (p != NULL && p > d) {
|
||||
#ifdef _WIN32
|
||||
return strdup(d);
|
||||
#else
|
||||
struct passwd *pw;
|
||||
size_t s = p - d;
|
||||
char u[128];
|
||||
@ -558,6 +563,7 @@ char *ssh_path_expand_tilde(const char *d) {
|
||||
}
|
||||
ld = strlen(p);
|
||||
h = strdup(pw->pw_dir);
|
||||
#endif
|
||||
} else {
|
||||
ld = strlen(d);
|
||||
p = (char *) d;
|
||||
|
@ -69,7 +69,6 @@ int ssh_poll(ssh_pollfd_t *fds, nfds_t nfds, int timeout) {
|
||||
|
||||
#else /* HAVE_POLL */
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
@ -77,11 +76,13 @@ int ssh_poll(ssh_pollfd_t *fds, nfds_t nfds, int timeout) {
|
||||
#define STRICT
|
||||
#endif
|
||||
|
||||
#include <time.h>
|
||||
#include <winsock2.h>
|
||||
#else
|
||||
#include <sys/select.h>
|
||||
#include <sys/socket.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
static int bsd_poll(ssh_pollfd_t *fds, nfds_t nfds, int timeout) {
|
||||
@ -154,9 +155,15 @@ static int bsd_poll(ssh_pollfd_t *fds, nfds_t nfds, int timeout) {
|
||||
char data[64] = {0};
|
||||
|
||||
/* support for POLLHUP */
|
||||
#ifdef _WIN32
|
||||
if ((recv(fds[i].fd, data, 64, MSG_PEEK) == -1) &&
|
||||
(errno == WSAESHUTDOWN || errno == WSAECONNRESET ||
|
||||
errno == WSAECONNABORTED || errno == WSAENETRESET)) {
|
||||
#else
|
||||
if ((recv(fds[i].fd, data, 64, MSG_PEEK) == -1) &&
|
||||
(errno == ESHUTDOWN || errno == ECONNRESET ||
|
||||
errno == ECONNABORTED || errno == ENETRESET)) {
|
||||
#endif
|
||||
fds[i].revents |= POLLHUP;
|
||||
} else {
|
||||
fds[i].revents |= fds[i].events & (POLLIN | POLLRDNORM);
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include <stdio.h>
|
||||
#ifdef _WIN32
|
||||
#include <winsock2.h>
|
||||
#include <ws2tcpip.h>
|
||||
#else
|
||||
#include <fcntl.h>
|
||||
#include <sys/types.h>
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user