summaryrefslogtreecommitdiff
path: root/lib/lvgl/src/misc/lv_assert.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lvgl/src/misc/lv_assert.h')
m---------lib/lvgl0
-rw-r--r--lib/lvgl/src/misc/lv_assert.h79
2 files changed, 79 insertions, 0 deletions
diff --git a/lib/lvgl b/lib/lvgl
deleted file mode 160000
-Subproject 0732400e7b564dd0e7dc4a924619d8e19c5b23a
diff --git a/lib/lvgl/src/misc/lv_assert.h b/lib/lvgl/src/misc/lv_assert.h
new file mode 100644
index 00000000..48db7443
--- /dev/null
+++ b/lib/lvgl/src/misc/lv_assert.h
@@ -0,0 +1,79 @@
+/**
+ * @file lv_assert.h
+ *
+ */
+
+#ifndef LV_ASSERT_H
+#define LV_ASSERT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*********************
+ * INCLUDES
+ *********************/
+#include "../lv_conf_internal.h"
+#include "lv_log.h"
+#include "lv_mem.h"
+#include LV_ASSERT_HANDLER_INCLUDE
+
+/*********************
+ * DEFINES
+ *********************/
+
+/**********************
+ * TYPEDEFS
+ **********************/
+
+/**********************
+ * GLOBAL PROTOTYPES
+ **********************/
+
+/**********************
+ * MACROS
+ **********************/
+
+#define LV_ASSERT(expr) \
+ do { \
+ if(!(expr)) { \
+ LV_LOG_ERROR("Asserted at expression: %s", #expr); \
+ LV_ASSERT_HANDLER \
+ } \
+ } while(0)
+
+#define LV_ASSERT_MSG(expr, msg) \
+ do { \
+ if(!(expr)) { \
+ LV_LOG_ERROR("Asserted at expression: %s (%s)", #expr, msg); \
+ LV_ASSERT_HANDLER \
+ } \
+ } while(0)
+
+/*-----------------
+ * ASSERTS
+ *-----------------*/
+
+#if LV_USE_ASSERT_NULL
+# define LV_ASSERT_NULL(p) LV_ASSERT_MSG(p != NULL, "NULL pointer");
+#else
+# define LV_ASSERT_NULL(p)
+#endif
+
+#if LV_USE_ASSERT_MALLOC
+# define LV_ASSERT_MALLOC(p) LV_ASSERT_MSG(p != NULL, "Out of memory");
+#else
+# define LV_ASSERT_MALLOC(p)
+#endif
+
+#if LV_USE_ASSERT_MEM_INTEGRITY
+# define LV_ASSERT_MEM_INTEGRITY() LV_ASSERT_MSG(lv_mem_test() == LV_RES_OK, "Memory integrity error");
+#else
+# define LV_ASSERT_MEM_INTEGRITY()
+#endif
+
+#ifdef __cplusplus
+} /*extern "C"*/
+#endif
+
+#endif /*LV_ASSERT_H*/