Don Porges fixed c99 issues.
[openocd.git] / src / helper / replacements.h
index 90f0b91dd61b65e17f5f214e8cd944bc1f0105eb..71e4c66ca1c11ec2ede038c91b8629c5f73fb71a 100644 (file)
 
 #include "types.h"
 
+#if BUILD_ECOSBOARD
+#include <pkgconf/system.h>
+#include <stdlib.h>
+#include <sys/select.h>
+#endif
+
 /* include necessary headers for socket functionality */
 #ifdef _WIN32
 #include <winsock2.h>
@@ -67,40 +73,40 @@ struct timezone {
 };
 
 extern int gettimeofday(struct timeval *tv, struct timezone *tz);
-#endif\r
-\r
+#endif
+
 /**** clear_malloc & fill_malloc ****/
 void *clear_malloc(size_t size);
 void *fill_malloc(size_t size);
-\r
-/*\r
- * Now you have 3 ways for the malloc function:\r
- *\r
- * 1. Do not change anything, use the original malloc\r
- *\r
- * 2. Use the clear_malloc function instead of the original malloc.\r
- *    In this case you must use the following define:\r
- *    #define malloc((_a)) clear_malloc((_a))\r
- *\r
- * 3. Use the fill_malloc function instead of the original malloc.\r
- *    In this case you must use the following define:\r
- *    #define malloc((_a)) fill_malloc((_a))\r
- *\r
- * We have figured out that there could exist some malloc problems\r
- * where variables are using without to be initialise. To find this\r
- * places, use the fill_malloc function. With this function we want \r
- * to initialize memory to some known bad state. This is quite easily \r
- * spotted in the debugger and will trap to an invalid address. \r
- *\r
- * clear_malloc can be used if you want to set not initialise \r
- * variable to 0.\r
- *\r
- * If you do not want to change the malloc function, to not use one of\r
- * the following macros. Which is the default way.\r
- */\r
\r
-//#define malloc((_a)) clear_malloc((_a))
-//#define malloc((_a)) fill_malloc((_a))
+
+/*
+ * Now you have 3 ways for the malloc function:
+ *
+ * 1. Do not change anything, use the original malloc
+ *
+ * 2. Use the clear_malloc function instead of the original malloc.
+ *    In this case you must use the following define:
+ *    #define malloc((_a)) clear_malloc((_a))
+ *
+ * 3. Use the fill_malloc function instead of the original malloc.
+ *    In this case you must use the following define:
+ *    #define malloc((_a)) fill_malloc((_a))
+ *
+ * We have figured out that there could exist some malloc problems
+ * where variables are using without to be initialise. To find this
+ * places, use the fill_malloc function. With this function we want 
+ * to initialize memory to some known bad state. This is quite easily 
+ * spotted in the debugger and will trap to an invalid address. 
+ *
+ * clear_malloc can be used if you want to set not initialise 
+ * variable to 0.
+ *
+ * If you do not want to change the malloc function, to not use one of
+ * the following macros. Which is the default way.
+ */
+/* #define malloc(_a) clear_malloc(_a) */
+/* #define malloc(_a) fill_malloc(_a) */
 
 /* GNU extensions to the C library that may be missing on some systems */
 #ifndef HAVE_STRNDUP
@@ -112,15 +118,19 @@ extern size_t strnlen(const char *s, size_t maxlen);
 #endif /* HAVE_STRNLEN */
 
 #ifndef HAVE_USLEEP
+#ifdef _WIN32
 static __inline unsigned usleep(unsigned int usecs)
 {
-#ifdef _WIN32
        Sleep((usecs/1000));
        return 0;
+}
 #else
+#if BUILD_ECOSBOARD
+void usleep(int us);
+#else 
 #error no usleep defined for your platform
 #endif
-}
+#endif
 #endif /* HAVE_USLEEP */
 
 /* Windows specific */
@@ -130,8 +140,6 @@ static __inline unsigned usleep(unsigned int usecs)
 #include <windows.h>
 #include <time.h>
 
-#undef ERROR
-
 #if IS_MINGW == 1
 static __inline unsigned char inb(unsigned short int port)
 {
@@ -179,7 +187,7 @@ static __inline int close_socket(int sock)
 static __inline void socket_nonblock(int fd)
 {
 #ifdef _WIN32
-       long nonblock = 1;
+       unsigned long nonblock = 1;
        ioctlsocket(fd, FIONBIO, &nonblock );
 #else
        int oldopts = fcntl(fd, F_GETFL, 0);

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)