remote_bitbang: fix native windows build

Change-Id: Ied29ade0346c4595ffc1dafa788e2d5a595e0de3
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/648
Tested-by: jenkins
Reviewed-by: Xiaofan <xiaofanc@gmail.com>
__archive__
Spencer Oliver 2012-05-17 11:54:04 +01:00
parent 47a276cfae
commit 8cb0dae823
2 changed files with 16 additions and 5 deletions

View File

@ -139,6 +139,15 @@ static inline unsigned usleep(unsigned int usecs)
#include <windows.h>
#include <time.h>
#include <helper/types.h>
/* Windows does not declare sockaddr_un */
#define UNIX_PATH_LEN 108
struct sockaddr_un {
uint16_t sun_family;
char sun_path[UNIX_PATH_LEN];
};
/* win32 systems do not support ETIMEDOUT */
#ifndef ETIMEDOUT

View File

@ -22,14 +22,16 @@
#include "config.h"
#endif
#include <sys/socket.h>
#ifndef _WIN32
#include <sys/un.h>
#include <netdb.h>
#endif
#include <jtag/interface.h>
#include "bitbang.h"
/* from unix man page and sys/un.h: */
#define UNIX_PATH_MAX 108
#ifndef UNIX_PATH_LEN
#define UNIX_PATH_LEN 108
#endif
/* arbitrary limit on host name length: */
#define REMOTE_BITBANG_HOST_MAX 255
@ -199,8 +201,8 @@ static int remote_bitbang_init_unix(void)
struct sockaddr_un addr;
addr.sun_family = AF_UNIX;
strncpy(addr.sun_path, remote_bitbang_host, UNIX_PATH_MAX);
addr.sun_path[UNIX_PATH_MAX-1] = '\0';
strncpy(addr.sun_path, remote_bitbang_host, UNIX_PATH_LEN);
addr.sun_path[UNIX_PATH_LEN-1] = '\0';
if (connect(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_un)) < 0) {
LOG_ERROR("connect: %s", strerror(errno));