diff --git a/legacy/eina/src/include/eina_magic.h b/legacy/eina/src/include/eina_magic.h index f58f16bbfc..04bead3780 100644 --- a/legacy/eina/src/include/eina_magic.h +++ b/legacy/eina/src/include/eina_magic.h @@ -35,12 +35,17 @@ * @{ */ +typedef unsigned int Eina_Magic; EAPI int eina_magic_string_init(void); EAPI int eina_magic_string_shutdown(void); - -#ifdef EINA_MAGIC_DEBUG +/** + * @typedef Eina_Magic + * An abstract type for a magic number. + */ +EAPI const char* eina_magic_string_get(Eina_Magic magic) EINA_PURE EINA_WARN_UNUSED_RESULT; +EAPI void eina_magic_string_set(Eina_Magic magic, const char *magic_name) EINA_ARG_NONNULL(2); /** * @def EINA_MAGIC_NONE @@ -52,6 +57,8 @@ EAPI int eina_magic_string_shutdown(void); */ #define EINA_MAGIC_NONE 0x1234fedc +#ifdef EINA_MAGIC_DEBUG + /** * @def EINA_MAGIC * Declaration of a variable of type #Eina_Magic. To put in a structure @@ -106,14 +113,6 @@ EAPI int eina_magic_string_shutdown(void); */ #define EINA_MAGIC_FAIL(d, m) eina_magic_fail((void*)(d), (d) ? (d)->__magic : 0, (m), __FILE__, __FUNCTION__, __LINE__); -/** - * @typedef Eina_Magic - * An abstract type for a magic number. - */ -typedef unsigned int Eina_Magic; - -EAPI const char* eina_magic_string_get(Eina_Magic magic) EINA_PURE EINA_WARN_UNUSED_RESULT; -EAPI void eina_magic_string_set(Eina_Magic magic, const char *magic_name) EINA_ARG_NONNULL(2); EAPI void eina_magic_fail(void *d, Eina_Magic m, Eina_Magic req_m, const char *file, const char *fnc, int line) EINA_ARG_NONNULL(4, 5); @@ -123,14 +122,11 @@ EAPI void eina_magic_fail(void *d, Eina_Magic m, Eina_Magic req_m, * @cond LOCAL */ -#define EINA_MAGIC_NONE ((void) 0) #define EINA_MAGIC #define EINA_MAGIC_SET(d, m) ((void) 0) #define EINA_MAGIC_CHECK(d, m) (1) #define EINA_MAGIC_FAIL(d, m) ((void) 0) -#define eina_magic_string_get(Magic) (NULL) -#define eina_magic_string_set(Magic, Magic_Name) ((void) 0) #define eina_magic_fail(d, m, req_m, file, fnx, line) ((void) 0) /** diff --git a/legacy/eina/src/lib/eina_magic.c b/legacy/eina/src/lib/eina_magic.c index 24fda8ad10..89f26721bd 100644 --- a/legacy/eina/src/lib/eina_magic.c +++ b/legacy/eina/src/lib/eina_magic.c @@ -41,8 +41,6 @@ * @cond LOCAL */ -#ifdef EINA_MAGIC_DEBUG - typedef struct _Eina_Magic_String Eina_Magic_String; struct _Eina_Magic_String { @@ -55,8 +53,6 @@ struct _Eina_Magic_String static int _eina_magic_string_count = 0; static Eina_Inlist *strings = NULL; -#endif - /** * @endcond */ @@ -94,13 +90,9 @@ static Eina_Inlist *strings = NULL; EAPI int eina_magic_string_init(void) { -#ifdef EINA_MAGIC_DEBUG ++_eina_magic_string_count; return _eina_magic_string_count; -#else - return 1; -#endif } /** @@ -121,7 +113,6 @@ eina_magic_string_init(void) EAPI int eina_magic_string_shutdown(void) { -#ifdef EINA_MAGIC_DEBUG --_eina_magic_string_count; if (_eina_magic_string_count == 0) @@ -140,13 +131,8 @@ eina_magic_string_shutdown(void) } return _eina_magic_string_count; -#else - return 0; -#endif } -#ifdef EINA_MAGIC_DEBUG - /** * @brief Return the string associated to the given magic identifier. * @@ -208,6 +194,10 @@ eina_magic_string_set(Eina_Magic magic, const char *magic_name) strings = eina_inlist_prepend(strings, EINA_INLIST_GET(ems)); } +#ifdef eina_magic_fail +# undef eina_magic_fail +#endif + /** * @brief Display a message or abort is a magic check failed. * @@ -275,8 +265,6 @@ eina_magic_fail(void *d, Eina_Magic m, Eina_Magic req_m, const char *file, const if (getenv("EINA_ERROR_ABORT")) abort(); } -#endif - /** * @} */ diff --git a/legacy/eina/src/tests/eina_test_magic.c b/legacy/eina/src/tests/eina_test_magic.c index 34551b7da0..30d4d20610 100644 --- a/legacy/eina/src/tests/eina_test_magic.c +++ b/legacy/eina/src/tests/eina_test_magic.c @@ -65,6 +65,7 @@ START_TEST(eina_magic_simple) fail_if(eina_magic_string_get(EINA_MAGIC_TEST) == NULL); fail_if(strcmp(eina_magic_string_get(EINA_MAGIC_TEST), EINA_MAGIC_STRING) != 0); +#ifdef EINA_MAGIC_DEBUG fail_if(EINA_MAGIC_CHECK(ems, EINA_MAGIC_TEST)); EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); @@ -79,6 +80,7 @@ START_TEST(eina_magic_simple) EINA_MAGIC_SET(ems, 42424242); EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); +#endif eina_magic_string_shutdown(); }