From 8cb0dae8239a9655eded93b209f18db3fbdbe9d1 Mon Sep 17 00:00:00 2001 From: Spencer Oliver Date: Thu, 17 May 2012 11:54:04 +0100 Subject: [PATCH] remote_bitbang: fix native windows build Change-Id: Ied29ade0346c4595ffc1dafa788e2d5a595e0de3 Signed-off-by: Spencer Oliver Reviewed-on: http://openocd.zylin.com/648 Tested-by: jenkins Reviewed-by: Xiaofan --- src/helper/replacements.h | 9 +++++++++ src/jtag/drivers/remote_bitbang.c | 12 +++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/helper/replacements.h b/src/helper/replacements.h index ceb22584..bdd3ae7c 100644 --- a/src/helper/replacements.h +++ b/src/helper/replacements.h @@ -139,6 +139,15 @@ static inline unsigned usleep(unsigned int usecs) #include #include +#include + +/* 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 diff --git a/src/jtag/drivers/remote_bitbang.c b/src/jtag/drivers/remote_bitbang.c index 941a07f1..73d9cfcc 100644 --- a/src/jtag/drivers/remote_bitbang.c +++ b/src/jtag/drivers/remote_bitbang.c @@ -22,14 +22,16 @@ #include "config.h" #endif -#include +#ifndef _WIN32 #include #include +#endif #include #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)); -- 2.39.5