If we are to use "u32" in the code, and not "uint32_t" - (see earlier email threads) then these macros are *wrong*.
======================== #define DEFINE_PARSE_ULONG(name, type, max) \ static inline int parse_##name(const char *str, type *ul) \ { \ unsigned long n; \ int retval = parse_ulong(str, &n); \ *ul = n; \ return n > (max) ? ERROR_COMMAND_SYNTAX_ERROR : retval; \ } DEFINE_PARSE_ULONG(uint, unsigned, UINT_MAX) DEFINE_PARSE_ULONG(u32, uint32_t, UINT32_MAX) DEFINE_PARSE_ULONG(u16, uint16_t, UINT16_MAX) DEFINE_PARSE_ULONG(u8, uint8_t, UINT8_MAX) ======================== Parameter "type" should be uint, u32, u16, or u8 - Otherwise, GCC generates this error: /home/duane/ocd/openocd.head/src/jtag/tcl.c:1200: warning: passing arg 2 of `parse_u32' from incompatible pointer type -Duane. _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development