From 20466940514ea20cc79145ff685cba041466ab7d Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Mon, 9 Jan 2012 23:14:04 +0000 Subject: [PATCH] magic: define and set eina_error if fails. SVN revision: 67002 --- legacy/eina/src/include/eina_magic.h | 8 ++++++++ legacy/eina/src/lib/eina_magic.c | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/legacy/eina/src/include/eina_magic.h b/legacy/eina/src/include/eina_magic.h index 44cd4e9ad8..d4909d85dc 100644 --- a/legacy/eina/src/include/eina_magic.h +++ b/legacy/eina/src/include/eina_magic.h @@ -21,6 +21,7 @@ #include "eina_config.h" #include "eina_types.h" +#include "eina_error.h" /** * @page eina_magic_example_01_page @@ -200,6 +201,13 @@ EAPI Eina_Bool eina_magic_string_static_set(Eina_Magic magic, */ #define EINA_MAGIC_NONE 0x1234fedc +/** + * @var EINA_ERROR_MAGIC_FAILED + * Error identifier corresponding to magic check failure. + */ +EAPI extern Eina_Error EINA_ERROR_MAGIC_FAILED; + + #ifdef EINA_MAGIC_DEBUG /** diff --git a/legacy/eina/src/lib/eina_magic.c b/legacy/eina/src/lib/eina_magic.c index 08e9964851..d1f71ccaf0 100644 --- a/legacy/eina/src/lib/eina_magic.c +++ b/legacy/eina/src/lib/eina_magic.c @@ -129,6 +129,10 @@ _eina_magic_strings_alloc(void) * Global * *============================================================================*/ +EAPI Eina_Error EINA_ERROR_MAGIC_FAILED = 0; + +static const char EINA_ERROR_MAGIC_FAILED_STR[] = "Magic check failed."; + /** * @internal * @brief Initialize the magic string module. @@ -150,6 +154,8 @@ eina_magic_string_init(void) EINA_LOG_ERR("Could not register log domain: eina_magic_string"); return EINA_FALSE; } + EINA_ERROR_MAGIC_FAILED = eina_error_msg_static_register( + EINA_ERROR_MAGIC_FAILED_STR); return EINA_TRUE; } @@ -271,6 +277,7 @@ eina_magic_fail(void *d, const char *fnc, int line) { + eina_error_set(EINA_ERROR_MAGIC_FAILED); if (!d) eina_log_print(EINA_LOG_DOMAIN_GLOBAL, EINA_LOG_LEVEL_CRITICAL, file, fnc, line,