Skip to content

Commit

Permalink
Remove implicit dependency on String from error_macros.h.
Browse files Browse the repository at this point in the history
  • Loading branch information
madmiraal committed Nov 6, 2019
1 parent 245c991 commit 24469d9
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 12 deletions.
10 changes: 10 additions & 0 deletions core/error_macros.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
#include "error_macros.h"

#include "core/io/logger.h"
#include "core/ustring.h"
#include "os/os.h"

bool _err_error_exists = false;
Expand All @@ -42,6 +43,11 @@ void _err_set_last_error(const char *p_err) {
OS::get_singleton()->set_last_error(p_err);
}

void _err_set_last_error(const String &p_err) {

_err_set_last_error(p_err.utf8().get_data());
}

void _err_clear_last_error() {

OS::get_singleton()->clear_last_error();
Expand Down Expand Up @@ -99,6 +105,10 @@ void _err_print_error(const char *p_function, const char *p_file, int p_line, co
}
}

void _err_print_error(const char *p_function, const char *p_file, int p_line, const String &p_error, ErrorHandlerType p_type) {
_err_print_error(p_function, p_file, p_line, p_error.utf8().get_data(), p_type);
}

void _err_print_index_error(const char *p_function, const char *p_file, int p_line, int64_t p_index, int64_t p_size, const char *p_index_str, const char *p_size_str, bool fatal) {

String fstr(fatal ? "FATAL: " : "");
Expand Down
27 changes: 15 additions & 12 deletions core/error_macros.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,10 @@ enum ErrorHandlerType {
ERR_HANDLER_SHADER,
};

class String;
typedef void (*ErrorHandlerFunc)(void *, const char *, const char *, int p_line, const char *, const char *, ErrorHandlerType p_type);
void _err_set_last_error(const char *p_err);
void _err_set_last_error(const String &p_err);
void _err_clear_last_error();

struct ErrorHandlerList {
Expand All @@ -77,6 +79,7 @@ void add_error_handler(ErrorHandlerList *p_handler);
void remove_error_handler(ErrorHandlerList *p_handler);

void _err_print_error(const char *p_function, const char *p_file, int p_line, const char *p_error, ErrorHandlerType p_type = ERR_HANDLER_ERROR);
void _err_print_error(const char *p_function, const char *p_file, int p_line, const String &p_error, ErrorHandlerType p_type = ERR_HANDLER_ERROR);
void _err_print_index_error(const char *p_function, const char *p_file, int p_line, int64_t p_index, int64_t p_size, const char *p_index_str, const char *p_size_str, bool fatal = false);

#ifndef _STR
Expand All @@ -98,10 +101,10 @@ extern bool _err_error_exists;
_err_set_last_error(m_reason); \
_err_error_exists = true; \
}
#define ERR_EXPLAIN(m_string) \
{ \
_err_set_last_error(String(m_string).utf8().get_data()); \
_err_error_exists = true; \
#define ERR_EXPLAIN(m_string) \
{ \
_err_set_last_error(m_string); \
_err_error_exists = true; \
}

#else
Expand Down Expand Up @@ -430,10 +433,10 @@ extern bool _err_error_exists;
_err_error_exists = false; \
}

#define ERR_PRINTS(m_string) \
{ \
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, String(m_string).utf8().get_data()); \
_err_error_exists = false; \
#define ERR_PRINTS(m_string) \
{ \
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, m_string); \
_err_error_exists = false; \
}

#define ERR_PRINT_ONCE(m_string) \
Expand All @@ -455,10 +458,10 @@ extern bool _err_error_exists;
_err_error_exists = false; \
}

#define WARN_PRINTS(m_string) \
{ \
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, String(m_string).utf8().get_data(), ERR_HANDLER_WARNING); \
_err_error_exists = false; \
#define WARN_PRINTS(m_string) \
{ \
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, m_string, ERR_HANDLER_WARNING); \
_err_error_exists = false; \
}

#define WARN_PRINT_ONCE(m_string) \
Expand Down

0 comments on commit 24469d9

Please sign in to comment.