PUBLIC void UcsXml_CB_OnError(const char format[], uint16_t vargsCnt, ...) {
/*AFB_API_DEBUG (afbBindingRoot, afbIface, format, args); */
+ /*you may activite logging to stdout here
va_list args;
va_start (args, vargsCnt);
vfprintf (stderr, format, args);
- va_end(args);
+ va_end(args);*/
va_list argptr;
char outbuf[300];
/************************************************************************/
#define COMPILETIME_CHECK(cond) (void)sizeof(int[2 * !!(cond) - 1])
-#define RETURN_ASSERT(result) { UcsXml_CB_OnError("Assertion in file=%s, line=%d", 2, __FILE__, __LINE__); return result; }
+#define __FILENAME__ (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__)
+#define RETURN_ASSERT(result) { UcsXml_CB_OnError("Assertion in file=%s, line=%d", 2, __FILENAME__, __LINE__); return result; }
#define MISC_HB(value) ((uint8_t)((uint16_t)(value) >> 8))
#define MISC_LB(value) ((uint8_t)((uint16_t)(value) & (uint16_t)0xFF))
#define ROUTE_AUTO_ID_START (0x8000)
assert(NULL != priv);
return (id >= ROUTE_AUTO_ID_START && id <= priv->autoRouteId);
}
-
static const char* MUTE_OFF = "NoMuting";\r
static const char* MUTE_SIGNAL = "MuteSignal";\r
\r
-#define ASSERT_FALSE(func, par) { UcsXml_CB_OnError("Parameter error in attribute=%s value=%s, file=%s, line=%d", 4, func, par, __FILE__, __LINE__); return false; }\r
+#define __FILENAME__ (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__)\r
+#define ASSERT_FALSE(func, par) { UcsXml_CB_OnError("Parameter error in attribute=%s value=%s, file=%s, line=%d", 4, func, par, __FILENAME__, __LINE__); return false; }\r
#define CHECK_POINTER(PTR) if (NULL == PTR) { ASSERT_FALSE(PTR, "NULL pointer"); }\r
\r
static int32_t Str2Int(const char *val)\r