X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fhelper%2Freplacements.c;h=0ba98a488e6ea43bb4fcabed1cdc8101ec8a9112;hp=cc0c242aeac5c1d64e3bcc6edea4f3c894dc717e;hb=95025349faabec99d6c6758351a5543caaa54c18;hpb=1de959ca1c9e67ef57f77ec2d7a1132b73153abb diff --git a/src/helper/replacements.c b/src/helper/replacements.c index cc0c242aea..0ba98a488e 100644 --- a/src/helper/replacements.c +++ b/src/helper/replacements.c @@ -2,7 +2,7 @@ * Copyright (C) 2006 by Dominic Rath * * Dominic.Rath@gmx.de * * * - * Copyright (C) 2007,2008 Øyvind Harboe * + * Copyright (C) 2007,2008 Øyvind Harboe * * oyvind.harboe@zylin.com * * * * Copyright (C) 2008 by Spencer Oliver * @@ -23,18 +23,11 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - /* DANGER!!!! These must be defined *BEFORE* replacements.h and the malloc() macro!!!! */ #include #include -#ifdef HAVE_STRINGS_H -#include -#endif -/* +/* * clear_malloc * * will alloc memory and clear it @@ -42,32 +35,32 @@ void *clear_malloc(size_t size) { void *t = malloc(size); - if (t!=NULL) - { + if (t != NULL) memset(t, 0x00, size); - } return t; } void *fill_malloc(size_t size) { void *t = malloc(size); - if (t!=NULL) - { - /* We want to initialize memory to some known bad state. */ - /* 0 and 0xff yields 0 and -1 as integers, which often */ - /* have meaningful values. 0x5555... is not often a valid */ - /* integer and is quite easily spotted in the debugger */ - /* also it is almost certainly an invalid address */ + if (t != NULL) { + /* We want to initialize memory to some known bad state. + * 0 and 0xff yields 0 and -1 as integers, which often + * have meaningful values. 0x5555... is not often a valid + * integer and is quite easily spotted in the debugger + * also it is almost certainly an invalid address */ memset(t, 0x55, size); } return t; } #define IN_REPLACEMENTS_C -#include "replacements.h" - -#include +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef HAVE_STRINGS_H +#include +#endif #ifdef _WIN32 #include @@ -92,8 +85,7 @@ int gettimeofday(struct timeval *tv, struct timezone *tz) __int64 t; static int tzflag; - if (tv) - { + if (tv) { GetSystemTimeAsFileTime(&ft); li.LowPart = ft.dwLowDateTime; li.HighPart = ft.dwHighDateTime; @@ -104,10 +96,8 @@ int gettimeofday(struct timeval *tv, struct timezone *tz) tv->tv_usec = (long)(t % 1000000); } - if (tz) - { - if (!tzflag) - { + if (tz) { + if (!tzflag) { _tzset(); tzflag++; } @@ -117,29 +107,29 @@ int gettimeofday(struct timeval *tv, struct timezone *tz) return 0; } -#endif /* _WIN32 */ +#endif /* _WIN32 */ -#endif /* HAVE_GETTIMEOFDAY */ +#endif /* HAVE_GETTIMEOFDAY */ #ifndef HAVE_STRNLEN size_t strnlen(const char *s, size_t maxlen) { - const char *end= (const char *)memchr(s, '\0', maxlen); + const char *end = (const char *)memchr(s, '\0', maxlen); return end ? (size_t) (end - s) : maxlen; } #endif #ifndef HAVE_STRNDUP -char* strndup(const char *s, size_t n) +char *strndup(const char *s, size_t n) { - size_t len = strnlen (s, n); - char *new = (char *) malloc (len + 1); + size_t len = strnlen(s, n); + char *new = (char *) malloc(len + 1); if (new == NULL) return NULL; new[len] = '\0'; - return (char *) memcpy (new, s, len); + return (char *) memcpy(new, s, len); } #endif @@ -156,12 +146,12 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time struct timeval tvslice; int retcode; -#define SAFE_FD_ISSET(fd, set) (set != NULL && FD_ISSET(fd, set)) +#define SAFE_FD_ISSET(fd, set) (set != NULL && FD_ISSET(fd, set)) /* calculate how long we need to wait in milliseconds */ - if (tv == NULL) { + if (tv == NULL) ms_total = INFINITE; - } else { + else { ms_total = tv->tv_sec * 1000; ms_total += tv->tv_usec / 1000; } @@ -173,22 +163,18 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time /* build an array of handles for non-sockets */ for (i = 0; i < max_fd; i++) { if (SAFE_FD_ISSET(i, rfds) || SAFE_FD_ISSET(i, wfds) || SAFE_FD_ISSET(i, efds)) { - long handle = _get_osfhandle(i); + intptr_t handle = (intptr_t) _get_osfhandle(i); handles[n_handles] = (HANDLE)handle; if (handles[n_handles] == INVALID_HANDLE_VALUE) { /* socket */ - if (SAFE_FD_ISSET(i, rfds)) { + if (SAFE_FD_ISSET(i, rfds)) FD_SET(i, &sock_read); - } - if (SAFE_FD_ISSET(i, wfds)) { + if (SAFE_FD_ISSET(i, wfds)) FD_SET(i, &sock_write); - } - if (SAFE_FD_ISSET(i, efds)) { + if (SAFE_FD_ISSET(i, efds)) FD_SET(i, &sock_except); - } - if (i > sock_max_fd) { + if (i > sock_max_fd) sock_max_fd = i; - } } else { handle_slot_to_fd[n_handles] = i; n_handles++; @@ -207,11 +193,11 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time FD_ZERO(&aread); FD_ZERO(&awrite); FD_ZERO(&aexcept); - + limit = GetTickCount() + ms_total; do { retcode = 0; - + if (sock_max_fd >= 0) { /* overwrite the zero'd sets here; the select call * will clear those that are not active */ @@ -220,15 +206,20 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time aexcept = sock_except; tvslice.tv_sec = 0; - tvslice.tv_usec = 100000; + tvslice.tv_usec = 1000; - retcode = select(sock_max_fd+1, &aread, &awrite, &aexcept, &tvslice); + retcode = select(sock_max_fd + 1, &aread, &awrite, &aexcept, &tvslice); } + if (n_handles > 0) { /* check handles */ DWORD wret; - wret = MsgWaitForMultipleObjects(n_handles, handles, FALSE, retcode > 0 ? 0 : 100, QS_ALLEVENTS); + wret = MsgWaitForMultipleObjects(n_handles, + handles, + FALSE, + retcode > 0 ? 0 : 1, + QS_ALLEVENTS); if (wret == WAIT_TIMEOUT) { /* set retcode to 0; this is the default. @@ -237,30 +228,26 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time * does nothing */ ; } else if (wret == WAIT_FAILED) { - if (retcode == 0) { + if (retcode == 0) retcode = -1; - } } else { - if (retcode < 0) { + if (retcode < 0) retcode = 0; - } for (i = 0; i < n_handles; i++) { if (WAIT_OBJECT_0 == WaitForSingleObject(handles[i], 0)) { if (SAFE_FD_ISSET(handle_slot_to_fd[i], rfds)) { DWORD dwBytes; - long handle = _get_osfhandle(handle_slot_to_fd[i]); - - if (PeekNamedPipe((HANDLE)handle, NULL, 0, NULL, &dwBytes, NULL)) - { + intptr_t handle = (intptr_t) _get_osfhandle( + handle_slot_to_fd[i]); + + if (PeekNamedPipe((HANDLE)handle, NULL, 0, + NULL, &dwBytes, NULL)) { /* check to see if gdb pipe has data available */ - if (dwBytes) - { + if (dwBytes) { FD_SET(handle_slot_to_fd[i], &aread); retcode++; } - } - else - { + } else { FD_SET(handle_slot_to_fd[i], &aread); retcode++; } @@ -279,15 +266,12 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time } } while (retcode == 0 && (ms_total == INFINITE || GetTickCount() < limit)); - if (rfds) { + if (rfds) *rfds = aread; - } - if (wfds) { + if (wfds) *wfds = awrite; - } - if (efds) { + if (efds) *efds = aexcept; - } return retcode; }