jep106.inc: Update to revision JEP106BC
[fw/openocd] / src / helper / replacements.c
index 2020003f0e3a7d3de31ee513c91cd95a8d7c9f13..c34b17ec5a079b26205d86ae4a266ca26b4fd509 100644 (file)
@@ -19,9 +19,7 @@
  *   GNU General Public License for more details.                          *
  *                                                                         *
  *   You should have received a copy of the GNU General Public License     *
- *   along with this program; if not, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
 /* DANGER!!!! These must be defined *BEFORE* replacements.h and the malloc() macro!!!! */
 
@@ -35,7 +33,7 @@
 void *clear_malloc(size_t size)
 {
        void *t = malloc(size);
-       if (t != NULL)
+       if (t)
                memset(t, 0x00, size);
        return t;
 }
@@ -43,7 +41,7 @@ void *clear_malloc(size_t size)
 void *fill_malloc(size_t size)
 {
        void *t = malloc(size);
-       if (t != NULL) {
+       if (t) {
                /* 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
@@ -64,6 +62,7 @@ void *fill_malloc(size_t size)
 
 #ifdef _WIN32
 #include <io.h>
+#include <winsock2.h>
 #endif
 
 /* replacements for gettimeofday */
@@ -89,12 +88,9 @@ int gettimeofday(struct timeval *tv, struct timezone *tz)
                GetSystemTimeAsFileTime(&ft);
                li.LowPart  = ft.dwLowDateTime;
                li.HighPart = ft.dwHighDateTime;
-               t  = li.QuadPart;                                       /* In 100-nanosecond
-                                                                        *intervals */
-               t -= EPOCHFILETIME;                                     /* Offset to the Epoch time
-                                                                        **/
-               t /= 10;                                                        /* In microseconds
-                                                                                **/
+               t  = li.QuadPart;                                       /* In 100-nanosecond intervals */
+               t -= EPOCHFILETIME;                                     /* Offset to the Epoch time */
+               t /= 10;                                                        /* In microseconds */
                tv->tv_sec  = (long)(t / 1000000);
                tv->tv_usec = (long)(t % 1000000);
        }
@@ -126,9 +122,9 @@ size_t strnlen(const char *s, size_t maxlen)
 char *strndup(const char *s, size_t n)
 {
        size_t len = strnlen(s, n);
-       char *new = (char *) malloc(len + 1);
+       char *new = malloc(len + 1);
 
-       if (new == NULL)
+       if (!new)
                return NULL;
 
        new[len] = '\0';
@@ -149,10 +145,10 @@ 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 && FD_ISSET(fd, set))
 
        /* calculate how long we need to wait in milliseconds */
-       if (tv == NULL)
+       if (!tv)
                ms_total = INFINITE;
        else {
                ms_total = tv->tv_sec * 1000;
@@ -209,10 +205,11 @@ 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);
                }
+
                if (n_handles > 0) {
                        /* check handles */
                        DWORD wret;
@@ -220,7 +217,7 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time
                        wret = MsgWaitForMultipleObjects(n_handles,
                                        handles,
                                        FALSE,
-                                       retcode > 0 ? 0 : 100,
+                                       retcode > 0 ? 0 : 1,
                                        QS_ALLEVENTS);
 
                        if (wret == WAIT_TIMEOUT) {
@@ -236,24 +233,21 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time
                                if (retcode < 0)
                                        retcode = 0;
                                for (i = 0; i < n_handles; i++) {
-                                       if (WAIT_OBJECT_0 == WaitForSingleObject(handles[i], 0)) {
+                                       if (WaitForSingleObject(handles[i], 0) == WAIT_OBJECT_0) {
                                                if (SAFE_FD_ISSET(handle_slot_to_fd[i], rfds)) {
-                                                       DWORD dwBytes;
+                                                       DWORD bytes;
                                                        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) {
-                                                                       FD_SET(handle_slot_to_fd[i],
-                                                                               &aread);
+                                                                   NULL, &bytes, NULL)) {
+                                                               /* check to see if gdb pipe has data available */
+                                                               if (bytes) {
+                                                                       FD_SET(handle_slot_to_fd[i], &aread);
                                                                        retcode++;
                                                                }
                                                        } else {
-                                                               FD_SET(handle_slot_to_fd[i],
-                                                                       &aread);
+                                                               FD_SET(handle_slot_to_fd[i], &aread);
                                                                retcode++;
                                                        }
                                                }