X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fdebug%2Fdbginfo.c;h=73f8aea43e38649485f0fc2b4bbf0c25ebb44de0;hb=87b6a945e992229095254b628b932ebd40114f0a;hp=d7eb835b859f641a3e87b8ec98ab41ed46c07c4d;hpb=9d564d6198d8a1e36a3a9c9ec9ca4d13c6acd153;p=libfirm diff --git a/ir/debug/dbginfo.c b/ir/debug/dbginfo.c index d7eb835b8..73f8aea43 100644 --- a/ir/debug/dbginfo.c +++ b/ir/debug/dbginfo.c @@ -30,6 +30,7 @@ #include "irnode_t.h" #include "type_t.h" #include "entity_t.h" +#include "error.h" merge_pair_func *__dbg_info_merge_pair = default_dbg_info_merge_pair; merge_sets_func *__dbg_info_merge_sets = default_dbg_info_merge_sets; @@ -72,8 +73,7 @@ const char *dbg_action_2_str(dbg_action a) if (a <= dbg_max) return "string conversion not implemented"; else - assert(!"Missing debug action in dbg_action_2_str()"); - return NULL; + panic("Missing debug action in dbg_action_2_str()"); } #undef CASE } @@ -127,7 +127,11 @@ void ir_set_type_debug_retrieve(retrieve_type_dbg_func func) void ir_retrieve_type_dbg_info(char *buffer, size_t buffer_size, const type_dbg_info *tdbgi) { - retrieve_type_dbg(buffer, buffer_size, tdbgi); + buffer[0] = '\0'; + if (retrieve_type_dbg) + retrieve_type_dbg(buffer, buffer_size, tdbgi); + assert(buffer_size > 0); + buffer[buffer_size-1] = '\0'; } void ir_dbg_info_snprint(char *buf, size_t bufsize, const dbg_info *dbg)