X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/25a607b11c442099b3ef353df545d2f0c30f97d5..e40d8a3c090b9106352693e52ea61e63ecbbe93d:/src/xbt/ex.c diff --git a/src/xbt/ex.c b/src/xbt/ex.c index 7e6e63fb65..b92e0c1caa 100644 --- a/src/xbt/ex.c +++ b/src/xbt/ex.c @@ -48,7 +48,7 @@ ex_ctx_t *__xbt_ex_ctx_default(void) { /** \brief show the backtrace of the current point (lovely while debuging) */ -void xbt_display_backtrace(void) { +void xbt_backtrace_display(void) { #if defined(HAVE_EXECINFO_H) && defined(HAVE_POPEN) && defined(ADDR2LINE) xbt_ex_t e; int i; @@ -61,7 +61,7 @@ void xbt_display_backtrace(void) { e.msg=NULL; e.remote=0; - xbt_ex_free(&e); + xbt_ex_free(e); #else fprintf(stderr,"No backtrace on this arch"); #endif @@ -173,6 +173,7 @@ void xbt_ex_setup_backtrace(xbt_ex_t *e) { fgets(line_pos,1024,subpipe); line_pos[strlen(line_pos)-1]='\0'; pclose(subpipe); + free(subcmd); /* check whether the trick worked */ if (strcmp("??",line_func)) { @@ -224,7 +225,7 @@ void xbt_ex_display(xbt_ex_t *e) { fprintf(stderr," at %s:%d:%s (no backtrace available on that arch)\n", e->file,e->line,e->func); #endif - xbt_ex_free(e); + xbt_ex_free(*e); } @@ -239,23 +240,23 @@ void __xbt_ex_terminate_default(xbt_ex_t *e) { ex_ctx_cb_t __xbt_ex_ctx = &__xbt_ex_ctx_default; ex_term_cb_t __xbt_ex_terminate = &__xbt_ex_terminate_default; -void xbt_ex_free(xbt_ex_t *e) { +void xbt_ex_free(xbt_ex_t e) { int i; - if (e->msg) free(e->msg); - if (e->remote) { - free(e->procname); - free(e->file); - free(e->func); - free(e->host); + if (e.msg) free(e.msg); + if (e.remote) { + free(e.procname); + free(e.file); + free(e.func); + free(e.host); } - if (e->bt_strings) { - for (i=0; iused; i++) - free((char*)e->bt_strings[i]); - free((char **)e->bt_strings); + if (e.bt_strings) { + for (i=0; i